Conference News & Coverage

Diamond Sponsors

  • Fotango
  • Intel
  • Microsoft

Gold Sponsors

  • Dell Inc.
  • Hewlett Packard
  • IBM
  • Mozilla Corporation

Silver Sponsors

  • ActiveState
  • Autodesk
  • Google
  • Greenplum
  • Ingres
  • Novell, Inc.
  • OpSource
  • Rearden Commerce
  • SnapLogic
  • ThoughtWorks
  • Ticketmaster

Sponsors & Exhibitors

For information on exhibition and sponsorship opportunities at the convention, contact Sharon Cordesse

For Media Partnership opportunities, please contact Avila Reese

Download the OSCON Sponsor/Exhibitor Prospectus (PDF).

Conference News

To stay abreast of Conference news and to receive email notification when registration opens, please sign up here.

Press & Media

For media-related inquiries, contact Dawn Applegate at

Program Ideas

Drop us a line at and tell us who and/or what would make OSCON a must-attend event.

User Groups & Professional Associations

For user group and professional association related inquiries, contact Marsee Henon at


Using Puppet to Manage Your Network

Luke Kanies, Founder, Reductive Labs

Track: Administration
Date: Wednesday, July 25
Time: 5:20pm - 6:05pm
Location: E145

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 we call Providers for supporting a given platform or application. You can easily select from the available providers or create your own if necessary. 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.

Thinking about the resources humans care about instead of the bits on disk that matter to the computers requires a shift in perspective, and centrally managing those resources across multiple platforms or large numbers of computers puts you further adrift from standard practice. This brave new world has its own design patterns and data flows, and Puppet has been developed around enabling, simplifying, and collaborating in this world. The Puppet community has also developed its own unique solutions to the problems faced by the use of higher-level tools.

This talk will cover the most important design patterns and data flows in the Puppet world and how these can enable you to teach your computers to do the work instead of you. Puppet is useful for more than just large-scale centralized administration, though, so we will also discuss some less common uses for it. We'll finish up with some ideas and inspirations for where we hope to go next.