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

Zechariah 3: Cleansed, Called and Challenged
Zechariah 3: Cleansed, Called and ChallengedZechariah 3: Cleansed, Called and Challenged
Zechariah 3: Cleansed, Called and Challenged
Jonathan Swales
 
假人攻击器|蚂蚁帝国假人|DDOS攻击业务|DDos业务
假人攻击器|蚂蚁帝国假人|DDOS攻击业务|DDos业务假人攻击器|蚂蚁帝国假人|DDOS攻击业务|DDos业务
假人攻击器|蚂蚁帝国假人|DDOS攻击业务|DDos业务
zcopdane
 
Empresa Educa
Empresa EducaEmpresa Educa
Empresa Educa
montsedf
 
London Mapping Marathon Lightening Talk at SOTM2008
London Mapping Marathon Lightening Talk at SOTM2008London Mapping Marathon Lightening Talk at SOTM2008
London Mapping Marathon Lightening Talk at SOTM2008
Shaun McDonald
 
Electricity Power Point
Electricity Power PointElectricity Power Point
Electricity Power Point
room112008
 
Heb Research Proposal 260108
Heb Research Proposal 260108Heb Research Proposal 260108
Heb Research Proposal 260108
watchthefly
 
女人一路走好
女人一路走好女人一路走好
女人一路走好
wcjmaomao
 

Viewers also liked (20)

Intimus Presentatie Voorstelling
Intimus Presentatie VoorstellingIntimus Presentatie Voorstelling
Intimus Presentatie Voorstelling
 
Slideshow Elster
Slideshow ElsterSlideshow Elster
Slideshow Elster
 
Sahya Part 9
Sahya Part 9Sahya Part 9
Sahya Part 9
 
Frame- interazione tra persone ed oggetti in rete
Frame- interazione tra persone ed oggetti in reteFrame- interazione tra persone ed oggetti in rete
Frame- interazione tra persone ed oggetti in rete
 
Datorn Och Mobilen
Datorn Och MobilenDatorn Och Mobilen
Datorn Och Mobilen
 
Zechariah 3: Cleansed, Called and Challenged
Zechariah 3: Cleansed, Called and ChallengedZechariah 3: Cleansed, Called and Challenged
Zechariah 3: Cleansed, Called and Challenged
 
假人攻击器|蚂蚁帝国假人|DDOS攻击业务|DDos业务
假人攻击器|蚂蚁帝国假人|DDOS攻击业务|DDos业务假人攻击器|蚂蚁帝国假人|DDOS攻击业务|DDos业务
假人攻击器|蚂蚁帝国假人|DDOS攻击业务|DDos业务
 
Atropelloscontralafauna
AtropelloscontralafaunaAtropelloscontralafauna
Atropelloscontralafauna
 
Affitta Un Nonno_Lab Design Concept
Affitta Un Nonno_Lab Design ConceptAffitta Un Nonno_Lab Design Concept
Affitta Un Nonno_Lab Design Concept
 
Empresa Educa
Empresa EducaEmpresa Educa
Empresa Educa
 
London Mapping Marathon Lightening Talk at SOTM2008
London Mapping Marathon Lightening Talk at SOTM2008London Mapping Marathon Lightening Talk at SOTM2008
London Mapping Marathon Lightening Talk at SOTM2008
 
C H A P T E R 1 N O T E S
C H A P T E R 1  N O T E SC H A P T E R 1  N O T E S
C H A P T E R 1 N O T E S
 
Electricity Power Point
Electricity Power PointElectricity Power Point
Electricity Power Point
 
Malediven
MaledivenMalediven
Malediven
 
Tutorial
TutorialTutorial
Tutorial
 
Heb Research Proposal 260108
Heb Research Proposal 260108Heb Research Proposal 260108
Heb Research Proposal 260108
 
Dr. William Allan Kritsonis, Educational Philosophy
Dr. William Allan Kritsonis, Educational PhilosophyDr. William Allan Kritsonis, Educational Philosophy
Dr. William Allan Kritsonis, Educational Philosophy
 
gopala
gopalagopala
gopala
 
Picture my World - Promotional slideshow
Picture my World - Promotional slideshowPicture my World - Promotional slideshow
Picture my World - Promotional slideshow
 
女人一路走好
女人一路走好女人一路走好
女人一路走好
 

Similar to Systems building Systems: A Puppet Story

Systems building-systems-a-puppet-story-19133
Systems building-systems-a-puppet-story-19133Systems building-systems-a-puppet-story-19133
Systems building-systems-a-puppet-story-19133
guestd90cb0
 
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
 
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
 
4 implementation
4 implementation4 implementation
4 implementation
hanmya
 

Similar to Systems building Systems: A Puppet Story (20)

Systems building-systems-a-puppet-story-19133
Systems building-systems-a-puppet-story-19133Systems building-systems-a-puppet-story-19133
Systems building-systems-a-puppet-story-19133
 
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...
 
Building SuperComputers @ Home
Building SuperComputers @ HomeBuilding SuperComputers @ Home
Building SuperComputers @ Home
 
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
 
DevOps(4) : Ansible(2) - (MOSG)
DevOps(4) : Ansible(2) - (MOSG)DevOps(4) : Ansible(2) - (MOSG)
DevOps(4) : Ansible(2) - (MOSG)
 
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
 
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 ...
 
.ppt
.ppt.ppt
.ppt
 
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
 
Managing Postgres with Ansible
Managing Postgres with AnsibleManaging Postgres with Ansible
Managing Postgres with Ansible
 
Tuning systemd for embedded
Tuning systemd for embeddedTuning systemd for embedded
Tuning systemd for embedded
 
Systemd: the modern Linux init system you will learn to love
Systemd: the modern Linux init system you will learn to loveSystemd: the modern Linux init system you will learn to love
Systemd: the modern Linux init system you will learn to love
 
Introducing Ansible
Introducing AnsibleIntroducing Ansible
Introducing Ansible
 
4 implementation
4 implementation4 implementation
4 implementation
 
Puppet for SysAdmins
Puppet for SysAdminsPuppet for SysAdmins
Puppet for SysAdmins
 
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!
 

More from Andrew Shafer

I build the future - Agile 2014
I build the future - Agile 2014I build the future - Agile 2014
I build the future - Agile 2014
Andrew Shafer
 
cloud foundry summit - no talent shortage
cloud foundry summit - no talent shortagecloud foundry summit - no talent shortage
cloud foundry summit - no talent shortage
Andrew Shafer
 

More from Andrew Shafer (20)

We Must Always Take Sides
We Must Always Take SidesWe Must Always Take Sides
We Must Always Take Sides
 
Always Take Sides
Always Take SidesAlways Take Sides
Always Take Sides
 
DevSecOps: The End of the Beginning - Austin
DevSecOps: The End of the Beginning - AustinDevSecOps: The End of the Beginning - Austin
DevSecOps: The End of the Beginning - Austin
 
deep devops - learning to learn dotScale 2017
deep devops - learning to learn dotScale 2017deep devops - learning to learn dotScale 2017
deep devops - learning to learn dotScale 2017
 
do you see what I see?
do you see what I see?do you see what I see?
do you see what I see?
 
the end of the beginning - devopsdays Denver 2017
the end of the beginning - devopsdays Denver 2017the end of the beginning - devopsdays Denver 2017
the end of the beginning - devopsdays Denver 2017
 
Chop Wood, Carry Water
Chop Wood, Carry WaterChop Wood, Carry Water
Chop Wood, Carry Water
 
transforming how the world operates software
transforming how the world operates softwaretransforming how the world operates software
transforming how the world operates software
 
Architecture, what does it even mean?
Architecture, what does it even mean?Architecture, what does it even mean?
Architecture, what does it even mean?
 
devops, platforms and devops platforms
devops, platforms and devops platformsdevops, platforms and devops platforms
devops, platforms and devops platforms
 
Patterns of Cloud Native Architecture
Patterns of Cloud Native ArchitecturePatterns of Cloud Native Architecture
Patterns of Cloud Native Architecture
 
container crash course
container crash coursecontainer crash course
container crash course
 
devops, microservices, and platforms, oh my!
devops, microservices, and platforms, oh my!devops, microservices, and platforms, oh my!
devops, microservices, and platforms, oh my!
 
Bosh - Configuring Services
Bosh - Configuring ServicesBosh - Configuring Services
Bosh - Configuring Services
 
I build the future - Agile 2014
I build the future - Agile 2014I build the future - Agile 2014
I build the future - Agile 2014
 
Unicorns, Dragons, Open Source Business Models and Other Mythical Creatures
Unicorns, Dragons, Open Source Business Models and Other Mythical CreaturesUnicorns, Dragons, Open Source Business Models and Other Mythical Creatures
Unicorns, Dragons, Open Source Business Models and Other Mythical Creatures
 
Open is as Open does
Open is as Open doesOpen is as Open does
Open is as Open does
 
How did your organizational learning game come up? - Velocity 2014
How did your organizational learning game come up? - Velocity 2014How did your organizational learning game come up? - Velocity 2014
How did your organizational learning game come up? - Velocity 2014
 
cloud foundry summit - no talent shortage
cloud foundry summit - no talent shortagecloud foundry summit - no talent shortage
cloud foundry summit - no talent shortage
 
OpenStack - an authentic critique
OpenStack - an authentic critiqueOpenStack - an authentic critique
OpenStack - an authentic critique
 

Recently uploaded

Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 

Recently uploaded (20)

Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 

Systems building Systems: A Puppet Story