What are the right questions to ask when deciding whether to use Chef or Puppet?

Posted by John Feminella on Server Fault See other posts from Server Fault or by John Feminella
Published on 2011-02-06T13:23:11Z Indexed on 2011/02/06 15:27 UTC
Read the original article Hit count: 154

I am about to start a new project which will, in part, require deploying many identical nodes of approximately three different classes:

  • Data nodes, which will run sharded instances of MongoDB.
  • Application nodes, which will run instances of a Ruby on Rails application and an older ASP.NET MVC application.
  • Processing nodes, which will run jobs requested by the application nodes.

ALl the nodes will run on instances of Ubuntu 10.04, though they will have different packages installed.

I have some familiarity with Chef from previous projects, though I don't consider myself an expert. In an effort to do due diligence, I have been investigating alternative possibilities. We have a number of folks in-house who are long-time Puppet users, and they have encouraged me to take a look.

I am having trouble evaluating both choices, though. Chef and Puppet share many of the same domain terminology -- packages, resources, attributes, and so on, and they have a common history that stems from taking different approaches to the same problem. So in some sense they are very similar. But much of the comparison information I've found, like this article, is a little outdated.

If you were starting this project today, what questions would you ask yourself to decide whether you should use Chef or Puppet for configuration management? (Note: I don't want answer to the question "Should I use Chef or Puppet?")

© Server Fault or respective owner

Related posts about puppet

Related posts about configuration-management