Cloudify and Gigaspaces wrote a really useful slide deck titled, “Orchestration Tool Roundup – Docker Swarm vs. Kubernetes, TerraForm vs. TOSCA/Cloudify vs. Heat” dated June 11, 2015.
There’s 3 things that make the slides awesome:
- they start with a sample reference architecture of a node.js/Mongo deployment
- then they show how to manage that architecture using several orchestration tools
- and they include the scripts to do so.
So it’s really an evaluation framework for you to add new tools, or customize for your environment. 🙂
Adding Cloudformation Provisioning
To add AWS Cloudformation (CF) after Terraform, basically they’re both so simple that you can just repeat the TF slides, change “Terraform” to “Cloudformation”, except CF is AWS-specific.
Cloudformation scripts are written as JSON or YAML templates and can be executed using the AWS CLI or API or the Management Console UI, and the resulting cluster definition is called a “stack.”
Cloudformation itself is free to use, thus you only pay for the underlying AWS resources consumed. Conceptually for Chef and Puppet users, a CF template just saves you from calling the AWS API multiple times.
Reference Architecture for Orchestration Tool Discussion