Admin task automation with Puppet

Share:  facebook  twitter  reddit  digg  stumble  

Normally for admin task automation, you can put any script or program into the crontab, so the the friendly chronological daemon can run it on schedule for you. This method works for nearly ever nix flavour, so negates the need for third party automation software. However some admin programs do exist, like Puppet.

Puppet is a system for automating system administration tasks. It claims that it can save countless hours of frustration, of course a few minutes of reading industry procedural standards online can do that.

Puppet Logo

Puppet Logo

Puppet lets you perform normal administrative tasks (such as adding users, installing packages, and updating server configurations) on any number of systems, even if those systems are running completely different operating systems. Through the use of providers, Puppet takes a generic instruction from you (such as ensuring MySQL is installed) and performs the task the “right way” for each system.

New providers and new functionality are being added to Puppet all the time, and since Puppet's providers are written entirely in Ruby, many developers already have a head start in writing their own custom extensions — and because it's Open Source, developers from around the world can contribute their solutions back to the project, making everyone's existing solutions better.

Puppet is a declarative language for expressing system configuration, a client and server for distributing it, and a library for realizing the configuration.

Rather than approaching server management by automating current techniques, Puppet reframes the problem by providing a language to express the relationships between servers, the services they provide, and the primitive objects that compose those services. Rather than handling the detail of how to achieve a certain configuration or provide a given service, Puppet users can simply express their desired configuration using the abstractions they're used to handling, like service and node, and Puppet is responsible for either achieving the configuration or providing the user enough information to fix any encountered problems.

DateJuly 18, 2009