As the two leading IT automation platforms by market share, Chef and Puppet have been compared against each other extensively—for UpGuard’s recent take, please see Puppet vs. Chef Revisited. In this comparison, we’ll instead approach matters a little differently by comparing and contrasting Hosted Chef—the SaaS version of the product—with the full-fledged, flagship Puppet Enterprise offering.
Puppet and Chef have both evolved significantly since we covered them last—suffice to say, we’re long overdue in revisiting these two heavy-hitters. In this article we’ll take a fresh look at their core components along with new integrations and expansions that continue to position them as leading enterprise IT automation platforms.
In a few short years DevOps has gone from a fringe movement to a must-have for any IT leader. There's a lot of buzz around it, but there's alot of practical knowledge in there as well. Provisioning environments, deploying applications, maintaining infrastructures--these are all critical yet delicate tasks traditionally done by hand. What if we could get a machine to do all that stuff for us, not just saving hours of work but also removing the element of human error?
Chef is one of the most widely-used CM tools today, arguably playing second fiddle to the mighty Puppet. The tool is written in Ruby and Erlang, uses a pure-Ruby DSL in the Knife CLI, and includes a nice GUI for easy management. Developers and DevOps types will prefer using Chef, much more so than sysadmins.
This is a tale of a newcomer vs a relative oldie in the Configuration Management (CM) arena. Both are tools to help the sysadmin or devops professional to better manage large numbers of servers. They excel at stuff like repetitive task automation, simultaneous deployment of apps and packages to a group of servers, or configuration and provisioning of new servers from scratch.
Opsworks and Chef are very similar Configuration Management (CM) tools. Opsworks is actually built on the Chef framework, then customized for Amazon’s giant cloud environment AWS. Hosted Chef is an IaaS solution from Chef parent company Opscode, in which they host the Chef server for you, and it in turn manages and communicates with your nodes, which are most likely also hosted in a cloud infrastructure such as Amazon’s EC2 infrastructure. So both solutions are evolutions of the traditional CM tool, now tweaked for cloud-hosted environments. Let’s peek behind their respective curtains.
There has recently been a huge growth in the number of Configuration Management (CM) tools available to the sysadmin or DevOps professional. Well, ‘huge growth’ really means an increase from just 2 or 3 in the early 2000’s (CFEngine comes to mind as one of those early pioneers), to about 20 today. Many of these are little-known niche products, but some bigger names like Chef have passionate adherents, and equally passionate detractors.
Configuration management (CM) and Remote Execution tools are fast becoming the tools of choice for many a sysadmin or devops pro. If you consider that the point of computing is to make our data management easier, then CM tools make are the next level of that logic – they make it easier to manage the large groups of servers that make it easier to manage our data. CM tools are great for all sorts of routine activities in the data center: automation of scripts on a number of servers, remote execution and deployment, provisioning and installing the same software on a bunch of new servers, and so on. CM tools will enable you to execute stuff like: “I have this command I want to run across 100 servers. I want the command to run on all of them within a five second window.
So, Puppet or Chef? A question of configuration automation & provisioning that has started more than one flame war in its time. Whilst perhaps not helpful for those charged with implementing an automation solution for their business the most appropriate answer really is "It depends." Many have argued that (considering the alternative) using either is fine. Just get started! There are differences though, both with the technologies and the companies behind them, that an understanding of both may make your choice a little easier. * check out Puppet vs. Chef Revisited for an updated comparison.