Puppet helps automating repetitive tasks in a reliable manner across *nix operating systems. Puppet is one of the great DevOps programs for managing multiple servers.

  • Declarative language instead of error prone shell scripts
  • State the final state, puppet takes care of the rest
  • File/package/service can do a lot
  • As complex as your infrastructure
  • Puppet master doesn’t always have to be online

Puppet models everything as data: the node’s current state, the desired end state, and the actions needed to move from one to the other. Puppet applies operations based on the operating system ‘facts’, so systems engineers don’t have to write os-specific commands. Modular structure makes it easy to reuse modules. Puppet forge comes with lots of useful carefully written modules that are generally useful for managing pacakages.