We’re looking at Nomad as a potential tool to control our service distribution over multiple nodes.
The services are part of a large “legacy” application and implemented as independent windows processes which communicates with each other using plain TCP.
Part of the challenge we have is how to handle process failure which may need to trigger a restart of dependent services. While in an ideal world, the dependent services would be resilient for failure of the services they depend on, in our case this is not easy to accomplish, hence we look for a mechanism which would take care of it.
Currently we are solving this problem through the use of Veritas Cluster, which support graph dependencies between the different services it manages and can manage a coordinated restart of an entire dependency path in that graph.
While the recent introduction of task dependencies is a step forward it is not comprehensive enough to address more complex dependencies that goes beyond startup time.
Could be nice if dependencies were also supported in the restart stanza and could support a graph of dependencies.
I wonder whether this is a unique request or others may share similar problems when trying to modernize older applications.