SlideShare a Scribd company logo
1 of 66
Download to read offline
Systems Building Systems
A Puppet Story
What is Puppet?
Language Parser
Client/Server
Resource Abstraction
A few other things...
Luke
Kanies
Recovering Sysadmin
One Goal:
Revolutionize
System
Administration
What is a sysadmin?
Not Exactly Modern
Do tools have
to suck?
Say What?!??
Everything the Same
Everything Distinct
“Best Practices”
Don’t look at me...
I wasn’t the last one to touch it...
SSH   Cfengine   ?
Bad product,
hungry Luke
SSH   Cfengine   ?
SSH   Cfengine   ?
You can either easily manage
 complex systems at scale...
You can either easily manage
 complex systems at scale...

       Or you can’t...
Who’s using Puppet?

        “...at Google we're
     currently using Puppet
        to manage close to
       6,000 Macs, and it's
      likely our deployment
             will expand
       dramatically beyond
               that....”
Competitive Advantage
People are finally figuring out
 puppet and how it gets you
to the pub by 4pm. Note that
  I've been at this pub since
             2pm.
        -- Jorge Castro
Enter Puppet...
                  Configuration Is
                  Declarative Code
                  Semantics Matter
                  Reproducible
                  Shareable
                  Maintainable
                  Extensible
Developer   Sysadmin
Three
   people




Developer   Sysadmin
An Analogy

                         Programming   SysAdmin


 Low-level,                            commands
                          Assembly
non-portable                            and files

  Abstract,
                             C*        Resources
  portable

 * For small values of
       abstract
Portable Resources
This:
Portable Resources
This:



Becomes:
Portable Resources
This:



Becomes:
Portable Resources
This:



Becomes:
Portable Resources
This:



Becomes:
Portable Resources
This:



Becomes:
Portable
           23 package types
           Users in NetInfo,
           useradd, pw
           Support for Debian,
           Ubuntu, Red Hat,
           Solaris, OS X,
           Gentoo, SuSE,
           FreeBSD, and more
Debian
Debian



Red Hat
Debian



Red Hat
Package
Configuration should
Package    get modified after
          package installation


             Configuration
Configuration should
Package    get modified after
          package installation
                             Service should restart
             Configuration             when
                             configuration changes


                                   Service
Idempotence...
Idempotence...
Idempotence...

 Describes the property of operations in mathematics
and computer science which yield the same result after
        the operation is applied multiple times.
Network Effects
Code




          Puppetmasterd




puppetd                   puppetd
 OS X                      in the
            puppetd
                           cloud
             Linux
Every Client:
Every Client:
     Retrieve resource catalog from central
     server
Every Client:
     Retrieve resource catalog from central
     server
     Determine resource order
Every Client:
     Retrieve resource catalog from central
     server
     Determine resource order
     Check each resource in turn, fixing if
     necessary
Every Client:
     Retrieve resource catalog from central
     server
     Determine resource order
     Check each resource in turn, fixing if
     necessary
     Rinse and repeat, every 30 minutes
Every Resource:
Every Resource:
    Retrieve current state (e.g., by querying dpkg
    db or doing a stat)
Every Resource:
    Retrieve current state (e.g., by querying dpkg
    db or doing a stat)
    Compare to desired state
Every Resource:
    Retrieve current state (e.g., by querying dpkg
    db or doing a stat)
    Compare to desired state
    Fix, if necessary (or just log)
Image from http://flickr.com/photos/pingnews/132543603/
Questions?
andrew@reductivelabs
twitter.com/littleidea

More Related Content

Viewers also liked

Selected papers for oral & poster presentation
Selected papers for oral & poster presentationSelected papers for oral & poster presentation
Selected papers for oral & poster presentationguestd90cb0
 
Test keynote-with-notes
Test keynote-with-notesTest keynote-with-notes
Test keynote-with-notesguestd90cb0
 
Vs pcost reportnew_1_by_cct_1999
Vs pcost reportnew_1_by_cct_1999Vs pcost reportnew_1_by_cct_1999
Vs pcost reportnew_1_by_cct_1999guestd90cb0
 
Singh pretoria-odf
Singh pretoria-odfSingh pretoria-odf
Singh pretoria-odfguestd90cb0
 
Summer reading 2008
Summer reading 2008Summer reading 2008
Summer reading 2008guestd90cb0
 
United states of america
United states of americaUnited states of america
United states of americaguestd90cb0
 

Viewers also liked (9)

Selected papers for oral & poster presentation
Selected papers for oral & poster presentationSelected papers for oral & poster presentation
Selected papers for oral & poster presentation
 
Test keynote-with-notes
Test keynote-with-notesTest keynote-with-notes
Test keynote-with-notes
 
Vs pcost reportnew_1_by_cct_1999
Vs pcost reportnew_1_by_cct_1999Vs pcost reportnew_1_by_cct_1999
Vs pcost reportnew_1_by_cct_1999
 
Singh pretoria-odf
Singh pretoria-odfSingh pretoria-odf
Singh pretoria-odf
 
Smallest file
Smallest fileSmallest file
Smallest file
 
Summer reading 2008
Summer reading 2008Summer reading 2008
Summer reading 2008
 
A chave
A chaveA chave
A chave
 
United states of america
United states of americaUnited states of america
United states of america
 
Sbi
SbiSbi
Sbi
 

Similar to Systems building-systems-a-puppet-story-19133

Systems building Systems: A Puppet Story
Systems building Systems: A Puppet StorySystems building Systems: A Puppet Story
Systems building Systems: A Puppet StoryAndrew Shafer
 
Containers for Science and High-Performance Computing
Containers for Science and High-Performance ComputingContainers for Science and High-Performance Computing
Containers for Science and High-Performance ComputingDmitry Spodarets
 
Workflow story: Theory versus practice in Large Enterprises
Workflow story: Theory versus practice in Large EnterprisesWorkflow story: Theory versus practice in Large Enterprises
Workflow story: Theory versus practice in Large EnterprisesPuppet
 
Workflow story: Theory versus Practice in large enterprises by Marcin Piebiak
Workflow story: Theory versus Practice in large enterprises by Marcin PiebiakWorkflow story: Theory versus Practice in large enterprises by Marcin Piebiak
Workflow story: Theory versus Practice in large enterprises by Marcin PiebiakNETWAYS
 
ContainerDays Boston 2015: "CoreOS: Building the Layers of the Scalable Clust...
ContainerDays Boston 2015: "CoreOS: Building the Layers of the Scalable Clust...ContainerDays Boston 2015: "CoreOS: Building the Layers of the Scalable Clust...
ContainerDays Boston 2015: "CoreOS: Building the Layers of the Scalable Clust...DynamicInfraDays
 
Drupalcamp es 2013 drupal with lxc docker and vagrant
Drupalcamp es 2013  drupal with lxc docker and vagrant Drupalcamp es 2013  drupal with lxc docker and vagrant
Drupalcamp es 2013 drupal with lxc docker and vagrant Ricardo Amaro
 
Puppet for SysAdmins
Puppet for SysAdminsPuppet for SysAdmins
Puppet for SysAdminsPuppet
 
Automate drupal deployments with linux containers, docker and vagrant
Automate drupal deployments with linux containers, docker and vagrant Automate drupal deployments with linux containers, docker and vagrant
Automate drupal deployments with linux containers, docker and vagrant Ricardo Amaro
 
Building SuperComputers @ Home
Building SuperComputers @ HomeBuilding SuperComputers @ Home
Building SuperComputers @ HomeAbhishek Parolkar
 
Containerization is more than the new Virtualization: enabling separation of ...
Containerization is more than the new Virtualization: enabling separation of ...Containerization is more than the new Virtualization: enabling separation of ...
Containerization is more than the new Virtualization: enabling separation of ...Jérôme Petazzoni
 
DevOps(4) : Ansible(2) - (MOSG)
DevOps(4) : Ansible(2) - (MOSG)DevOps(4) : Ansible(2) - (MOSG)
DevOps(4) : Ansible(2) - (MOSG)Soshi Nemoto
 
Pilot Tech Talk #10 — Practical automation by Kamil Cholewiński
Pilot Tech Talk #10 — Practical automation by Kamil CholewińskiPilot Tech Talk #10 — Practical automation by Kamil Cholewiński
Pilot Tech Talk #10 — Practical automation by Kamil CholewińskiPilot
 
Matt Franklin - Apache Software (Geekfest)
Matt Franklin - Apache Software (Geekfest)Matt Franklin - Apache Software (Geekfest)
Matt Franklin - Apache Software (Geekfest)W2O Group
 
Skynet vs. Planet of The Apes: Duel!
Skynet vs. Planet of The Apes: Duel!Skynet vs. Planet of The Apes: Duel!
Skynet vs. Planet of The Apes: Duel!Docker, Inc.
 
Kubernetes for the PHP developer
Kubernetes for the PHP developerKubernetes for the PHP developer
Kubernetes for the PHP developerPaul Czarkowski
 

Similar to Systems building-systems-a-puppet-story-19133 (20)

Systems building Systems: A Puppet Story
Systems building Systems: A Puppet StorySystems building Systems: A Puppet Story
Systems building Systems: A Puppet Story
 
A Puppet Story
A Puppet StoryA Puppet Story
A Puppet Story
 
Containers for Science and High-Performance Computing
Containers for Science and High-Performance ComputingContainers for Science and High-Performance Computing
Containers for Science and High-Performance Computing
 
Kubernetes: My BFF
Kubernetes: My BFFKubernetes: My BFF
Kubernetes: My BFF
 
Workflow story: Theory versus practice in Large Enterprises
Workflow story: Theory versus practice in Large EnterprisesWorkflow story: Theory versus practice in Large Enterprises
Workflow story: Theory versus practice in Large Enterprises
 
Workflow story: Theory versus Practice in large enterprises by Marcin Piebiak
Workflow story: Theory versus Practice in large enterprises by Marcin PiebiakWorkflow story: Theory versus Practice in large enterprises by Marcin Piebiak
Workflow story: Theory versus Practice in large enterprises by Marcin Piebiak
 
ContainerDays Boston 2015: "CoreOS: Building the Layers of the Scalable Clust...
ContainerDays Boston 2015: "CoreOS: Building the Layers of the Scalable Clust...ContainerDays Boston 2015: "CoreOS: Building the Layers of the Scalable Clust...
ContainerDays Boston 2015: "CoreOS: Building the Layers of the Scalable Clust...
 
Introducing Ansible
Introducing AnsibleIntroducing Ansible
Introducing Ansible
 
Drupalcamp es 2013 drupal with lxc docker and vagrant
Drupalcamp es 2013  drupal with lxc docker and vagrant Drupalcamp es 2013  drupal with lxc docker and vagrant
Drupalcamp es 2013 drupal with lxc docker and vagrant
 
Puppet for SysAdmins
Puppet for SysAdminsPuppet for SysAdmins
Puppet for SysAdmins
 
Automate drupal deployments with linux containers, docker and vagrant
Automate drupal deployments with linux containers, docker and vagrant Automate drupal deployments with linux containers, docker and vagrant
Automate drupal deployments with linux containers, docker and vagrant
 
Building SuperComputers @ Home
Building SuperComputers @ HomeBuilding SuperComputers @ Home
Building SuperComputers @ Home
 
Containerization is more than the new Virtualization: enabling separation of ...
Containerization is more than the new Virtualization: enabling separation of ...Containerization is more than the new Virtualization: enabling separation of ...
Containerization is more than the new Virtualization: enabling separation of ...
 
DevOps(4) : Ansible(2) - (MOSG)
DevOps(4) : Ansible(2) - (MOSG)DevOps(4) : Ansible(2) - (MOSG)
DevOps(4) : Ansible(2) - (MOSG)
 
Pilot Tech Talk #10 — Practical automation by Kamil Cholewiński
Pilot Tech Talk #10 — Practical automation by Kamil CholewińskiPilot Tech Talk #10 — Practical automation by Kamil Cholewiński
Pilot Tech Talk #10 — Practical automation by Kamil Cholewiński
 
Matt Franklin - Apache Software (Geekfest)
Matt Franklin - Apache Software (Geekfest)Matt Franklin - Apache Software (Geekfest)
Matt Franklin - Apache Software (Geekfest)
 
Skynet vs. Planet of The Apes: Duel!
Skynet vs. Planet of The Apes: Duel!Skynet vs. Planet of The Apes: Duel!
Skynet vs. Planet of The Apes: Duel!
 
.ppt
.ppt.ppt
.ppt
 
Managing Postgres with Ansible
Managing Postgres with AnsibleManaging Postgres with Ansible
Managing Postgres with Ansible
 
Kubernetes for the PHP developer
Kubernetes for the PHP developerKubernetes for the PHP developer
Kubernetes for the PHP developer
 

More from guestd90cb0

On campus schedule - year 2008
On campus schedule - year 2008On campus schedule - year 2008
On campus schedule - year 2008guestd90cb0
 
Office 2007 service pack 1 changes all
Office 2007 service pack 1 changes allOffice 2007 service pack 1 changes all
Office 2007 service pack 1 changes allguestd90cb0
 
Icolc aaas-jstor-resolution
Icolc aaas-jstor-resolutionIcolc aaas-jstor-resolution
Icolc aaas-jstor-resolutionguestd90cb0
 
Dr anilkhandelwal
Dr anilkhandelwalDr anilkhandelwal
Dr anilkhandelwalguestd90cb0
 
05f 1805 felixdidier_a2b
05f 1805 felixdidier_a2b05f 1805 felixdidier_a2b
05f 1805 felixdidier_a2bguestd90cb0
 

More from guestd90cb0 (8)

Saurabh jain
Saurabh jainSaurabh jain
Saurabh jain
 
Qos
QosQos
Qos
 
P w notes_09
P w notes_09P w notes_09
P w notes_09
 
On campus schedule - year 2008
On campus schedule - year 2008On campus schedule - year 2008
On campus schedule - year 2008
 
Office 2007 service pack 1 changes all
Office 2007 service pack 1 changes allOffice 2007 service pack 1 changes all
Office 2007 service pack 1 changes all
 
Icolc aaas-jstor-resolution
Icolc aaas-jstor-resolutionIcolc aaas-jstor-resolution
Icolc aaas-jstor-resolution
 
Dr anilkhandelwal
Dr anilkhandelwalDr anilkhandelwal
Dr anilkhandelwal
 
05f 1805 felixdidier_a2b
05f 1805 felixdidier_a2b05f 1805 felixdidier_a2b
05f 1805 felixdidier_a2b
 

Systems building-systems-a-puppet-story-19133