Technology keeps on getting bigger and bigger, which has a profound effect on many organizations. In the past, companies could make do with a few physical servers in a data center within their building. Now, thanks largely to cloud computing, organizations have far more servers that need to be managed. Sometimes, these servers could even be dotted throughout the world.

The question is, how do you maintain and manage all of these servers and remote data centers? Well, step forward configuration management tools such as Puppet, Chef, and Ansible. These tools make it easier for companies to configure and maintain handfuls of servers all at one time. Now, what we’re keen to figure out is which of these tools is the best? So, we’ve compared the three against each other to see who comes out on top:

Users & Developers

To start off, which of these tools is the most widely used? While Chef and Ansible have adequate user bases, it’s Puppet that’s the clear winner here. There are far more people that use this tool, which also causes there to be far more developers for the software too. As a consequence, there are loads more third-party additions and support systems in place for Puppet too.


Finding a good configuration management tool involves looking at what platforms the tool supports. Again, Chef supports a respectable amount of platforms, including the most common ones, as does Ansible. However, Puppet supports so many different platforms, including older operating systems as well as the most modern ones. This allows any organization to use this tool to configure and automate their server infrastructure.

User Interface

The UI is another important feature to look for in these tools. Ideally, you want something that’s easy to use and allows you a high degree of control. Once again, Puppet comes out on top here. Its web UI is easily the most well-rounded and complete of all the tools. You can control managed nodes in real-time, and there are easy-to-use reporting tools that allow you to keep an eye on everything and see how things are going on. If any changes occur, you’ll see them in real-time on the UI.


Nothing in life is ever going to be 100% straightforward. Even configuration management tools like these will spring up problems from time to time. When any problems happen, you want to be in the best place to deal with them swiftly, so that they don’t damage your organization. So, you need to use a tool with plenty of resources available to help solve any common problems. Both Ansible and Chef have very little going for them in the resources department. Puppet, on the other hand, has a huge catalog of resources from a wiki that’s contributed to by users. Consequently, there are solutions to almost every Puppet problem on the planet.

In conclusion, it's clear that Puppet is simply the most well-rounded tool out of the three. The user interface is clear and easy to use, there are loads of helpful resources, and it’s used by so many people which means there are much better development options too.

Originally published , updated March 15 2018

Topic: DevOps