Portable
               Infrastructu
                  re with
                  Puppet

         Luke Kanies
   Founder of Puppet project
Founder and CEO of Puppet Labs
The state of
  Puppet
Puppet is stable
Puppet is
    changing quickly
•   Still plenty of features to add
•   Every day we learn, and every lesson brings a
    refactoring
•   Maturity brings its own design requirements
•   Connectiveness is a larger priority
Puppet is
            Pervasive
 Web           Entertainment   Technology




Financial
                                Defense
I promised some
 things last year
Puppet Camp
 2009 Promises
•1.0
•WebGUI
•Modules
Rowlf is imminent
0.2
0
0.2
1.0
0
1.0
2.6
Lots of
refactoring, and a
  lot of features
Pure Ruby DSL
Class Parameters
Finished migration
      to REST
Still working on publishing all of the
          formats and URLs
The single
     executable shift
puppetmasterd   puppet master


  puppetd        puppet agent

  puppetca        puppet cert

    ralsh       puppet resource


 puppetdoc        puppet doc
More informative
    reports




   Heavily trimmed
Exposing types
  and classes
Faster in many
          ways

•   Compiles are much faster
•   File serving is streamed (thanks Brice!)
•   Lots of small improvements
Relationship
   syntax
Hashes
Taught us a lot
about how (not) to
     release
“Web GUI”
Dashboard is
growing and
 prospering
Node classification
Reporting
Lots to come

•   Automatically detect optional and required
    parameters
•   Catalog and report correlation
•   Discovery
•   Harass Rein for more information!
Let’s go Back
Why does Puppet
     exist?
Embarrassment
Fear
A simple dream:

 That sysadmins
could reuse code
Enable focus on
    the value-add
Usually




Ideally



          0   25.0      50.0      75.0   100.0


              Things you have to do
              Things you want to do
The Problem




                 }
                     •   No standardization
     Every           •   75% of IT budgets spent
infrastructure           to maintain existing
                         systems
  starts from
                     •   Code changes with the
    scratch              sysadmin
We needed a
 high-level
language for
Shell scripts are
           assembly code
                        Programmin
                                      SysAdmin
                             g

  Low-level,
     non-                Assembly    perl/shell/etc
   portable,
  single-use
   Abstract,
   portable,                C*          Puppet
   reusable

* For small values of
abstract
So: The ultimate
 goal was code
     reuse
We’ve built a
platform that can
  enable reuse
Now we just need
 to start sharing
Announcing:
     Puppet Forge



       http://forge.puppetlabs.com
http://projects.puppetlabs.com/projects/
               module-site
Share the modules
  you’ve created
Find modules
 others have
Client-side tools
Extension
metadata is
Minimum Viable
 Product (MVP)
It’s all about code
        reuse
Westheimer's Discovery:

       A couple of months
     in the laboratory can
           frequently save
Luke’s Corollary:

       A couple of months
       of development can
frequently save a couple of
     hours on the internet.
Collaborate on
existing code
 rather than
Or, start again and
      publish
A new forcing
 function in
Because there’s
 now a place for
all that metadata:
• Classes,   definitions, nodes, etc.
• Required   and optional parameters
• Versions

• Dependencies
Drives further
introspection
  in Puppet
We can add:

• Portability
            information - ‘confine’
 in classes and modules
• Incompatibilities

• “Tested   on” information
• Etc.
Pushes Dashboard
   to manage
    modules
Package-like
behaviour in the
   modules
Fills out the
product portfolio
               •The industry-leading open source automation platform
  Puppet       •Supported with subscription




  Puppet       •A graphical view into your Puppet infrastructure
               •A simplified interface for many configuration actions
 Dashboard


               •Collaborate with other IT administrators on Puppet content
Puppet Forge   •Access Puppet Labs supported modules
Any
Question

Portable infrastructure with puppet

Editor's Notes

  • #34 The management layer has not yet been commoditized
  • #36 * The assembly programmers fought the adoption of C * Fear for your career if you’re a bit too fond of assembly * It’s not about fewer people, it’s about higher quality and productivity * Are there more or fewer programmers today than in the days of assembly?