sharing my effort here 
ANSIBLE VS CHEF for SPEDI
- Price comparison
- Technical Impact
- Ease of Use
- Integrations
- Market Analysis
Ansible: Premium Tower 14000/Year (Up to 100 nodes)
24x7 Phone & Web Support
8hr response non-critical issues
2hr response critical issues
Maintenance & Upgrades
Support for Ansible core
Enterprise Features
pros:
- SSH-based, so it doesn’t require installing any agents on remote nodes.
- Easy learning curve thanks to the use of YAML.
- Playbook structure is simple and clearly structured.
- Has a variable registration feature that enables tasks to register variables for later tasks
- Much more streamlined code base than some other tools
cons:
- Less powerful than tools based in other programming languages.
- Does its logic through its DSL, which means checking in on the documentation frequently until you learn it
- Variable registration is required for even basic functionality, which can make easier tasks more complicated
- Introspection is poor. Difficult to see the values of variables within the playbooks
- No consistency between formats of input, output, and config files
- Struggles with performance speed at times. (https://www.slideshare.net/JesseKeating/ansiblefest-rax)
- No Notion of State
Unlike comparable automation tools like Puppet, Ansible has no notion of state. Since it doesn’t keep track of dependencies, the tool simply executes a sequential series of tasks, stopping when it finishes, fails or encounters an error. For some, this simplistic mode of automation is desirable; however, many prefer their automation tool to maintain an extensive catalog for ordering (à la Puppet), allowing them to reach a defined state regardless of any variance in environmental conditions.
- using SSH and ControlMaster can be unreliable transports. On certain platforms, like Ubuntu, are unusable because the SSH daemon will randomly exit with exit status 0 and cause random tasks to fail (example).
When you manage an entire platform with Ansible, owning and configuring the machines, then being agentless doesn’t really matter. As long as the agent is easy to install, it’s trivial to install one either embedded in the launched image or by just using Ansible to download a binary and start it.
- How would Ansible handle ephermeral IPs and names of hosts, which are created as a result of automatically creating them uusing Terraforms, or AWS APIs ?
something like ./ec2.py --host ec2-12-12-12-12.compute-1.amazonaws.com
In addition to Cobbler and EC2, inventory scripts are also available for:
BSD Jails
DigitalOcean
Google Compute Engine
Linode
OpenShift
OpenStack Nova
Ovirt
SpaceWalk
Vagrant (not to be confused with the provisioner in vagrant, which is preferred)
Zabbix
-
Workflow is :
- Create a playbook
- Push
- Pray to God
What about testing it first, to get the desired results ?
- Performance testing ?
- Load Testing
- How to handle errors
- Seem to need sudo , or root access on EVERY node
-
CHEF:
$137node/annual , for Chef Automate
Premium + Delivery: $127 per node (annual)
Chef Client, Server, and ChefDK
Chef Delivery(5 users/1,000 nodes purchased)
Chef Compliance
Management Console
Analytics
High Availability
24x7 Support
Other options:
Fabric is a Python-based tool for streamlining SSH in application deployments. Its primary usage is for running tasks across multiple remote systems, but it can also be extended with plugins to provide more advanced functionality. Fabric will configure your system, do system/server administration, and automate the deployment of your app.