I am currently working on some legacy code. It is comprised of several independent applications nicknamed "pods" (no relations to podman). This application is located "out of reach" at a customers desktop.
The idea behind the application is that some type of service manager spins-up pods to perform certain tasks, depending on certain conditions. So, basically, there can be one or several of these pods running in parallel. Currently, the instantiation of the pods is handles by a service manager developed in-house, which also instantiates watchdog process to monitor and recover the adjacent pods.
This kind of feels like reinventing the wheel, however. I'm looking for some ideas of how to automate/orchestrate this service manager using some ready-made program.
Kind of like kubernetes or az service fabric but for a local desktop computer.
Reasons for wanting to change:
- Current approach is very error prone
- A refactoring effort for this service manager are going to start, except there is a ready-made product out there
Responsibilities of this service manager are:
- Spinning up pods based on some internal triggers
- Monitoring pods and performing some kind of health checks
- Recovering or re-instantiating pods, in the case they fail
Sought characteristics for the service manager:
- Lightweight
- Addressable through code via some kind of API
- Cross-platform
Is this even a sensible battleground? Are there any idea of approaches I could take?