SlideShare a Scribd company logo
1 of 46
Download to read offline
Expanded Introduction
       to Puppet
   for DevOps Days
               2011-08-28
             Bangalore, India

              Garrett Honeycutt
        Professional Services Consultant
           garrett@puppetlabs.com
    http://linkedin.com/in/garretthoneycutt
The one-off myth



                     Your systems are not beautiful
                              snowflakes


photo from http://beesknees67.deviantart.com/
The one-off myth

•   Only temporary
The one-off myth

•   Only temporary

•   Replicas for pre-production environments
The one-off myth

•   Only temporary

•   Replicas for pre-production environments

•   Disaster recovery
Why?
Why?

• reduce   entropy
Why?

• reduce   entropy
• disaster   recovery
Why?

• reduce   entropy
• disaster   recovery
• change   management
Why?

• reduce   entropy
• disaster   recovery
• change   management
• infrastructure   as code
Puppet Open Source Ecosystem

                                    Puppet Distribution

                                    Bundled with major OS
                                    !




   
    3,000 person mailing list

    2,000 messages a month
         Puppet Community

  300 people at all times in IRC    Active participation
                                    !

   (#puppet on freenode.net)

 100+ people       100+ modules
                                    Puppet Contributors

contributing to    contributed to
                                    Framework
documentation      Puppet Module
                                    enhancements
   and code 
          Forge 
      !
Operating System Support

Linux
     Unix
       Other
Red Hat
    Solaris
 Fedora
             OS X
 CentOS
               Windows
             AIX
 Ubuntu
                (2011)
            HP-UX
 Debian
  SuSE
    OpenBSD
Puppet Enterprise
What it is:
•   Puppet and related components packaged and
    integrated in one install:
     •   Puppet
     •   Puppet Master
     •   Dashboard
     •   Facter
     •   Ruby
     •   Apache
     •   Passenger, etc.
Puppet Enterprise
•   Fully QA’d stack of Puppet and dependencies
•   Simplified installation
•   Ease of maintenance
•   Pre-configured for scalability and performance
•   Predictable enhancement delivery
•   Enhanced enterprise class Support
Puppet Enterprise
What you can expect in the future:
•   Pre-loaded set of commonly used modules
•   Direct integration with public module-forge
•   Support for additional platforms
•   Integration with MCollective
Puppet is Pervasive
  Web       Entertainment   Technology




Financial
                             Defense
How Puppet Works

                                                                                              1    Define: !"#$%&'(()#*+%,)-./0/#"1)%
                                                                                             %      ./23'/3)%45'%,)+"32%/%30/($%56%
                                                                                             0)./#"52+$"(+%7)#8))2%0)+5'0-)+%8"#$"2%
                                                                                             0)'+/7.)%95,'.)+:%;$)+)%95,'.)+%,)6"2)%
                                                                                             45'0%"260/+#0'-#'0)%"2%"#+%,)+"0),%+#/#):

                                                                                        JB
                                                                               B   D@
                                                                            HI
                                                                       %E
                                                                  CB


                                                             B@
                                                        ED
                                                       %AG
                                                 G>
                                              B%@
                                          A ; B D @;




%4   Report: &'(()#%>/+$75/0,%0)(50#+%                                                                                      2    Simulate:%!"#$%#$"+%0)+5'0-)%
%    #0/-?%0)./#"52+$"(+%7)#8))2%                                                                                          %      30/($<%&'(()#%"+%'2"=')%"2%"#+%
-59(52)2#+%/2,%/..%-$/23)+<%/..58"23%                                                                                      /7"."#4%#5%+"9'./#)%,)(.549)2#+<%)2/7."23%
45'%#5%?))(%'(%8"#$%+)-'0"#4%/2,%                                                                                          45'%#5%#)+#%-$/23)+%8"#$5'#%,"+0'(#"52%
-59(."/2-)%9/2,/#)+:%@2,%8"#$%#$)%                                                                                         #5%45'0%"260/+#0'-#'0):
5()2%@&A%45'%-/2%"2#)30/#)%&'(()#%8"#$%
#$"0,%(/0#4%952"#50"23%#55.+:




                                EFDDBG;
                                                                                             %3    Enforce:%&'(()#%-59(/0)+%45'0%
                                C;@;B                                                        %     +4+#)9%#5%#$)%,)+"0),%+#/#)%/+%45'%
                                                                                             ,)6"2)%"#<%/2,%/'#59/#"-/..4%)2650-)+%"#%
                                                                       >BCADB>
                                                                       C;@;B                 #5%#$)%,)+"0),%+#/#)%)2+'0"23%45'0%+4+#)9%
                                                                                             "+%"2%-59(."/2-):
Use Puppet to create composable configurations
Modules   and manage the enterprise infrastructure

                                                                        1    Define Your Resources in Modules.
                                                                       !      "#$%!&'(()$*!+,'!-).#/)!+,'0!1,-'2)3!4+!/,-)!
            9GHGAG7D    "DA!7DEFDE      G&&!7DEFDE         7D?MEJH =   52633#.#56$#,/3*!3'5%!63!")4!7)08)0!,0!96$6463)*!622,:#/;!
                                                                       +,'!$,!-).#/)!0)26$#,/3%#(3!4)$:))/!0)3,'05)3!6/-!
                                                                       5,/.#;'0)!$%,'36/-3!,.!3)08)03!6$!,/5)<!
                Via                          Custom                          Assign resource relationships automatically.!
          Puppet Dashboard               External Source
                                            (CMDB, LDAP, etc.)
                                                                       !
                                                                        2
                                                                             =,'!56/!$%)/!633#;/!6/-!-)(2,+!5,/.#;'06$#,/3!
                                                                       8#6!&'(()$!963%4,60-*!,0!:#$%!+,'0!,:/!5'3$,1#>)-!
                                                                       ?@9A!$,,23<
          "DA!7DEFDE7     9GHGAG7D!7DEFDE7      G&&IJ?GHJKL!7DEFDE7




             LK9D               LK9D                    LK9D
                                                                        3    Reusable, composable configurations. !
                                                                       !    "#$%!&'(()$!+,'!56/!0)B'3)!1,-'2)3!650,33!1'2$#(2)!
                                                                       /,-)3*!#/!:%6$)8)0!5,14#/6$#,/!+,'!/))-*!0)-'5#/;!
                                                                       0)()$#$#8)!$63C3!6/-!)2#1#/6$#/;!)00,0B(0,/)!350#($3<!




             LK9D               LK9D                    LK9D                                    Multi Node
Puppet Assigns and Maintains
   a Node’s Desired Role
Managing Configuration Drift
How Puppet Manages Data Flow
         for Individual Nodes

                                                Node




                     1   Facts
                         !"#$%&'#$(#%'($
                         %&)*+,-.#'$'+/+$
                         +0&1/$-/(#,2$/&$/"#$
                         3144#/$5+(/#)6
                                                  SSL secure               2    Catalog
                                                                                3144#/$1(#($/"#$7+8/($/&
                                                  encryption                    8&*4-,#$+$9+/+,&:$/"+/
                                                  on all data                   (4#8-2-#($"&;$/"#$%&'#
                                                  transport                     ("&1,'$0#$8&%2-:1)#'6
Report     3
!"#$%&'#$
)#4&)/($0+8=$
/&$3144#/$
-%'-8+/-%:$/"#$
8&%2-:1)+/-&%$-($
8&*4,#/#>$;"-8"$
-($?-(-0,#$-%$/"#$                              Puppet
3144#/$@+("0&+)'6                               Master             4                    Report Collector
                                                                                        A3144#/$&)$B)'$4+)/<$/&&,C
                                                                Report
                                                                8+%$+,(&$(#%'$'+/+$
                                                                /&$/"-)'$4+)/<$/&&,(6
Facts

 Automatically
Maintained Asset
   Inventory
domain => local
facterversion => 1.5.8
fqdn => sliver.local
hardwaremodel => i386
hostname => sliver
interfaces => lo0,gif0,stf0,en0,en1,fw0,vmnet1,vboxnet0
ipaddress => 192.168.174.1
ipaddress_lo0 => 127.0.0.1
ipaddress_vmnet1 => 192.168.174.1
kernel => Darwin
kernelmajversion => 10.6
kernelrelease => 10.6.0
macosx_productname => Mac OS X
macosx_productversion => 10.6.6
netmask => 255.255.255.0
netmask_lo0 => 255.0.0.0
netmask_vmnet1 => 255.255.255.0
network_lo0 => 127.0.0.0
network_vmnet1 => 192.168.174.0
operatingsystem => Darwin
operatingsystemrelease => 10.6.0
path => /opt/local/bin:/opt/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/
usr/X11/bin:/Users/gh/bin:/Users/gh/.gem/ruby/1.8/bin/
ps => ps auxwww
puppetversion => 2.6.4
rubysitedir => /opt/local/lib/ruby/site_ruby/1.8
timezone => PST
uptime => 1 day
rubyversion => 1.8.7
sp_bus_speed => 1.07 GHz
Custom Facts
How Puppet Manages Data Flow
         for Individual Nodes

                                                Node




                     1   Facts
                         !"#$%&'#$(#%'($
                         %&)*+,-.#'$'+/+$
                         +0&1/$-/(#,2$/&$/"#$
                         3144#/$5+(/#)6
                                                  SSL secure               2    Catalog
                                                                                3144#/$1(#($/"#$7+8/($/&
                                                  encryption                    8&*4-,#$+$9+/+,&:$/"+/
                                                  on all data                   (4#8-2-#($"&;$/"#$%&'#
                                                  transport                     ("&1,'$0#$8&%2-:1)#'6
Report     3
!"#$%&'#$
)#4&)/($0+8=$
/&$3144#/$
-%'-8+/-%:$/"#$
8&%2-:1)+/-&%$-($
8&*4,#/#>$;"-8"$
-($?-(-0,#$-%$/"#$                              Puppet
3144#/$@+("0&+)'6                               Master             4                    Report Collector
                                                                                        A3144#/$&)$B)'$4+)/<$/&&,C
                                                                Report
                                                                8+%$+,(&$(#%'$'+/+$
                                                                /&$/"-)'$4+)/<$/&&,(6
Catalog

• Automatically
             maintained
 comprehensive resource list
• Easilyvalidated against
 compliance requirements prior
 to client configuration
How Puppet Manages Data Flow
         for Individual Nodes

                                                Node




                     1   Facts
                         !"#$%&'#$(#%'($
                         %&)*+,-.#'$'+/+$
                         +0&1/$-/(#,2$/&$/"#$
                         3144#/$5+(/#)6
                                                  SSL secure               2    Catalog
                                                                                3144#/$1(#($/"#$7+8/($/&
                                                  encryption                    8&*4-,#$+$9+/+,&:$/"+/
                                                  on all data                   (4#8-2-#($"&;$/"#$%&'#
                                                  transport                     ("&1,'$0#$8&%2-:1)#'6
Report     3
!"#$%&'#$
)#4&)/($0+8=$
/&$3144#/$
-%'-8+/-%:$/"#$
8&%2-:1)+/-&%$-($
8&*4,#/#>$;"-8"$
-($?-(-0,#$-%$/"#$                              Puppet
3144#/$@+("0&+)'6                               Master             4                    Report Collector
                                                                                        A3144#/$&)$B)'$4+)/<$/&&,C
                                                                Report
                                                                8+%$+,(&$(#%'$'+/+$
                                                                /&$/"-)'$4+)/<$/&&,(6
Report

• Comprehensive report of every
 change ever made, correlated to every
 resource being managed
• Easily
       validated against compliance
 requirements after reach run
Report

•http
•log
•store
•tagmail
Report
What not How
What not how
Example Resource Types
•   cron
•   exec
•   file
•   group
•   host
•   zfs
•   mount
•   package
•   service
•   sshkey
Package-File-Service
File Serving
Templates
Templates - Advanced
Syntax Checking
Storeconfigs
Ability to pass data between nodes, via
a database acting as a proxy
Storeconfigs
Ability to pass data between nodes, via
a database acting as a proxy

 •   MySQL
 •   SQLite3
 •   PostgreSQL
 •   Oracle
Storeconfigs
External Node
       Classifier

•Puppet Dashboard

•Your own CMDB
External Node
        Classifier

A script that takes $certname as
an argument and outputs YAML to
STDOUT
External Node
  Classifier
External Node
  Classifier
Expanded Introduction
       to Puppet
   for DevOps Days
               2011-08-28
             Bangalore, India

              Garrett Honeycutt
        Professional Services Consultant
           garrett@puppetlabs.com
    http://linkedin.com/in/garretthoneycutt

More Related Content

More from garrett honeycutt

2014-11-11 Multiple Approaches to Managing Puppet Modules @ Puppet Camp Seattle
2014-11-11 Multiple Approaches to Managing Puppet Modules @ Puppet Camp Seattle2014-11-11 Multiple Approaches to Managing Puppet Modules @ Puppet Camp Seattle
2014-11-11 Multiple Approaches to Managing Puppet Modules @ Puppet Camp Seattlegarrett honeycutt
 
2014-08-19 Multiple Approaches to Managing Puppet Modules @ Puppet Camp Chicago
2014-08-19 Multiple Approaches to Managing Puppet Modules @ Puppet Camp Chicago2014-08-19 Multiple Approaches to Managing Puppet Modules @ Puppet Camp Chicago
2014-08-19 Multiple Approaches to Managing Puppet Modules @ Puppet Camp Chicagogarrett honeycutt
 
20140406 loa days-tdd-with_puppet_tutorial
20140406 loa days-tdd-with_puppet_tutorial20140406 loa days-tdd-with_puppet_tutorial
20140406 loa days-tdd-with_puppet_tutorialgarrett honeycutt
 
TDD with Puppet Tutorial presented at Cascadia IT Conference 2014-03-07
TDD with Puppet Tutorial presented at Cascadia IT Conference 2014-03-07TDD with Puppet Tutorial presented at Cascadia IT Conference 2014-03-07
TDD with Puppet Tutorial presented at Cascadia IT Conference 2014-03-07garrett honeycutt
 
20130407 load puppevtv3-and_hiera
20130407 load puppevtv3-and_hiera20130407 load puppevtv3-and_hiera
20130407 load puppevtv3-and_hieragarrett honeycutt
 
20120331 - Expanded Intro to Puppet for LOAD
20120331 - Expanded Intro to Puppet for LOAD20120331 - Expanded Intro to Puppet for LOAD
20120331 - Expanded Intro to Puppet for LOADgarrett honeycutt
 
20111110 how puppet-fits_into_your_existing_infrastructure_and_change_managem...
20111110 how puppet-fits_into_your_existing_infrastructure_and_change_managem...20111110 how puppet-fits_into_your_existing_infrastructure_and_change_managem...
20111110 how puppet-fits_into_your_existing_infrastructure_and_change_managem...garrett honeycutt
 
20110611 expanded intro-to_puppet_for_self
20110611 expanded intro-to_puppet_for_self20110611 expanded intro-to_puppet_for_self
20110611 expanded intro-to_puppet_for_selfgarrett honeycutt
 
20100425 Configuration Management With Puppet Lfnw
20100425 Configuration Management With Puppet Lfnw20100425 Configuration Management With Puppet Lfnw
20100425 Configuration Management With Puppet Lfnwgarrett honeycutt
 
Fighting Spam With A Perimeter Mail System 20071108 Sasag
Fighting Spam With A Perimeter Mail System 20071108 SasagFighting Spam With A Perimeter Mail System 20071108 Sasag
Fighting Spam With A Perimeter Mail System 20071108 Sasaggarrett honeycutt
 
20090514 Introducing Puppet To Sasag
20090514 Introducing Puppet To Sasag20090514 Introducing Puppet To Sasag
20090514 Introducing Puppet To Sasaggarrett honeycutt
 

More from garrett honeycutt (11)

2014-11-11 Multiple Approaches to Managing Puppet Modules @ Puppet Camp Seattle
2014-11-11 Multiple Approaches to Managing Puppet Modules @ Puppet Camp Seattle2014-11-11 Multiple Approaches to Managing Puppet Modules @ Puppet Camp Seattle
2014-11-11 Multiple Approaches to Managing Puppet Modules @ Puppet Camp Seattle
 
2014-08-19 Multiple Approaches to Managing Puppet Modules @ Puppet Camp Chicago
2014-08-19 Multiple Approaches to Managing Puppet Modules @ Puppet Camp Chicago2014-08-19 Multiple Approaches to Managing Puppet Modules @ Puppet Camp Chicago
2014-08-19 Multiple Approaches to Managing Puppet Modules @ Puppet Camp Chicago
 
20140406 loa days-tdd-with_puppet_tutorial
20140406 loa days-tdd-with_puppet_tutorial20140406 loa days-tdd-with_puppet_tutorial
20140406 loa days-tdd-with_puppet_tutorial
 
TDD with Puppet Tutorial presented at Cascadia IT Conference 2014-03-07
TDD with Puppet Tutorial presented at Cascadia IT Conference 2014-03-07TDD with Puppet Tutorial presented at Cascadia IT Conference 2014-03-07
TDD with Puppet Tutorial presented at Cascadia IT Conference 2014-03-07
 
20130407 load puppevtv3-and_hiera
20130407 load puppevtv3-and_hiera20130407 load puppevtv3-and_hiera
20130407 load puppevtv3-and_hiera
 
20120331 - Expanded Intro to Puppet for LOAD
20120331 - Expanded Intro to Puppet for LOAD20120331 - Expanded Intro to Puppet for LOAD
20120331 - Expanded Intro to Puppet for LOAD
 
20111110 how puppet-fits_into_your_existing_infrastructure_and_change_managem...
20111110 how puppet-fits_into_your_existing_infrastructure_and_change_managem...20111110 how puppet-fits_into_your_existing_infrastructure_and_change_managem...
20111110 how puppet-fits_into_your_existing_infrastructure_and_change_managem...
 
20110611 expanded intro-to_puppet_for_self
20110611 expanded intro-to_puppet_for_self20110611 expanded intro-to_puppet_for_self
20110611 expanded intro-to_puppet_for_self
 
20100425 Configuration Management With Puppet Lfnw
20100425 Configuration Management With Puppet Lfnw20100425 Configuration Management With Puppet Lfnw
20100425 Configuration Management With Puppet Lfnw
 
Fighting Spam With A Perimeter Mail System 20071108 Sasag
Fighting Spam With A Perimeter Mail System 20071108 SasagFighting Spam With A Perimeter Mail System 20071108 Sasag
Fighting Spam With A Perimeter Mail System 20071108 Sasag
 
20090514 Introducing Puppet To Sasag
20090514 Introducing Puppet To Sasag20090514 Introducing Puppet To Sasag
20090514 Introducing Puppet To Sasag
 

Recently uploaded

Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Zilliz
 
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu SubbuApidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbuapidays
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxRustici Software
 
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot ModelNavi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot ModelDeepika Singh
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDropbox
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
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
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...apidays
 
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
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 

Recently uploaded (20)

Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu SubbuApidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot ModelNavi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
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
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
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
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 

20110828 expanded intro-to_puppet_for_dev_ops_days_bangalore

  • 1. Expanded Introduction to Puppet for DevOps Days 2011-08-28 Bangalore, India Garrett Honeycutt Professional Services Consultant garrett@puppetlabs.com http://linkedin.com/in/garretthoneycutt
  • 2. The one-off myth Your systems are not beautiful snowflakes photo from http://beesknees67.deviantart.com/
  • 3. The one-off myth • Only temporary
  • 4. The one-off myth • Only temporary • Replicas for pre-production environments
  • 5. The one-off myth • Only temporary • Replicas for pre-production environments • Disaster recovery
  • 7. Why? • reduce entropy
  • 8. Why? • reduce entropy • disaster recovery
  • 9. Why? • reduce entropy • disaster recovery • change management
  • 10. Why? • reduce entropy • disaster recovery • change management • infrastructure as code
  • 11. Puppet Open Source Ecosystem Puppet Distribution
 Bundled with major OS ! 3,000 person mailing list
 2,000 messages a month
 Puppet Community
 300 people at all times in IRC Active participation ! (#puppet on freenode.net) 100+ people 100+ modules Puppet Contributors
 contributing to contributed to Framework documentation Puppet Module enhancements and code Forge !
  • 12. Operating System Support Linux Unix Other Red Hat Solaris Fedora OS X CentOS Windows AIX Ubuntu (2011) HP-UX Debian SuSE OpenBSD
  • 13. Puppet Enterprise What it is: • Puppet and related components packaged and integrated in one install: • Puppet • Puppet Master • Dashboard • Facter • Ruby • Apache • Passenger, etc.
  • 14. Puppet Enterprise • Fully QA’d stack of Puppet and dependencies • Simplified installation • Ease of maintenance • Pre-configured for scalability and performance • Predictable enhancement delivery • Enhanced enterprise class Support
  • 15. Puppet Enterprise What you can expect in the future: • Pre-loaded set of commonly used modules • Direct integration with public module-forge • Support for additional platforms • Integration with MCollective
  • 16. Puppet is Pervasive Web Entertainment Technology Financial Defense
  • 17. How Puppet Works 1 Define: !"#$%&'(()#*+%,)-./0/#"1)% % ./23'/3)%45'%,)+"32%/%30/($%56% 0)./#"52+$"(+%7)#8))2%0)+5'0-)+%8"#$"2% 0)'+/7.)%95,'.)+:%;$)+)%95,'.)+%,)6"2)% 45'0%"260/+#0'-#'0)%"2%"#+%,)+"0),%+#/#): JB B D@ HI %E CB B@ ED %AG G> B%@ A ; B D @; %4 Report: &'(()#%>/+$75/0,%0)(50#+% 2 Simulate:%!"#$%#$"+%0)+5'0-)% % #0/-?%0)./#"52+$"(+%7)#8))2% % 30/($<%&'(()#%"+%'2"=')%"2%"#+% -59(52)2#+%/2,%/..%-$/23)+<%/..58"23% /7"."#4%#5%+"9'./#)%,)(.549)2#+<%)2/7."23% 45'%#5%?))(%'(%8"#$%+)-'0"#4%/2,% 45'%#5%#)+#%-$/23)+%8"#$5'#%,"+0'(#"52% -59(."/2-)%9/2,/#)+:%@2,%8"#$%#$)% #5%45'0%"260/+#0'-#'0): 5()2%@&A%45'%-/2%"2#)30/#)%&'(()#%8"#$% #$"0,%(/0#4%952"#50"23%#55.+: EFDDBG; %3 Enforce:%&'(()#%-59(/0)+%45'0% C;@;B % +4+#)9%#5%#$)%,)+"0),%+#/#)%/+%45'% ,)6"2)%"#<%/2,%/'#59/#"-/..4%)2650-)+%"#% >BCADB> C;@;B #5%#$)%,)+"0),%+#/#)%)2+'0"23%45'0%+4+#)9% "+%"2%-59(."/2-):
  • 18. Use Puppet to create composable configurations Modules and manage the enterprise infrastructure 1 Define Your Resources in Modules. ! "#$%!&'(()$*!+,'!-).#/)!+,'0!1,-'2)3!4+!/,-)! 9GHGAG7D "DA!7DEFDE G&&!7DEFDE 7D?MEJH = 52633#.#56$#,/3*!3'5%!63!")4!7)08)0!,0!96$6463)*!622,:#/;! +,'!$,!-).#/)!0)26$#,/3%#(3!4)$:))/!0)3,'05)3!6/-! 5,/.#;'0)!$%,'36/-3!,.!3)08)03!6$!,/5)<! Via Custom Assign resource relationships automatically.! Puppet Dashboard External Source (CMDB, LDAP, etc.) ! 2 =,'!56/!$%)/!633#;/!6/-!-)(2,+!5,/.#;'06$#,/3! 8#6!&'(()$!963%4,60-*!,0!:#$%!+,'0!,:/!5'3$,1#>)-! ?@9A!$,,23< "DA!7DEFDE7 9GHGAG7D!7DEFDE7 G&&IJ?GHJKL!7DEFDE7 LK9D LK9D LK9D 3 Reusable, composable configurations. ! ! "#$%!&'(()$!+,'!56/!0)B'3)!1,-'2)3!650,33!1'2$#(2)! /,-)3*!#/!:%6$)8)0!5,14#/6$#,/!+,'!/))-*!0)-'5#/;! 0)()$#$#8)!$63C3!6/-!)2#1#/6$#/;!)00,0B(0,/)!350#($3<! LK9D LK9D LK9D Multi Node
  • 19. Puppet Assigns and Maintains a Node’s Desired Role
  • 21. How Puppet Manages Data Flow for Individual Nodes Node 1 Facts !"#$%&'#$(#%'($ %&)*+,-.#'$'+/+$ +0&1/$-/(#,2$/&$/"#$ 3144#/$5+(/#)6 SSL secure 2 Catalog 3144#/$1(#($/"#$7+8/($/& encryption 8&*4-,#$+$9+/+,&:$/"+/ on all data (4#8-2-#($"&;$/"#$%&'# transport ("&1,'$0#$8&%2-:1)#'6 Report 3 !"#$%&'#$ )#4&)/($0+8=$ /&$3144#/$ -%'-8+/-%:$/"#$ 8&%2-:1)+/-&%$-($ 8&*4,#/#>$;"-8"$ -($?-(-0,#$-%$/"#$ Puppet 3144#/$@+("0&+)'6 Master 4 Report Collector A3144#/$&)$B)'$4+)/<$/&&,C Report 8+%$+,(&$(#%'$'+/+$ /&$/"-)'$4+)/<$/&&,(6
  • 23. domain => local facterversion => 1.5.8 fqdn => sliver.local hardwaremodel => i386 hostname => sliver interfaces => lo0,gif0,stf0,en0,en1,fw0,vmnet1,vboxnet0 ipaddress => 192.168.174.1 ipaddress_lo0 => 127.0.0.1 ipaddress_vmnet1 => 192.168.174.1 kernel => Darwin kernelmajversion => 10.6 kernelrelease => 10.6.0 macosx_productname => Mac OS X macosx_productversion => 10.6.6 netmask => 255.255.255.0 netmask_lo0 => 255.0.0.0 netmask_vmnet1 => 255.255.255.0 network_lo0 => 127.0.0.0 network_vmnet1 => 192.168.174.0 operatingsystem => Darwin operatingsystemrelease => 10.6.0 path => /opt/local/bin:/opt/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/ usr/X11/bin:/Users/gh/bin:/Users/gh/.gem/ruby/1.8/bin/ ps => ps auxwww puppetversion => 2.6.4 rubysitedir => /opt/local/lib/ruby/site_ruby/1.8 timezone => PST uptime => 1 day rubyversion => 1.8.7 sp_bus_speed => 1.07 GHz
  • 25. How Puppet Manages Data Flow for Individual Nodes Node 1 Facts !"#$%&'#$(#%'($ %&)*+,-.#'$'+/+$ +0&1/$-/(#,2$/&$/"#$ 3144#/$5+(/#)6 SSL secure 2 Catalog 3144#/$1(#($/"#$7+8/($/& encryption 8&*4-,#$+$9+/+,&:$/"+/ on all data (4#8-2-#($"&;$/"#$%&'# transport ("&1,'$0#$8&%2-:1)#'6 Report 3 !"#$%&'#$ )#4&)/($0+8=$ /&$3144#/$ -%'-8+/-%:$/"#$ 8&%2-:1)+/-&%$-($ 8&*4,#/#>$;"-8"$ -($?-(-0,#$-%$/"#$ Puppet 3144#/$@+("0&+)'6 Master 4 Report Collector A3144#/$&)$B)'$4+)/<$/&&,C Report 8+%$+,(&$(#%'$'+/+$ /&$/"-)'$4+)/<$/&&,(6
  • 26. Catalog • Automatically maintained comprehensive resource list • Easilyvalidated against compliance requirements prior to client configuration
  • 27. How Puppet Manages Data Flow for Individual Nodes Node 1 Facts !"#$%&'#$(#%'($ %&)*+,-.#'$'+/+$ +0&1/$-/(#,2$/&$/"#$ 3144#/$5+(/#)6 SSL secure 2 Catalog 3144#/$1(#($/"#$7+8/($/& encryption 8&*4-,#$+$9+/+,&:$/"+/ on all data (4#8-2-#($"&;$/"#$%&'# transport ("&1,'$0#$8&%2-:1)#'6 Report 3 !"#$%&'#$ )#4&)/($0+8=$ /&$3144#/$ -%'-8+/-%:$/"#$ 8&%2-:1)+/-&%$-($ 8&*4,#/#>$;"-8"$ -($?-(-0,#$-%$/"#$ Puppet 3144#/$@+("0&+)'6 Master 4 Report Collector A3144#/$&)$B)'$4+)/<$/&&,C Report 8+%$+,(&$(#%'$'+/+$ /&$/"-)'$4+)/<$/&&,(6
  • 28. Report • Comprehensive report of every change ever made, correlated to every resource being managed • Easily validated against compliance requirements after reach run
  • 33. Example Resource Types • cron • exec • file • group • host • zfs • mount • package • service • sshkey
  • 39. Storeconfigs Ability to pass data between nodes, via a database acting as a proxy
  • 40. Storeconfigs Ability to pass data between nodes, via a database acting as a proxy • MySQL • SQLite3 • PostgreSQL • Oracle
  • 42. External Node Classifier •Puppet Dashboard •Your own CMDB
  • 43. External Node Classifier A script that takes $certname as an argument and outputs YAML to STDOUT
  • 44. External Node Classifier
  • 45. External Node Classifier
  • 46. Expanded Introduction to Puppet for DevOps Days 2011-08-28 Bangalore, India Garrett Honeycutt Professional Services Consultant garrett@puppetlabs.com http://linkedin.com/in/garretthoneycutt