SlideShare uma empresa Scribd logo
1 de 71
Baixar para ler offline
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

Mais conteúdo relacionado

Mais procurados

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 developmentNikolai 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 Goikailan
 
Atlassian RoadTrip 2011 Slide Deck
Atlassian RoadTrip 2011 Slide DeckAtlassian RoadTrip 2011 Slide Deck
Atlassian RoadTrip 2011 Slide DeckAtlassian
 
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 GallimoreJAX London
 

Mais procurados (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
 

Destaque

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.3Puppet
 
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 PuppetPuppet
 
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 '11Puppet
 
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 PuppetPuppet
 

Destaque (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
 

Semelhante a Puppet camp europe 2011 hackability

Usability tour-pceu-2011
Usability tour-pceu-2011Usability tour-pceu-2011
Usability tour-pceu-2011Puppet
 
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 2011Michael Neale
 
Error Handling Done Differently
Error Handling Done DifferentlyError Handling Done Differently
Error Handling Done DifferentlyCloudBees
 
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 unit2John Willis
 
YOU WILL REGRET THIS
YOU WILL REGRET THISYOU WILL REGRET THIS
YOU WILL REGRET THISMononcQc
 
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 2011Sergi 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
 
Intro to Micro-frameworks
Intro to Micro-frameworksIntro to Micro-frameworks
Intro to Micro-frameworksjsmith92
 
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 DocumentClever Moe
 
High quality iOS development
High quality iOS developmentHigh quality iOS development
High quality iOS developmentRobin 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
 

Semelhante a 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
 

Mais de Puppet

Puppet camp2021 testing modules and controlrepo
Puppet camp2021 testing modules and controlrepoPuppet camp2021 testing modules and controlrepo
Puppet camp2021 testing modules and controlrepoPuppet
 
Puppetcamp r10kyaml
Puppetcamp r10kyamlPuppetcamp r10kyaml
Puppetcamp r10kyamlPuppet
 
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 vscodePuppet
 
Modules of the twenties
Modules of the twentiesModules of the twenties
Modules of the twentiesPuppet
 
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 codePuppet
 
KGI compliance as-code approach
KGI compliance as-code approachKGI compliance as-code approach
KGI compliance as-code approachPuppet
 
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 automationPuppet
 
Keynote: Puppet camp compliance
Keynote: Puppet camp complianceKeynote: Puppet camp compliance
Keynote: Puppet camp compliancePuppet
 
Automating it management with Puppet + ServiceNow
Automating it management with Puppet + ServiceNowAutomating it management with Puppet + ServiceNow
Automating it management with Puppet + ServiceNowPuppet
 
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 WindowsPuppet
 
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. 2020Puppet
 
Accelerating azure adoption with puppet
Accelerating azure adoption with puppetAccelerating azure adoption with puppet
Accelerating azure adoption with puppetPuppet
 
Puppet catalog Diff; Raphael Pinson
Puppet catalog Diff; Raphael PinsonPuppet catalog Diff; Raphael Pinson
Puppet catalog Diff; Raphael PinsonPuppet
 
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 ReeuwijkPuppet
 
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 groundPuppet
 
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 SoftwarePuppet
 
Puppet User Group
Puppet User GroupPuppet User Group
Puppet User GroupPuppet
 
Continuous Compliance and DevSecOps
Continuous Compliance and DevSecOpsContinuous Compliance and DevSecOps
Continuous Compliance and DevSecOpsPuppet
 
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 MaludyPuppet
 

Mais de 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
 

Último

#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
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 AutomationSafe Software
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
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 MountPuma Security, LLC
 
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 MenDelhi Call girls
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
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 Nanonetsnaman860154
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
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 RobisonAnna Loughnan Colquhoun
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
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 slidevu2urc
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 

Último (20)

#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
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
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
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
 
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
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
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
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
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
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
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
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 

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