Making Servers Dance to Your Tune with Puppet

 

Stephen Walsh - Australian Catholic Universtiy

 

Abstract

Puppet is a system administration framework, written entirely in Ruby and capable of scaling from managing symlinks and Subversion checkouts in your home directory up to managing networks of hundreds or thousands of machines. It reframes the management problem, talking about resources like users, hosts, and packages, instead of the contents of files like /etc/passwd and /etc/hosts. Puppet handles translating these resources to the appropriate file contents or commands, using what is called "Providers" for supporting a given platform or application. This higher-level resource layer makes the management problem drastically easier, allowing you to focus on how to configure and manage your services, rather than the intimate details of each individual application or operating system.

Puppet also provides the ability to specify the relationships between resources, so your services can automatically restart themselves if their configuration files change or their packages are upgraded, and you can have event cascades through your configurations as each resource responds to updates in its dependencies. Rather than using imperative scripts to do its work, Puppet configurations are declarative specifications that are meant to always reflect the current desired state of your network, and these configurations are checked frequently to guarantee that alignment.

Stephen will explain how to get started with the Puppet system, including basic layout of Configuration files, adding and expanding on the configuration level, as well as demonstrating how you would use Puppet in both a deployment scenario as well as deploying a patch set to a running web server.

Bio

Stephen is a Red Hat Certified Engineer in the Systems Team of the Infrastructure Services Group at ACU, and is responsible for the Web and Linux systems of the University.

As well as the day to day administration of the Linux systems, Stephen is also responsible for ACU's Xen virtualisation environment, which is used for everything from Web Development systems right through to researching new technologies, as well as providing a rapid R&D platform for testing new web platforms and emerging technologies.

Outside of ACU, he is Vice-President of Linux Australia, a peak body for Linux User Groups though out Australia as well as a member of their Systems Administration team, and was the Networks and Technology Manager for Linux Australia's 2008 Annual Conference, linux.conf.au, the largest open-source related conference in the Southern Hemisphere.

When not spending far too much time infront of a computer, Stephen enjoys getting outdoors, riding his mountain bike, hiking or reminding his wife what he looks like.