0

I am searching for chef features 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.

Nitul
  • 997
  • 12
  • 35
  • 1
    Chef does not do multi-node orchestration. – StephenKing Nov 02 '17 at 07:44
  • Hi, welcome to StackOverflow. We don't allow these kinds of opinion-based questions as they don't have a single answer and so are not a good fit for our Q&A style. If you're looking for tool recommendations, try your local meetup groups, mailing lists, public Slack teams, or Twitter. – coderanger Nov 02 '17 at 17:13

2 Answers2

2

I answered this over on stackexchange and then saw this posted here so answering it here too.

You should take a look at BOSH. Its the tool that is used by CloudFoundry, its services and a distro of Kubernetes called Kubo for installation, management and "Day 2" operations.

It's basically a declarative, cloud-agnostic orchestration tool that features rolling updates, canary deployments, scaling, monitoring and self healing. It can monitor processes on VMs (i.e. services) as well as the VM themselves and will make sure that the deployment is running as you specified it to in the deployment manifest.

In order to do all of this (especially the monitoring and self-healing bits) it has a client-server architecture which is deployed with a cut-down version of BOSH itself called bosh bootloader or bbl for short. You use this to deploy the BOSH director. You talk to the bosh director by installing the bosh-cli (brew install bosh-cli on a mac).

For you deployment you would first need to create what's called a BOSH release and this can, admittedly, be a little daunting if you are not familiar with BOSH but as CF, its services and Kubo are all open source there are tons of references out there. There are also lots of pre-backed releases and stemcells (OSes).

After creating your release you upload it to your bosh director and bosh deploy. To upgrade it you upload the next version of your release and bosh deploy. To patch a security vulnerability you upload the latest blessed stemcell from bosh.io and bosh deploy. I am sure you get the picture.

If you want to go the next level then there is a good getting started guide here.

Paul Warren
  • 2,411
  • 1
  • 15
  • 22
0

Chef does not do multi-node orchestration.

Nitul
  • 997
  • 12
  • 35