Comparison 3 major solution : • Puppet • Chef • Cfengine Pretty similar possibilities. Some specificities.
Comparison Puppet Chef Cfengine Pull Yes Yes Yes Push No No No Idempotence Yes Yes Yes Config language Declarative Ruby Declarative Web UI Yes (limited) Yes No OS Support Linux/Unix – Linux/Unix – Linux Linux/Unix – Windows Windows Windows (experimental) (experimental) (experimental) Licence GPL v2 Apache GPL Company Puppet Labs OpsCode Cfengine Cloud Yes SaaS platform Yes
Chef Chef Server is in fact several processes.•API Service Used to interact with server for node configuration.•Management Console WebUI which permits to do administrative tasks.
Chef• File indexer Apache SOLR, a search engine.• Data store (CouchDB) Used for store roles, nodes and data bag JSON data. Sends it to SOLR, through AQMP queue.•AQMP Server Used by CouchDB as queue.
Chef Recipes Like in Cooking, one of the more interesting thing is to share our cookbooks and recipes. http://community.opscode.com/cookbooks
Chef Ohai and templates A tree of node facts, which can be used as attributes. The same kind of customization as Puppet with Facter.
Chef Administration•Knife or Management Console•CLI or Web UI•Two powerful tools
Chef vs Puppet Chef Advantages • Cookbooks sharing • Stricter configuration rules • Ruby • Useful WebUI Disadvantages • A bit more complex • More setup needed • Usable in production, but still young
Cfengine•With Cfengine, you have to do configure everything. From the promises, to the host authorized, or the failsafe procedure.
Cfengine vs Puppet vs Chef Cfengine is powerful. But... • Painful configuration • Have fun with log (excessively verbose... Or not.) • Seems outdated compared to Puppet and Chef Keep in mind that you have as much possibilities as Puppet & Chef. But the time you pass configuring and master it is incomparable.