I am looking for best tool that, does below jobs for deployment.
Configuration:
1) Configuration of deployment node machines in specific environment
2) Configure no of service instances to be alive in environment at all time
Deployment:
Now, Just doing above configuration. When I trigger deployment of N services. It will randomly pick up nodes from deployment environments and will start total N services.
Multiple Services:
If I have 2 nodes and I want to bring up 4 services, it should bring up 2 services on each node.
Service Failure recovery:
If any machine goes down or any service goes down in any node. It will bring up a new service in any of environment node.
Scenario to handle:
Choosing nodes at random used in distributed system with system discovery/failure.
1) Service deployment :
I required 2 services of calculator, and other services as well. And I have total 4 machines. Now 2 calculator services will be deployed in any node.
2) Service discovery/failure:
These 2 calculator services will be registered with service registry. Now my application will query to service registry, and service registry will provide node details with service running. Same in failure case, service will be started in any node, and discovered by application through service registry.