Chris Spence
                       @tophlammiepie
                       IRC: fiddyspence
                   cspence@puppetlabs.com



Friday, March 22, 13
Friday, March 22, 13
State of Puppet




Friday, March 22, 13
Puppet Labs: by the numbers
                                Jan 2012    March 2013




           Employees            55          120




           Customer Countries   29          42



                                836 m2      2,232 m2
           Office Space
                                9,000 ft2   25,000 ft2




Friday, March 22, 13
Puppet Labs: A Great Place to Work!



Weekly Company Lunch




                          Awesome Espresso & Tea




                          Photos by Gary Larizza
Friday, March 22, 13
We’re Hiring!




Friday, March 22, 13
Who uses Puppet?




Friday, March 22, 13
Strong Community (Jan 2013)
                 Forum               Members   Messages

                 puppet-users list   5255      1029

                 puppet-dev list     952       127

                 ask.puppetlabs.com 205        383

                 #puppet             938

                 Redmine             3839

                 Repository          Forks     Watchers

                 Puppet              466       1145

                 MCollective         149       103



Friday, March 22, 13
How can you take part in the
     Puppet Community?
     • Help with documentation
     • Ask/Answer questions
        • http://ask.puppetlabs.com
        • mailing lists
        • IRC
     • Help with bug triage
     • Contribute code
     • Contribute modules on the Forge
     • Visit https://puppetlabs.com/community to learn
          more


Friday, March 22, 13
AUGUST 22 - 23




                       PuppetConf.com
Friday, March 22, 13
Puppet?


Friday, March 22, 13
Puppet is not ...
     DIY System Management




Friday, March 22, 13
System Management: The Puppet
     Way




Friday, March 22, 13
Defining a Desired State




Friday, March 22, 13
Maintaining Desired State

     • Provision a Node
     • Describe how it should look
     • Let Puppet manage it




Friday, March 22, 13
Puppet
                       Enterprise?

Friday, March 22, 13
Puppet Enterprise
                       GUI             Cloud Provisioning




                       Orchestration   Compliance




                                       Services &
                       Packaging
                                        Support




Friday, March 22, 13
GUI for Puppet



                              Time-based
                               display for
                            insight into rate
                               of change
      High level
      status for
        nodes
                       Detailed node
                          status to
                          pinpoint
                       specific issues



Friday, March 22, 13
PE Live Management


                          Choose nodes to
                          clone to ensure
                            consistency




       Browse for             Preview the
        managed                  impact
     nodes in your             before you
     infrastructure           clone nodes




Friday, March 22, 13
VM/Cloud Provisioning


          1. Create VM node capacity
             using VMware vSphere or AWS


          2. Automatically install
             the Puppet Agent on new nodes


          3. Configure nodes
            using existing definitions
                                                          VMware vSphere or AWS



                       Respond quickly to business demands while maintaining
                           configuration consistency across environments


Friday, March 22, 13
PE Compliance

     • Establish baseline
          of desired state

     • Visualize changes
          to desired baseline

     • Accept or reject
          changes to baseline




Friday, March 22, 13
Recent Features

     • Certificate Signing from the GUI
     • Authentication with LDAP and Google Apps




Friday, March 22, 13
Resources for Success




Friday, March 22, 13
Puppet Happenings



Friday, March 22, 13
Friday, March 22, 13
Puppet 3 Developments

     •    Removal of dynamic scoping
     •    Extensions loaded from gems
     •    Full Ruby 1.9.3 support
     •    Pluginsync by default
     •    Data Separation with data binding
     •    Performance improvements
     •    Better version numbers
     •    More platform support
     •    Code loading improvements
     •    Even more documentation


Friday, March 22, 13
Scope

          # dynamic scoping is gone

          class parent {
            $var = "from parent"
            include included
          }

          class included {
            notify { $var: } ## NOT GONNA WORK
            notify { $parent::var: } ## YUP
          }




Friday, March 22, 13
Data Binding

          class ntp($server = hiera(ntp_server,
                 ‘time.apple.com’)) {
             ...
          }

          # can be changed to
          class ntp($ntpserver = ‘time.apple.com’) {
             ...
          }




Friday, March 22, 13
Performance
     Gains




Friday, March 22, 13
Friday, March 22, 13
Puppet 3 moving on from 2.7
      2.7.0 Release




  3.1.0 Release
                       3.0.0 Release
Friday, March 22, 13
API Documentation!




Friday, March 22, 13
Transparency in plans




Friday, March 22, 13
Forge Happenings



Friday, March 22, 13
The Puppet Module Forge

     •    Repository of modules
     •    Written by the community
     •    Written for the community
     •    Identify the best ones out there
     •    Great place to contribute your own modules




Friday, March 22, 13
By the Numbers
                             Jan 2012   March 2013




           Modules           260        925




           Users             930        2100+




           Daily Downloads   500        2200




Friday, March 22, 13
What changed?

     • Dedicated team
     • Show download counts
     • More visible documentation




Friday, March 22, 13
MCollective
                       Happenings


Friday, March 22, 13
The Marionette Collective

     •    Framework to build server orchestration
     •    Parallel job execution
     •    Real-time discovery of resources
     •    Target only the systems you want




Friday, March 22, 13
Continuous Release

     • Agents in packages, real packages
     • MCO does it, so you can make them too
     • Continuously built, continuously released




Friday, March 22, 13
Usability

     •    Better docs
     •    More Complete applications
     •    Out of the box usability
     •    But still the framework it always was
     •    Full integration into puppet training




Friday, March 22, 13
PuppetDB
                       Happenings


Friday, March 22, 13
PuppetDB

     • Central storage for catalogs and facts that are part of
          your puppet infrastructure
     •    Incredibly fast replacement for existing
          ActiveRecord storeconfigs
     •    Easily deployed via a puppet module from the Forge




Friday, March 22, 13
Better Query, More Storage

     • PuppetDB 1.1 released
     • Enhanced Query API for
          facts, subqueries, regular
          expressions
     •    Report Storage
     •    Report Query in an
          experimental API




Friday, March 22, 13
Razor Happenings



Friday, March 22, 13
Razor Provisioning

     • Rules-based provisioning for bare metal hardware
          and virtual servers
     •    Developed in cooperation with EMC
     •    Easily deployed via a puppet module from the Forge
     •    Automatically brings the new server into your
          puppet infrastructure
     •    Open, pluggable, and programmable




Friday, March 22, 13
Razor Present and Future

     •    Security audits, fixes in the 0.9.0 release
     •    Working on making releases for yum and apt
     •    Not yet ready for prime time
     •    Help us get it there
     •    File bugs, contribute to the community




Friday, March 22, 13
Training
                             &
                       Certification

Friday, March 22, 13
Training by Country




Friday, March 22, 13
Puppet Education:
     Training and Certification Track




Friday, March 22, 13
Questions?




Friday, March 22, 13
Thank You!
                                  Learn More:
                                      http://puppetlabs.com
                               http://puppetlabs.com/community
                       http://puppetlabs.com/puppet/puppet-enterprise/



Friday, March 22, 13

State of Puppet - Puppet Camp Barcelona 2013

  • 1.
    Chris Spence @tophlammiepie IRC: fiddyspence cspence@puppetlabs.com Friday, March 22, 13
  • 2.
  • 3.
  • 4.
    Puppet Labs: bythe numbers Jan 2012 March 2013 Employees 55 120 Customer Countries 29 42 836 m2 2,232 m2 Office Space 9,000 ft2 25,000 ft2 Friday, March 22, 13
  • 5.
    Puppet Labs: AGreat Place to Work! Weekly Company Lunch Awesome Espresso & Tea Photos by Gary Larizza Friday, March 22, 13
  • 6.
  • 7.
  • 8.
    Strong Community (Jan2013) Forum Members Messages puppet-users list 5255 1029 puppet-dev list 952 127 ask.puppetlabs.com 205 383 #puppet 938 Redmine 3839 Repository Forks Watchers Puppet 466 1145 MCollective 149 103 Friday, March 22, 13
  • 9.
    How can youtake part in the Puppet Community? • Help with documentation • Ask/Answer questions • http://ask.puppetlabs.com • mailing lists • IRC • Help with bug triage • Contribute code • Contribute modules on the Forge • Visit https://puppetlabs.com/community to learn more Friday, March 22, 13
  • 10.
    AUGUST 22 -23 PuppetConf.com Friday, March 22, 13
  • 11.
  • 12.
    Puppet is not... DIY System Management Friday, March 22, 13
  • 13.
    System Management: ThePuppet Way Friday, March 22, 13
  • 14.
    Defining a DesiredState Friday, March 22, 13
  • 15.
    Maintaining Desired State • Provision a Node • Describe how it should look • Let Puppet manage it Friday, March 22, 13
  • 16.
    Puppet Enterprise? Friday, March 22, 13
  • 17.
    Puppet Enterprise GUI Cloud Provisioning Orchestration Compliance Services & Packaging Support Friday, March 22, 13
  • 18.
    GUI for Puppet Time-based display for insight into rate of change High level status for nodes Detailed node status to pinpoint specific issues Friday, March 22, 13
  • 19.
    PE Live Management Choose nodes to clone to ensure consistency Browse for Preview the managed impact nodes in your before you infrastructure clone nodes Friday, March 22, 13
  • 20.
    VM/Cloud Provisioning 1. Create VM node capacity using VMware vSphere or AWS 2. Automatically install the Puppet Agent on new nodes 3. Configure nodes using existing definitions VMware vSphere or AWS Respond quickly to business demands while maintaining configuration consistency across environments Friday, March 22, 13
  • 21.
    PE Compliance • Establish baseline of desired state • Visualize changes to desired baseline • Accept or reject changes to baseline Friday, March 22, 13
  • 22.
    Recent Features • Certificate Signing from the GUI • Authentication with LDAP and Google Apps Friday, March 22, 13
  • 23.
  • 24.
  • 25.
  • 26.
    Puppet 3 Developments • Removal of dynamic scoping • Extensions loaded from gems • Full Ruby 1.9.3 support • Pluginsync by default • Data Separation with data binding • Performance improvements • Better version numbers • More platform support • Code loading improvements • Even more documentation Friday, March 22, 13
  • 27.
    Scope # dynamic scoping is gone class parent { $var = "from parent" include included } class included { notify { $var: } ## NOT GONNA WORK notify { $parent::var: } ## YUP } Friday, March 22, 13
  • 28.
    Data Binding class ntp($server = hiera(ntp_server, ‘time.apple.com’)) { ... } # can be changed to class ntp($ntpserver = ‘time.apple.com’) { ... } Friday, March 22, 13
  • 29.
    Performance Gains Friday, March 22, 13
  • 30.
  • 31.
    Puppet 3 movingon from 2.7 2.7.0 Release 3.1.0 Release 3.0.0 Release Friday, March 22, 13
  • 32.
  • 33.
  • 34.
  • 35.
    The Puppet ModuleForge • Repository of modules • Written by the community • Written for the community • Identify the best ones out there • Great place to contribute your own modules Friday, March 22, 13
  • 36.
    By the Numbers Jan 2012 March 2013 Modules 260 925 Users 930 2100+ Daily Downloads 500 2200 Friday, March 22, 13
  • 37.
    What changed? • Dedicated team • Show download counts • More visible documentation Friday, March 22, 13
  • 38.
    MCollective Happenings Friday, March 22, 13
  • 39.
    The Marionette Collective • Framework to build server orchestration • Parallel job execution • Real-time discovery of resources • Target only the systems you want Friday, March 22, 13
  • 40.
    Continuous Release • Agents in packages, real packages • MCO does it, so you can make them too • Continuously built, continuously released Friday, March 22, 13
  • 41.
    Usability • Better docs • More Complete applications • Out of the box usability • But still the framework it always was • Full integration into puppet training Friday, March 22, 13
  • 42.
    PuppetDB Happenings Friday, March 22, 13
  • 43.
    PuppetDB • Central storage for catalogs and facts that are part of your puppet infrastructure • Incredibly fast replacement for existing ActiveRecord storeconfigs • Easily deployed via a puppet module from the Forge Friday, March 22, 13
  • 44.
    Better Query, MoreStorage • PuppetDB 1.1 released • Enhanced Query API for facts, subqueries, regular expressions • Report Storage • Report Query in an experimental API Friday, March 22, 13
  • 45.
  • 46.
    Razor Provisioning • Rules-based provisioning for bare metal hardware and virtual servers • Developed in cooperation with EMC • Easily deployed via a puppet module from the Forge • Automatically brings the new server into your puppet infrastructure • Open, pluggable, and programmable Friday, March 22, 13
  • 47.
    Razor Present andFuture • Security audits, fixes in the 0.9.0 release • Working on making releases for yum and apt • Not yet ready for prime time • Help us get it there • File bugs, contribute to the community Friday, March 22, 13
  • 48.
    Training & Certification Friday, March 22, 13
  • 49.
  • 50.
    Puppet Education: Training and Certification Track Friday, March 22, 13
  • 51.
  • 52.
    Thank You! Learn More: http://puppetlabs.com http://puppetlabs.com/community http://puppetlabs.com/puppet/puppet-enterprise/ Friday, March 22, 13