Server environments can often be challenging to run. Sometimes processes silently die. Other times old versions of processes are left running. And worst of all, is when a malicious process is running creating a security vulnerability or allowing a crypto mining to occur. In these situations, debugging the issue can be tricky. For example, an engineer might wonder - “Why is there no data in this report? The report server is running correctly.” Eventually they will discover that the data loading process quietly died.
Another important use case is for companies that offer a flexible platform and a free trial. In these situations customers have the ability to install third party applications. How do they give their customers the ability and flexibility to run lots of applications, but also have boundaries in place to prevent abuse of the platform? This problem has come into focus most recently because of the rise of cryptocurrency mining.
Processes that are running, but shouldn’t are going undetected driving up compute costs, creating potential reliability issues and even security vulnerabilities. Conversely, organizations also have the issue of processes that should be running but have stalled or crashed and are also going undetected. Missing processes can be tricky to diagnose, increasing the time and effort required to identify and resolve incidents.
So how do you prevent this? Kubernetes is good at handling this type of problem, unless you are giving your customers the flexibility to run their own applications. Teams running virtual machines and hybrid VM/container environments don’t have a universal way to configure this detection and create uniform rules about what processes should and should not be running. In these situations, Shoreline is a powerful tool for managing these types of problems.
Dead processes can be particularly challenging with web servers, application servers and log pushers.
In all three of these cases and many more, Shoreline can help proactively identify and restart these services.