its own DSL • You define the desired states (What does it look like) • Puppet will do the rest (How should it be done) • Used by Wikimedia, Rackspace, Zynga, Github, Google, Oracle...
Require • Notify / Subscribe • Chaining Ex: Package -> File ~> Service • Autorequire • Puppet is smart enough so solve some dependencies for you. Ex: file and parent folder, user and ssh-key • Stage
number (Free < 10 nodes) Node number detect from cert sign • Whole package installer • Web GUI • Support • https://puppetlabs.com/puppet/enterprise-vs-open- source/ • https://puppetlabs.com/puppet/whats-new/
test - rspec-puppet http://rspec-puppet.com/ • Multiple OS test - Puppet Playground https://github.com/example42/puppet-playground • Fizzgig - Fast puppet unit tests https://github.com/philandstuff/fizzgig
Chef ◦ http://docs.opscode.com/just_enough_ruby_for_chef.html • Chef 10 => 11 Server ◦ Released at 2013 Feb. Rewrite of the core API server in Erlang, which call Erchef. Migrated the WebUI from merb to Rails 3.
Free • Install Chef Server ◦ Ubuntu (deb) ◦ Enterprise Linux (rpm) • AWS OpsWorks Richard Lee - Polydice, Inc. Does OpsWorks Work? ◦ https://speakerdeck.com/dlackty/does-opsworks-work
chef-solo is a limited-functionality version • chef-solo + capistrano ◦ https://github.com/doitian/chef-solo-repo http://docs.opscode.com/chef_solo.html
cookbooks • foodcritic ◦ Lint tool • test-kitchen ◦ Framework for running integration tests in an isolated environment • minitest-chef-handler ◦ Run minitest after your Chef recipes to check the system status
DSL Ruby File Server Puppet File Server No Encrypted Data Bag No (*hiera-gpg) Yes Community Puppet Forge Opscode Community Dependencie s Yes No (Code Order) Commercial License / Per Node Hosted Service * http://www.craigdunn.org/2011/10/secret-variables-in-puppet-with-hiera-and-gpg/