SlideShare a Scribd company logo
Wireless

                       • Any “BvB Hotspot...” network
                       • New browser page
                       • User: bvbhotspot
                         Password: berlag33




Friday, May 13, 2011
puppet
                           labs




Friday, May 13, 2011
Making Puppet
                       More Hackable
                             Luke Kanies
                          luke@puppetlabs.com




Friday, May 13, 2011
Question
                       Authority
Friday, May 13, 2011
Puppet Labs



Friday, May 13, 2011
Puppet Labs
                       • 40   employees




Friday, May 13, 2011
Puppet Labs
                       • 40   employees
                       • Fantastic   investors and board
                        members




Friday, May 13, 2011
Puppet Labs
                       • 40    employees
                       • Fantastic   investors and board
                        members
                       • I’m   still CEO



Friday, May 13, 2011
Puppet 2.7
Friday, May 13, 2011
Apache
                       License
Friday, May 13, 2011
Faces
Friday, May 13, 2011
Static
                       Compiler
Friday, May 13, 2011
Certificate
                          API
Friday, May 13, 2011
Deterministic
           Ordering
                       For otherwise unrelated
                                    resources

Friday, May 13, 2011
Enhanced
                         Graph
                       Management
Friday, May 13, 2011
Puppet
                       Enterprise

Friday, May 13, 2011
Always based
                       on full releases

Friday, May 13, 2011
Looking for
                        Partners

Friday, May 13, 2011
PE 1.1 - 5/11
                       • MCollective

                       • RHEL   4/5/6, SLES, Solaris




Friday, May 13, 2011
PE 1.2 - 6/11
                       • Discovery

                       • Provisioning




Friday, May 13, 2011
Q3
                       • Full   Windows support
                       • 2.7    base
                       • Change    Lifecycle Management



Friday, May 13, 2011
Faces, Hackability,
        and Marketing

Friday, May 13, 2011
Puppet is different,
             but not in
       straightforward ways

Friday, May 13, 2011
Awkward
Friday, May 13, 2011
I wanted to tell
                 The Story of Why

Friday, May 13, 2011
A bit of history:
                      Cfengine

Friday, May 13, 2011
I had no control
                       • Stuckwith whatever
                        application logic it shipped
                        with
                       • Core
                            components were
                        mandatory


Friday, May 13, 2011
Do Not Question
                       • Why   is this file here?
                       • What   requires this package?
                       • What will happen if I change
                        this file?
                       • Do   these classes conflict?


Friday, May 13, 2011
Not Extensible

Friday, May 13, 2011
“Puppet is
                       Different”

Friday, May 13, 2011
Easily extensible,
                   everywhere
                       A quick count shows 10 kinds of
                       extensibility

Friday, May 13, 2011
The Puppet world
                       • Facts

                       • Resources

                       • Catalogs

                       • Edges

                       • Events


Friday, May 13, 2011
Questions can be asked
                          of every artifact
                       •   Is this file being managed?
                       •   What happens if I restart this service?
                       •   Who requires this package?
                       •   Did my service restart?
                       •   Were there any failures?



Friday, May 13, 2011
Data > Code
                       • Caching

                       • Validation

                       • Implementation   Independence
                       • Integration




Friday, May 13, 2011
"Exec[createrepo-PM-RHEL5-noarch]"
                                                                    The Graph
                                                                     Matters
                             "Yumrepo[PM-RHEL5-x86_64]"




                                                        "Package[postgresql-server]"




                                                          "Postgres::Role[puppet]"




                                                             "Package[thttpd]"




                "File[/var/www/thttpd/html/yum-PM-RHEL5-x86_64]"                       "File[/var/www/thttpd/html/yum-PM-RHEL5-noarch]"




                 "Exec[rsync-rpmdir-PM-RHEL5-x86_64]"                                                                                     "Exec[rsync-rpmdir-PM-RHEL5-noarch]"




          "Exec[createrepo-PM-RHEL5-x86_64]"




             "Yumrepo[PM-RHEL5-noarch]"




Friday, May 13, 2011
An Aside: The
                       Competition

Friday, May 13, 2011
AFAIK, Puppet is the
                       only tool that provides:
                       •   A complete list of every resource managed in your
                           entire infrastructure
                       •   A complete list of every dependency in your entire
                           infrastructure
                       •   A complete list of every single change that’s ever
                           happened in your entire infrastructure
                           •   With full run simulation and inspection


                                            ...all in a queryable, storable, cacheable way

Friday, May 13, 2011
Progress?
                         •Declarative
                         •Code runs on
             Cfengine    client
                         •Implicit                        •Imperative
                         dependencies                     •Code runs on
                                                 Chef     client
                                                          •Implicit
                                                          dependencies

                         •Declarative
                Puppet   •Only data on clients, no code
                         •Explicit dependencies




Friday, May 13, 2011
How do we talk about
         this? Market this?


Friday, May 13, 2011
“Puppet is
  Model-Driven”
Friday, May 13, 2011
Procedural
                       Code
                                        Catalog
                              Compile             Apply

                                                          Report




Friday, May 13, 2011
Model-driven
                              Compile                   Apply
                       Code              Catalog                 Report




                                It’s the artifacts that matter

Friday, May 13, 2011
Policy
         CMDB                                                  Remedy
                                  Complian




                              Compile               Apply
                       Code             Catalog             Report




     LDAP                                    CMDB
                                                                 Nagios

Friday, May 13, 2011
No one knows what
           ‘model driven’
              means

Friday, May 13, 2011
“Puppet is
                  hackable”
                       Props to Nick Fagerland


Friday, May 13, 2011
But it wasn’t
                        really true

Friday, May 13, 2011
You could *program*
                       it, but not hack it like
                         a sysadmin would


Friday, May 13, 2011
Really: Encapsulated,
                        modular and data-
                               driven


Friday, May 13, 2011
Unfortunately the
                        applications hard-code
                               our logic
                       • Download   plugins
                       • Upload   Facts
                       • Download   Catalog
                       • Apply   Catalog
                       • Send   Report

Friday, May 13, 2011
Other application world-
                         views exist
                       •   Only update catalogs during maintenance
                           windows
                       •   Push catalog updates
                       •   Send fact updates 10x as often as puppet runs
                       •   Combine multiple catalogs on the client side
                           and run them together
                       •   Compile catalogs for hundreds of hosts and
                           compare them
                       •   Manually view catalog diffs before deploying



Friday, May 13, 2011
It doesn’t make sense
                   to extend the core apps
                        with this logic


Friday, May 13, 2011
And doing it yourself is
                        too hard with current
                                tools


Friday, May 13, 2011
So we should expose
                       everything and let you
                        build what you want


Friday, May 13, 2011
Functions
                       • Compiler

                       • Transactions

                       • Network

                       • Indirector

                       • Parser

                       • RAL


Friday, May 13, 2011
Data
                       • Facts

                       • Catalog

                       • Reports

                       • Resource   Types (AST and RAL)
                       • Nodes

                       • Certificates


Friday, May 13, 2011
Interfaces
Friday, May 13, 2011
Puppet Faces

Friday, May 13, 2011
A framework for
                       exposing, combining,
                        and extending core
                       Puppet functions and
                            data types

Friday, May 13, 2011
A collection of Faces
                       that does this in Ruby
                           and on the CLI


Friday, May 13, 2011
Good: It directly exposes
             Puppet internals in a
                hackable way


Friday, May 13, 2011
Bad: It directly exposes
                     Puppet internals


Friday, May 13, 2011
Examples
                       • puppet   catalog find <host>
                       • puppet   facts upload
                       • puppet   certificate sign <host>
                       • puppet   file find <sum>



Friday, May 13, 2011
Easily extensible
                       •   puppet config info <name>
                       •   puppet catalog select <host> <type>
                       •   puppet file diff <sum> <sum>
                       •   puppet node clean <name>
                       •   puppet catalog diff <host> <host>



Friday, May 13, 2011
What we’re
                       working on

Friday, May 13, 2011
Team and
                       Community

Friday, May 13, 2011
Flattening the
                          on-ramp

Friday, May 13, 2011
Ad-hoc
                       Tooling
Friday, May 13, 2011
Cross-Node
                       Applications

Friday, May 13, 2011
Databases
Friday, May 13, 2011
Change
                       Lifecycle
Friday, May 13, 2011
Questions?




Friday, May 13, 2011

More Related Content

What's hot

The Hitchhiker's guide to mobile development
The Hitchhiker's guide to mobile developmentThe Hitchhiker's guide to mobile development
The Hitchhiker's guide to mobile development
Nikolai Onken
 
2011 June - Singapore GTUG presentation. App Engine program update + intro to Go
2011 June - Singapore GTUG presentation. App Engine program update + intro to Go2011 June - Singapore GTUG presentation. App Engine program update + intro to Go
2011 June - Singapore GTUG presentation. App Engine program update + intro to Go
ikailan
 
Atlassian RoadTrip 2011 Slide Deck
Atlassian RoadTrip 2011 Slide DeckAtlassian RoadTrip 2011 Slide Deck
Atlassian RoadTrip 2011 Slide Deck
Atlassian
 
2011 JavaOne Apache TomEE Java EE 6 Web Profile
2011 JavaOne Apache TomEE Java EE 6 Web Profile2011 JavaOne Apache TomEE Java EE 6 Web Profile
2011 JavaOne Apache TomEE Java EE 6 Web ProfileDavid Blevins
 
Conquistando el Servidor con Node.JS
Conquistando el Servidor con Node.JSConquistando el Servidor con Node.JS
Conquistando el Servidor con Node.JSCaridy Patino
 
From Tomcat to Java EE, making the transition with TomEE
From Tomcat to Java EE, making the transition with TomEEFrom Tomcat to Java EE, making the transition with TomEE
From Tomcat to Java EE, making the transition with TomEEjaxconf
 
Java EE | Apache TomEE - Java EE Web Profile on Tomcat | Jonathan Gallimore
Java EE | Apache TomEE - Java EE Web Profile on Tomcat | Jonathan GallimoreJava EE | Apache TomEE - Java EE Web Profile on Tomcat | Jonathan Gallimore
Java EE | Apache TomEE - Java EE Web Profile on Tomcat | Jonathan Gallimore
JAX London
 

What's hot (7)

The Hitchhiker's guide to mobile development
The Hitchhiker's guide to mobile developmentThe Hitchhiker's guide to mobile development
The Hitchhiker's guide to mobile development
 
2011 June - Singapore GTUG presentation. App Engine program update + intro to Go
2011 June - Singapore GTUG presentation. App Engine program update + intro to Go2011 June - Singapore GTUG presentation. App Engine program update + intro to Go
2011 June - Singapore GTUG presentation. App Engine program update + intro to Go
 
Atlassian RoadTrip 2011 Slide Deck
Atlassian RoadTrip 2011 Slide DeckAtlassian RoadTrip 2011 Slide Deck
Atlassian RoadTrip 2011 Slide Deck
 
2011 JavaOne Apache TomEE Java EE 6 Web Profile
2011 JavaOne Apache TomEE Java EE 6 Web Profile2011 JavaOne Apache TomEE Java EE 6 Web Profile
2011 JavaOne Apache TomEE Java EE 6 Web Profile
 
Conquistando el Servidor con Node.JS
Conquistando el Servidor con Node.JSConquistando el Servidor con Node.JS
Conquistando el Servidor con Node.JS
 
From Tomcat to Java EE, making the transition with TomEE
From Tomcat to Java EE, making the transition with TomEEFrom Tomcat to Java EE, making the transition with TomEE
From Tomcat to Java EE, making the transition with TomEE
 
Java EE | Apache TomEE - Java EE Web Profile on Tomcat | Jonathan Gallimore
Java EE | Apache TomEE - Java EE Web Profile on Tomcat | Jonathan GallimoreJava EE | Apache TomEE - Java EE Web Profile on Tomcat | Jonathan Gallimore
Java EE | Apache TomEE - Java EE Web Profile on Tomcat | Jonathan Gallimore
 

Viewers also liked

What's New in Puppet Enterprise 2015.3
What's New in Puppet Enterprise 2015.3What's New in Puppet Enterprise 2015.3
What's New in Puppet Enterprise 2015.3
Puppet
 
Puppet Camp Berlin 2015: Rapid testing Setups for Puppet
Puppet Camp Berlin 2015: Rapid testing Setups for PuppetPuppet Camp Berlin 2015: Rapid testing Setups for Puppet
Puppet Camp Berlin 2015: Rapid testing Setups for Puppet
Puppet
 
Puppet Camp Amsterdam 2015: Raising the Bar (Intermediate)
Puppet Camp Amsterdam 2015:  Raising the Bar (Intermediate)Puppet Camp Amsterdam 2015:  Raising the Bar (Intermediate)
Puppet Camp Amsterdam 2015: Raising the Bar (Intermediate)
Puppet
 
Working with Modules - Henrik Lindberg - PuppetCamp Europe '11
Working with Modules - Henrik Lindberg - PuppetCamp Europe '11Working with Modules - Henrik Lindberg - PuppetCamp Europe '11
Working with Modules - Henrik Lindberg - PuppetCamp Europe '11
Puppet
 
Luc Suryo - Puppet on EC2
Luc Suryo - Puppet on EC2Luc Suryo - Puppet on EC2
Luc Suryo - Puppet on EC2Puppet
 
Puppet Camp LA 2015: The Power of Puppet Apply (Intermediate)
Puppet Camp LA 2015: The Power of Puppet Apply (Intermediate)Puppet Camp LA 2015: The Power of Puppet Apply (Intermediate)
Puppet Camp LA 2015: The Power of Puppet Apply (Intermediate)
Puppet
 
What's New in Puppet Enterprise 2015.3 (APAC)
What's New in Puppet Enterprise 2015.3 (APAC)What's New in Puppet Enterprise 2015.3 (APAC)
What's New in Puppet Enterprise 2015.3 (APAC)
Puppet
 
Puppet Camp Sydney 2015: Building Windows Infrastructure with Puppet
Puppet Camp Sydney 2015: Building Windows Infrastructure with PuppetPuppet Camp Sydney 2015: Building Windows Infrastructure with Puppet
Puppet Camp Sydney 2015: Building Windows Infrastructure with Puppet
Puppet
 

Viewers also liked (8)

What's New in Puppet Enterprise 2015.3
What's New in Puppet Enterprise 2015.3What's New in Puppet Enterprise 2015.3
What's New in Puppet Enterprise 2015.3
 
Puppet Camp Berlin 2015: Rapid testing Setups for Puppet
Puppet Camp Berlin 2015: Rapid testing Setups for PuppetPuppet Camp Berlin 2015: Rapid testing Setups for Puppet
Puppet Camp Berlin 2015: Rapid testing Setups for Puppet
 
Puppet Camp Amsterdam 2015: Raising the Bar (Intermediate)
Puppet Camp Amsterdam 2015:  Raising the Bar (Intermediate)Puppet Camp Amsterdam 2015:  Raising the Bar (Intermediate)
Puppet Camp Amsterdam 2015: Raising the Bar (Intermediate)
 
Working with Modules - Henrik Lindberg - PuppetCamp Europe '11
Working with Modules - Henrik Lindberg - PuppetCamp Europe '11Working with Modules - Henrik Lindberg - PuppetCamp Europe '11
Working with Modules - Henrik Lindberg - PuppetCamp Europe '11
 
Luc Suryo - Puppet on EC2
Luc Suryo - Puppet on EC2Luc Suryo - Puppet on EC2
Luc Suryo - Puppet on EC2
 
Puppet Camp LA 2015: The Power of Puppet Apply (Intermediate)
Puppet Camp LA 2015: The Power of Puppet Apply (Intermediate)Puppet Camp LA 2015: The Power of Puppet Apply (Intermediate)
Puppet Camp LA 2015: The Power of Puppet Apply (Intermediate)
 
What's New in Puppet Enterprise 2015.3 (APAC)
What's New in Puppet Enterprise 2015.3 (APAC)What's New in Puppet Enterprise 2015.3 (APAC)
What's New in Puppet Enterprise 2015.3 (APAC)
 
Puppet Camp Sydney 2015: Building Windows Infrastructure with Puppet
Puppet Camp Sydney 2015: Building Windows Infrastructure with PuppetPuppet Camp Sydney 2015: Building Windows Infrastructure with Puppet
Puppet Camp Sydney 2015: Building Windows Infrastructure with Puppet
 

Similar to Puppet camp europe 2011 hackability

Usability tour-pceu-2011
Usability tour-pceu-2011Usability tour-pceu-2011
Usability tour-pceu-2011
Puppet
 
Errors and handling them. YOW nights Sydney 2011
Errors and handling them. YOW nights Sydney 2011Errors and handling them. YOW nights Sydney 2011
Errors and handling them. YOW nights Sydney 2011
Michael Neale
 
Error Handling Done Differently
Error Handling Done DifferentlyError Handling Done Differently
Error Handling Done Differently
CloudBees
 
JavaSE - The road forward
JavaSE - The road forwardJavaSE - The road forward
JavaSE - The road forwardeug3n_cojocaru
 
Devops workshop unit2
Devops workshop unit2Devops workshop unit2
Devops workshop unit2
John Willis
 
YOU WILL REGRET THIS
YOU WILL REGRET THISYOU WILL REGRET THIS
YOU WILL REGRET THIS
MononcQc
 
Extending rails
Extending railsExtending rails
Extending rails
Blazing Cloud
 
Carton CPAN dependency manager
Carton CPAN dependency managerCarton CPAN dependency manager
Carton CPAN dependency managerTatsuhiko Miyagawa
 
Introducing Cloud9 at DynCon 2011
Introducing Cloud9 at DynCon 2011Introducing Cloud9 at DynCon 2011
Introducing Cloud9 at DynCon 2011
Sergi Mansilla
 
Beyond Horizontal Scalability: Concurrency and Messaging Using Spring
Beyond Horizontal Scalability: Concurrency and Messaging Using SpringBeyond Horizontal Scalability: Concurrency and Messaging Using Spring
Beyond Horizontal Scalability: Concurrency and Messaging Using SpringBruce Snyder
 
agile-planning
agile-planningagile-planning
agile-planning
Amir Barylko
 
Intro to Micro-frameworks
Intro to Micro-frameworksIntro to Micro-frameworks
Intro to Micro-frameworks
jsmith92
 
Slides for millfield
Slides for millfieldSlides for millfield
Slides for millfieldjuliancoultas
 
Continuous Deployment at Disqus (Pylons Minicon)
Continuous Deployment at Disqus (Pylons Minicon)Continuous Deployment at Disqus (Pylons Minicon)
Continuous Deployment at Disqus (Pylons Minicon)zeeg
 
Are Your Tests Really Helping You?
Are Your Tests Really Helping You?Are Your Tests Really Helping You?
Are Your Tests Really Helping You?
LB Denker
 
Clouds against the Floods (RubyConfBR2011)
Clouds against the Floods (RubyConfBR2011) Clouds against the Floods (RubyConfBR2011)
Clouds against the Floods (RubyConfBR2011) Leonardo Borges
 
PushToTest TestMaker 6.5 Open Source Test Design Document
PushToTest TestMaker 6.5 Open Source Test Design DocumentPushToTest TestMaker 6.5 Open Source Test Design Document
PushToTest TestMaker 6.5 Open Source Test Design Document
Clever Moe
 
High quality iOS development
High quality iOS developmentHigh quality iOS development
High quality iOS development
Robin Lu
 
2011 JavaOne Fun with EJB 3.1 and OpenEJB
2011 JavaOne Fun with EJB 3.1 and OpenEJB2011 JavaOne Fun with EJB 3.1 and OpenEJB
2011 JavaOne Fun with EJB 3.1 and OpenEJBDavid Blevins
 

Similar to Puppet camp europe 2011 hackability (20)

Usability tour-pceu-2011
Usability tour-pceu-2011Usability tour-pceu-2011
Usability tour-pceu-2011
 
Errors and handling them. YOW nights Sydney 2011
Errors and handling them. YOW nights Sydney 2011Errors and handling them. YOW nights Sydney 2011
Errors and handling them. YOW nights Sydney 2011
 
Error Handling Done Differently
Error Handling Done DifferentlyError Handling Done Differently
Error Handling Done Differently
 
Caridy patino - node-js
Caridy patino - node-jsCaridy patino - node-js
Caridy patino - node-js
 
JavaSE - The road forward
JavaSE - The road forwardJavaSE - The road forward
JavaSE - The road forward
 
Devops workshop unit2
Devops workshop unit2Devops workshop unit2
Devops workshop unit2
 
YOU WILL REGRET THIS
YOU WILL REGRET THISYOU WILL REGRET THIS
YOU WILL REGRET THIS
 
Extending rails
Extending railsExtending rails
Extending rails
 
Carton CPAN dependency manager
Carton CPAN dependency managerCarton CPAN dependency manager
Carton CPAN dependency manager
 
Introducing Cloud9 at DynCon 2011
Introducing Cloud9 at DynCon 2011Introducing Cloud9 at DynCon 2011
Introducing Cloud9 at DynCon 2011
 
Beyond Horizontal Scalability: Concurrency and Messaging Using Spring
Beyond Horizontal Scalability: Concurrency and Messaging Using SpringBeyond Horizontal Scalability: Concurrency and Messaging Using Spring
Beyond Horizontal Scalability: Concurrency and Messaging Using Spring
 
agile-planning
agile-planningagile-planning
agile-planning
 
Intro to Micro-frameworks
Intro to Micro-frameworksIntro to Micro-frameworks
Intro to Micro-frameworks
 
Slides for millfield
Slides for millfieldSlides for millfield
Slides for millfield
 
Continuous Deployment at Disqus (Pylons Minicon)
Continuous Deployment at Disqus (Pylons Minicon)Continuous Deployment at Disqus (Pylons Minicon)
Continuous Deployment at Disqus (Pylons Minicon)
 
Are Your Tests Really Helping You?
Are Your Tests Really Helping You?Are Your Tests Really Helping You?
Are Your Tests Really Helping You?
 
Clouds against the Floods (RubyConfBR2011)
Clouds against the Floods (RubyConfBR2011) Clouds against the Floods (RubyConfBR2011)
Clouds against the Floods (RubyConfBR2011)
 
PushToTest TestMaker 6.5 Open Source Test Design Document
PushToTest TestMaker 6.5 Open Source Test Design DocumentPushToTest TestMaker 6.5 Open Source Test Design Document
PushToTest TestMaker 6.5 Open Source Test Design Document
 
High quality iOS development
High quality iOS developmentHigh quality iOS development
High quality iOS development
 
2011 JavaOne Fun with EJB 3.1 and OpenEJB
2011 JavaOne Fun with EJB 3.1 and OpenEJB2011 JavaOne Fun with EJB 3.1 and OpenEJB
2011 JavaOne Fun with EJB 3.1 and OpenEJB
 

More from Puppet

Puppet camp2021 testing modules and controlrepo
Puppet camp2021 testing modules and controlrepoPuppet camp2021 testing modules and controlrepo
Puppet camp2021 testing modules and controlrepo
Puppet
 
Puppetcamp r10kyaml
Puppetcamp r10kyamlPuppetcamp r10kyaml
Puppetcamp r10kyaml
Puppet
 
2021 04-15 operational verification (with notes)
2021 04-15 operational verification (with notes)2021 04-15 operational verification (with notes)
2021 04-15 operational verification (with notes)
Puppet
 
Puppet camp vscode
Puppet camp vscodePuppet camp vscode
Puppet camp vscode
Puppet
 
Modules of the twenties
Modules of the twentiesModules of the twenties
Modules of the twenties
Puppet
 
Applying Roles and Profiles method to compliance code
Applying Roles and Profiles method to compliance codeApplying Roles and Profiles method to compliance code
Applying Roles and Profiles method to compliance code
Puppet
 
KGI compliance as-code approach
KGI compliance as-code approachKGI compliance as-code approach
KGI compliance as-code approach
Puppet
 
Enforce compliance policy with model-driven automation
Enforce compliance policy with model-driven automationEnforce compliance policy with model-driven automation
Enforce compliance policy with model-driven automation
Puppet
 
Keynote: Puppet camp compliance
Keynote: Puppet camp complianceKeynote: Puppet camp compliance
Keynote: Puppet camp compliance
Puppet
 
Automating it management with Puppet + ServiceNow
Automating it management with Puppet + ServiceNowAutomating it management with Puppet + ServiceNow
Automating it management with Puppet + ServiceNow
Puppet
 
Puppet: The best way to harden Windows
Puppet: The best way to harden WindowsPuppet: The best way to harden Windows
Puppet: The best way to harden Windows
Puppet
 
Simplified Patch Management with Puppet - Oct. 2020
Simplified Patch Management with Puppet - Oct. 2020Simplified Patch Management with Puppet - Oct. 2020
Simplified Patch Management with Puppet - Oct. 2020
Puppet
 
Accelerating azure adoption with puppet
Accelerating azure adoption with puppetAccelerating azure adoption with puppet
Accelerating azure adoption with puppet
Puppet
 
Puppet catalog Diff; Raphael Pinson
Puppet catalog Diff; Raphael PinsonPuppet catalog Diff; Raphael Pinson
Puppet catalog Diff; Raphael Pinson
Puppet
 
ServiceNow and Puppet- better together, Kevin Reeuwijk
ServiceNow and Puppet- better together, Kevin ReeuwijkServiceNow and Puppet- better together, Kevin Reeuwijk
ServiceNow and Puppet- better together, Kevin Reeuwijk
Puppet
 
Take control of your dev ops dumping ground
Take control of your  dev ops dumping groundTake control of your  dev ops dumping ground
Take control of your dev ops dumping ground
Puppet
 
100% Puppet Cloud Deployment of Legacy Software
100% Puppet Cloud Deployment of Legacy Software100% Puppet Cloud Deployment of Legacy Software
100% Puppet Cloud Deployment of Legacy Software
Puppet
 
Puppet User Group
Puppet User GroupPuppet User Group
Puppet User Group
Puppet
 
Continuous Compliance and DevSecOps
Continuous Compliance and DevSecOpsContinuous Compliance and DevSecOps
Continuous Compliance and DevSecOps
Puppet
 
The Dynamic Duo of Puppet and Vault tame SSL Certificates, Nick Maludy
The Dynamic Duo of Puppet and Vault tame SSL Certificates, Nick MaludyThe Dynamic Duo of Puppet and Vault tame SSL Certificates, Nick Maludy
The Dynamic Duo of Puppet and Vault tame SSL Certificates, Nick Maludy
Puppet
 

More from Puppet (20)

Puppet camp2021 testing modules and controlrepo
Puppet camp2021 testing modules and controlrepoPuppet camp2021 testing modules and controlrepo
Puppet camp2021 testing modules and controlrepo
 
Puppetcamp r10kyaml
Puppetcamp r10kyamlPuppetcamp r10kyaml
Puppetcamp r10kyaml
 
2021 04-15 operational verification (with notes)
2021 04-15 operational verification (with notes)2021 04-15 operational verification (with notes)
2021 04-15 operational verification (with notes)
 
Puppet camp vscode
Puppet camp vscodePuppet camp vscode
Puppet camp vscode
 
Modules of the twenties
Modules of the twentiesModules of the twenties
Modules of the twenties
 
Applying Roles and Profiles method to compliance code
Applying Roles and Profiles method to compliance codeApplying Roles and Profiles method to compliance code
Applying Roles and Profiles method to compliance code
 
KGI compliance as-code approach
KGI compliance as-code approachKGI compliance as-code approach
KGI compliance as-code approach
 
Enforce compliance policy with model-driven automation
Enforce compliance policy with model-driven automationEnforce compliance policy with model-driven automation
Enforce compliance policy with model-driven automation
 
Keynote: Puppet camp compliance
Keynote: Puppet camp complianceKeynote: Puppet camp compliance
Keynote: Puppet camp compliance
 
Automating it management with Puppet + ServiceNow
Automating it management with Puppet + ServiceNowAutomating it management with Puppet + ServiceNow
Automating it management with Puppet + ServiceNow
 
Puppet: The best way to harden Windows
Puppet: The best way to harden WindowsPuppet: The best way to harden Windows
Puppet: The best way to harden Windows
 
Simplified Patch Management with Puppet - Oct. 2020
Simplified Patch Management with Puppet - Oct. 2020Simplified Patch Management with Puppet - Oct. 2020
Simplified Patch Management with Puppet - Oct. 2020
 
Accelerating azure adoption with puppet
Accelerating azure adoption with puppetAccelerating azure adoption with puppet
Accelerating azure adoption with puppet
 
Puppet catalog Diff; Raphael Pinson
Puppet catalog Diff; Raphael PinsonPuppet catalog Diff; Raphael Pinson
Puppet catalog Diff; Raphael Pinson
 
ServiceNow and Puppet- better together, Kevin Reeuwijk
ServiceNow and Puppet- better together, Kevin ReeuwijkServiceNow and Puppet- better together, Kevin Reeuwijk
ServiceNow and Puppet- better together, Kevin Reeuwijk
 
Take control of your dev ops dumping ground
Take control of your  dev ops dumping groundTake control of your  dev ops dumping ground
Take control of your dev ops dumping ground
 
100% Puppet Cloud Deployment of Legacy Software
100% Puppet Cloud Deployment of Legacy Software100% Puppet Cloud Deployment of Legacy Software
100% Puppet Cloud Deployment of Legacy Software
 
Puppet User Group
Puppet User GroupPuppet User Group
Puppet User Group
 
Continuous Compliance and DevSecOps
Continuous Compliance and DevSecOpsContinuous Compliance and DevSecOps
Continuous Compliance and DevSecOps
 
The Dynamic Duo of Puppet and Vault tame SSL Certificates, Nick Maludy
The Dynamic Duo of Puppet and Vault tame SSL Certificates, Nick MaludyThe Dynamic Duo of Puppet and Vault tame SSL Certificates, Nick Maludy
The Dynamic Duo of Puppet and Vault tame SSL Certificates, Nick Maludy
 

Recently uploaded

FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
UiPathCommunity
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
Prayukth K V
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
Thijs Feryn
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
Elena Simperl
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
DanBrown980551
 
By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
Pierluigi Pugliese
 
Welocme to ViralQR, your best QR code generator.
Welocme to ViralQR, your best QR code generator.Welocme to ViralQR, your best QR code generator.
Welocme to ViralQR, your best QR code generator.
ViralQR
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
Safe Software
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Product School
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Ramesh Iyer
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
Laura Byrne
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
Sri Ambati
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
91mobiles
 
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
UiPathCommunity
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
Product School
 
Assure Contact Center Experiences for Your Customers With ThousandEyes
Assure Contact Center Experiences for Your Customers With ThousandEyesAssure Contact Center Experiences for Your Customers With ThousandEyes
Assure Contact Center Experiences for Your Customers With ThousandEyes
ThousandEyes
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 

Recently uploaded (20)

FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
 
By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
 
Welocme to ViralQR, your best QR code generator.
Welocme to ViralQR, your best QR code generator.Welocme to ViralQR, your best QR code generator.
Welocme to ViralQR, your best QR code generator.
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
 
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
 
Assure Contact Center Experiences for Your Customers With ThousandEyes
Assure Contact Center Experiences for Your Customers With ThousandEyesAssure Contact Center Experiences for Your Customers With ThousandEyes
Assure Contact Center Experiences for Your Customers With ThousandEyes
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 

Puppet camp europe 2011 hackability

  • 1. Wireless • Any “BvB Hotspot...” network • New browser page • User: bvbhotspot Password: berlag33 Friday, May 13, 2011
  • 2. puppet labs Friday, May 13, 2011
  • 3. Making Puppet More Hackable Luke Kanies luke@puppetlabs.com Friday, May 13, 2011
  • 4. Question Authority Friday, May 13, 2011
  • 6. Puppet Labs • 40 employees Friday, May 13, 2011
  • 7. Puppet Labs • 40 employees • Fantastic investors and board members Friday, May 13, 2011
  • 8. Puppet Labs • 40 employees • Fantastic investors and board members • I’m still CEO Friday, May 13, 2011
  • 10. Apache License Friday, May 13, 2011
  • 12. Static Compiler Friday, May 13, 2011
  • 13. Certificate API Friday, May 13, 2011
  • 14. Deterministic Ordering For otherwise unrelated resources Friday, May 13, 2011
  • 15. Enhanced Graph Management Friday, May 13, 2011
  • 16. Puppet Enterprise Friday, May 13, 2011
  • 17. Always based on full releases Friday, May 13, 2011
  • 18. Looking for Partners Friday, May 13, 2011
  • 19. PE 1.1 - 5/11 • MCollective • RHEL 4/5/6, SLES, Solaris Friday, May 13, 2011
  • 20. PE 1.2 - 6/11 • Discovery • Provisioning Friday, May 13, 2011
  • 21. Q3 • Full Windows support • 2.7 base • Change Lifecycle Management Friday, May 13, 2011
  • 22. Faces, Hackability, and Marketing Friday, May 13, 2011
  • 23. Puppet is different, but not in straightforward ways Friday, May 13, 2011
  • 25. I wanted to tell The Story of Why Friday, May 13, 2011
  • 26. A bit of history: Cfengine Friday, May 13, 2011
  • 27. I had no control • Stuckwith whatever application logic it shipped with • Core components were mandatory Friday, May 13, 2011
  • 28. Do Not Question • Why is this file here? • What requires this package? • What will happen if I change this file? • Do these classes conflict? Friday, May 13, 2011
  • 30. “Puppet is Different” Friday, May 13, 2011
  • 31. Easily extensible, everywhere A quick count shows 10 kinds of extensibility Friday, May 13, 2011
  • 32. The Puppet world • Facts • Resources • Catalogs • Edges • Events Friday, May 13, 2011
  • 33. Questions can be asked of every artifact • Is this file being managed? • What happens if I restart this service? • Who requires this package? • Did my service restart? • Were there any failures? Friday, May 13, 2011
  • 34. Data > Code • Caching • Validation • Implementation Independence • Integration Friday, May 13, 2011
  • 35. "Exec[createrepo-PM-RHEL5-noarch]" The Graph Matters "Yumrepo[PM-RHEL5-x86_64]" "Package[postgresql-server]" "Postgres::Role[puppet]" "Package[thttpd]" "File[/var/www/thttpd/html/yum-PM-RHEL5-x86_64]" "File[/var/www/thttpd/html/yum-PM-RHEL5-noarch]" "Exec[rsync-rpmdir-PM-RHEL5-x86_64]" "Exec[rsync-rpmdir-PM-RHEL5-noarch]" "Exec[createrepo-PM-RHEL5-x86_64]" "Yumrepo[PM-RHEL5-noarch]" Friday, May 13, 2011
  • 36. An Aside: The Competition Friday, May 13, 2011
  • 37. AFAIK, Puppet is the only tool that provides: • A complete list of every resource managed in your entire infrastructure • A complete list of every dependency in your entire infrastructure • A complete list of every single change that’s ever happened in your entire infrastructure • With full run simulation and inspection ...all in a queryable, storable, cacheable way Friday, May 13, 2011
  • 38. Progress? •Declarative •Code runs on Cfengine client •Implicit •Imperative dependencies •Code runs on Chef client •Implicit dependencies •Declarative Puppet •Only data on clients, no code •Explicit dependencies Friday, May 13, 2011
  • 39. How do we talk about this? Market this? Friday, May 13, 2011
  • 40. “Puppet is Model-Driven” Friday, May 13, 2011
  • 41. Procedural Code Catalog Compile Apply Report Friday, May 13, 2011
  • 42. Model-driven Compile Apply Code Catalog Report It’s the artifacts that matter Friday, May 13, 2011
  • 43. Policy CMDB Remedy Complian Compile Apply Code Catalog Report LDAP CMDB Nagios Friday, May 13, 2011
  • 44. No one knows what ‘model driven’ means Friday, May 13, 2011
  • 45. “Puppet is hackable” Props to Nick Fagerland Friday, May 13, 2011
  • 46. But it wasn’t really true Friday, May 13, 2011
  • 47. You could *program* it, but not hack it like a sysadmin would Friday, May 13, 2011
  • 48. Really: Encapsulated, modular and data- driven Friday, May 13, 2011
  • 49. Unfortunately the applications hard-code our logic • Download plugins • Upload Facts • Download Catalog • Apply Catalog • Send Report Friday, May 13, 2011
  • 50. Other application world- views exist • Only update catalogs during maintenance windows • Push catalog updates • Send fact updates 10x as often as puppet runs • Combine multiple catalogs on the client side and run them together • Compile catalogs for hundreds of hosts and compare them • Manually view catalog diffs before deploying Friday, May 13, 2011
  • 51. It doesn’t make sense to extend the core apps with this logic Friday, May 13, 2011
  • 52. And doing it yourself is too hard with current tools Friday, May 13, 2011
  • 53. So we should expose everything and let you build what you want Friday, May 13, 2011
  • 54. Functions • Compiler • Transactions • Network • Indirector • Parser • RAL Friday, May 13, 2011
  • 55. Data • Facts • Catalog • Reports • Resource Types (AST and RAL) • Nodes • Certificates Friday, May 13, 2011
  • 58. A framework for exposing, combining, and extending core Puppet functions and data types Friday, May 13, 2011
  • 59. A collection of Faces that does this in Ruby and on the CLI Friday, May 13, 2011
  • 60. Good: It directly exposes Puppet internals in a hackable way Friday, May 13, 2011
  • 61. Bad: It directly exposes Puppet internals Friday, May 13, 2011
  • 62. Examples • puppet catalog find <host> • puppet facts upload • puppet certificate sign <host> • puppet file find <sum> Friday, May 13, 2011
  • 63. Easily extensible • puppet config info <name> • puppet catalog select <host> <type> • puppet file diff <sum> <sum> • puppet node clean <name> • puppet catalog diff <host> <host> Friday, May 13, 2011
  • 64. What we’re working on Friday, May 13, 2011
  • 65. Team and Community Friday, May 13, 2011
  • 66. Flattening the on-ramp Friday, May 13, 2011
  • 67. Ad-hoc Tooling Friday, May 13, 2011
  • 68. Cross-Node Applications Friday, May 13, 2011
  • 70. Change Lifecycle Friday, May 13, 2011