Why Ansible Suits Us Better Than Chef

I'd used Chef for years and invested lots of time automating our server provisioning, but that was about to change...

When I first came across Ansible, I was sceptical. Do I need to retool at this stage? What were the benefits? Is this new-fangled?

All those concerns went into the wastebin, and I'm happy to report that I've been using Ansible for some time now and probably wouldn't switch back.

It's not that there is anything deficient about Chef; in fact, I still think it is excellent, but for ease of use and peace of mind, Ansible is now my go-to server provisioning framework - I even use it to install Minecraft on my son's Raspberry Pi!

Here are some of the reasons why I'd encourage any Devop to try Ansible:

1) Ansible is agentless

This means server nodes don't need any software installed to be managed; they can be bare server nodes. On the other hand, Chef uses a server-based agent that runs on each server node, which must have access to the server provisioning server. This means that, unlike Ansible, Chef server nodes cannot be installed on "fresh" server nodes - they must be pre-configured with the Chef server software.

Ansible can be run remotely on a server provisioning server or locally on the server nodes. This makes it very versatile and easy to use.

2) Ansible configuration uses YAML

This makes them more accessible than Chef to read and edit for server provisioning purposes.

3) Ansible playbooks run in parallel

This is a great time-saver when provisioning multiple server nodes. Chef recipes can only be run sequentially.

4) Ansible is platform agnostic

It can provision server nodes on Linux, Mac or Windows operating systems. Chef is only really suitable for provisioning Linux server nodes.

5) Ansible has a large and active user base

This means that a lot of help and support is available online if needed. Chef has a smaller user base, which can make finding help more difficult.

6) Ansible is open source and free to use

Chef is not open source, making it complicated for server provisioning.

7) Ansible is easy to set up

All you need to get started is an Ansible server provisioning server and Ansible installed on your workstation. Chef requires a lot more set-up, including installing a server provisioning server and a server node agent on each server node.

8) Ansible is free from learning curves

It is easy to learn and use, even for server provisioning beginners. Chef can be much more challenging to learn and use, especially for server provisioning beginners.

9) Ansible is well-supported by the community

There is a lot of help available online if you need it. Chef is not as well supported by the community, making server provisioning issues take longer to resolve.

10) Ansible has a growing number of modules

This means that it can be used to manage a wide range of server nodes. Chef has fewer modules, making server provisioning more time-consuming, as you may have to create it from scratch.

11) Ansible is easy to automate

Ansible can be integrated easily with other server-provisioning server software. Chef requires more server provisioning server software integration to automate server provisioning tasks.

Ansible fanboy, 100% official.

Okay, so there was a bonus for the creative tech types. Please give Ansible a try when you have an hour to spare - it can be tested with Vagrant for speed, and I promise you won't be disappointed.

a web designers face on a laptop screen

Schedule a free call -we'd love to talk about your web design project

We'll talk for around 10 minutes on phone or video about what you're looking to do. Free, no sales.

Leed's web design - transform your business

We help you imagine, create, market and evolve an effective digital presence for your business or brand. Leveraging creative technology to deliver high performance, cost effective digital marketing and design.

Leeds Local Business: Exploring ideas together