[RESOLVED] Chef VS Ansible

I am conducting a comparison between Chef and Ansible, so if anyone has related info, please post it here.

Following is an Excerpt from my report.

  1. Price comparison
  2. Technical Impact
    • Supported platforms
  3. Ease of Use
  4. Integrations
  5. 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
Thanks

I bet Google would help in finding some of those answers. Otherwise asking people to do what is pretty clearly commercial work for you (without pay) is kind of rude. If there are specific answers you are struggling to find that would be different, but you don’t appear to have put in any effort from that blank list.

sharing my effort here :slight_smile:

ANSIBLE VS CHEF for SPEDI

  1. Price comparison
  2. Technical Impact
    • Supported platforms
  3. Ease of Use
  4. Integrations
  5. 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:

  1. SSH-based, so it doesn’t require installing any agents on remote nodes.
  2. Easy learning curve thanks to the use of YAML.
  3. Playbook structure is simple and clearly structured.
  4. Has a variable registration feature that enables tasks to register variables for later tasks
  5. Much more streamlined code base than some other tools

cons:

  1. Less powerful than tools based in other programming languages.
  2. Does its logic through its DSL, which means checking in on the documentation frequently until you learn it
  3. Variable registration is required for even basic functionality, which can make easier tasks more complicated
  4. Introspection is poor. Difficult to see the values of variables within the playbooks
  5. No consistency between formats of input, output, and config files
  6. Struggles with performance speed at times. (https://www.slideshare.net/JesseKeating/ansiblefest-rax)
  7. 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.

  1. 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.

  1. 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

  1. 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.

Nicely differentiate but reading this article once helps more.
Any way google is mighty :slight_smile: