Expanded Introduction     to Puppet    рамках Форума  технологий Mail.Ru                2012-04-24                Moscow, ...
The one-off myth                     Your systems are not beautiful                              snowflakesphoto from http:/...
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 Community Ecosystem                                      Puppet Distribution
                                      ...
Puppet is Pervasive  Web       Entertainment   TechnologyFinancial                             Defense
Puppet EnterpriseWhat it is:•   Puppet and related components packaged and    integrated in one install:     •   Puppet   ...
Puppet Enterprise•   Fully QA’d stack of Puppet and dependencies•   Simplified installation•   Ease of maintenance•   Pre-c...
How Puppet Works                                                                                              1    Define: ...
Use Puppet to create composable configurationsModules   and manage the enterprise infrastructure                           ...
Puppet Assigns and Maintains   a Node’s Desired Role
Managing Configuration Drift
How Puppet Manages Data Flow         for Individual Nodes                                                Node             ...
Facts AutomaticallyMaintained Asset   Inventory
architecture => i386domain => localfacterversion => 1.6.6fqdn => sliver.localhardwareisa => i386hardwaremodel => i386hostn...
Custom Facts
How Puppet Manages Data Flow         for Individual Nodes                                                Node             ...
Catalog• Automatically             maintained comprehensive resource list• Easilyvalidated against compliance requirements...
How Puppet Manages Data Flow         for Individual Nodes                                                Node             ...
Reporting• Comprehensive report of every change ever made, correlated to every resource being managed• Easily       valida...
Reporting•http/https•log•store•tagmail
Reporting
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
StoreconfigsAbility to pass data between nodes, viaa database acting as a proxy •   MySQL •   SQLite3 •   PostgreSQL •   Or...
Storeconfigs
External Node       Classifier•Puppet Dashboard•Your own CMDB
External Node        ClassifierA script that takes $certname asan argument and outputs YAML toSTDOUT
External Node  Classifier
External Node  Classifier
Expanded Introduction     to Puppet    рамках Форума  технологий Mail.Ru                2012-04-24                Moscow, ...
Honeycutt garret expanded_intro_to_puppet_for_mailru
Upcoming SlideShare
Loading in …5
×

Honeycutt garret expanded_intro_to_puppet_for_mailru

303 views

Published on

Published in: Business, Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
303
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
7
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Honeycutt garret expanded_intro_to_puppet_for_mailru

  1. 1. Expanded Introduction to Puppet рамках Форума технологий Mail.Ru 2012-04-24 Moscow, RU Garrett Honeycutt Professional Services Consultant garrett@puppetlabs.com http://linkedin.com/in/garretthoneycutt
  2. 2. The one-off myth Your systems are not beautiful snowflakesphoto from http://beesknees67.deviantart.com/
  3. 3. The one-off myth• Only temporary
  4. 4. The one-off myth• Only temporary• Replicas for pre-production environments
  5. 5. The one-off myth• Only temporary• Replicas for pre-production environments• Disaster recovery
  6. 6. Why?
  7. 7. Why?• reduce entropy
  8. 8. Why?• reduce entropy• disaster recovery
  9. 9. Why?• reduce entropy• disaster recovery• change management
  10. 10. Why?• reduce entropy• disaster recovery• change management• infrastructure as code
  11. 11. Puppet Community Ecosystem Puppet Distribution
 Bundled with major OS ! Text 4,000 person mailing list
 900 conversations a month
 Puppet Community
 750 people at all times in IRC Active participation ! (dedicated channel)2500+ people 300+ modules Puppet Contributors
contributing to contributed to Frameworkdocumentation Puppet Forge enhancements and code !
  12. 12. Puppet is Pervasive Web Entertainment TechnologyFinancial Defense
  13. 13. Puppet EnterpriseWhat it is:• Puppet and related components packaged and integrated in one install: • Puppet • Puppet Master • Dashboard • Facter • Ruby • Apache • Passenger, etc.
  14. 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. 15. How Puppet Works 1 Define: !"#$%&(()#*+%,)-./0/#"1)% % ./23/3)%45%,)+"32%/%30/($%56% 0)./#"52+$"(+%7)#8))2%0)+50-)+%8"#$"2% 0)+/7.)%95,.)+:%;$)+)%95,.)+%,)6"2)% 450%"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)+50-)%% #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%450%"260/+#0-#0):5()2%@&A%45%-/2%"2#)30/#)%&(()#%8"#$%#$"0,%(/0#4%952"#50"23%#55.+: EFDDBG; %3 Enforce:%&(()#%-59(/0)+%450% C;@;B % +4+#)9%#5%#$)%,)+"0),%+#/#)%/+%45% ,)6"2)%"#<%/2,%/#59/#"-/..4%)2650-)+%"#% >BCADB> C;@;B #5%#$)%,)+"0),%+#/#)%)2+0"23%450%+4+#)9% "+%"2%-59(."/2-):
  16. 16. Use Puppet to create composable configurationsModules 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*!35%!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!,:/!53$,1#>)-! ?@9A!$,,23< "DA!7DEFDE7 9GHGAG7D!7DEFDE7 G&&IJ?GHJKL!7DEFDE7 LK9D LK9D LK9D 3 Reusable, composable configurations. ! ! "#$%!&(()$!+,!56/!0)B3)!1,-2)3!650,33!12$#(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
  17. 17. Puppet Assigns and Maintains a Node’s Desired Role
  18. 18. Managing Configuration Drift
  19. 19. 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)#6Report 3!"#$%&#$)#4&)/($0+8=$/&$3144#/$-%-8+/-%:$/"#$8&%2-:1)+/-&%$-($8&*4,#/#>$;"-8"$-($?-(-0,#$-%$/"#$ Puppet3144#/$@+("0&+)6 Master 4 Report Collector A3144#/$&)$B)$4+)/<$/&&,C Report 8+%$+,(&$(#%$+/+$ /&$/"-)$4+)/<$/&&,(6
  20. 20. Facts AutomaticallyMaintained Asset Inventory
  21. 21. architecture => i386domain => localfacterversion => 1.6.6fqdn => sliver.localhardwareisa => i386hardwaremodel => i386hostname => sliverid => ghinterfaces => lo0,gif0,stf0,en0,en1,fw0ipaddress => 192.168.101.185ipaddress_en1 => 192.168.101.185ipaddress_lo0 => 127.0.0.1is_virtual => falsekernel => Darwinkernelmajversion => 10.8kernelrelease => 10.8.0kernelversion => 10.8.0memoryfree => 102.80 MB
  22. 22. Custom Facts
  23. 23. 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)#6Report 3!"#$%&#$)#4&)/($0+8=$/&$3144#/$-%-8+/-%:$/"#$8&%2-:1)+/-&%$-($8&*4,#/#>$;"-8"$-($?-(-0,#$-%$/"#$ Puppet3144#/$@+("0&+)6 Master 4 Report Collector A3144#/$&)$B)$4+)/<$/&&,C Report 8+%$+,(&$(#%$+/+$ /&$/"-)$4+)/<$/&&,(6
  24. 24. Catalog• Automatically maintained comprehensive resource list• Easilyvalidated against compliance requirements prior to client configuration
  25. 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)#6Report 3!"#$%&#$)#4&)/($0+8=$/&$3144#/$-%-8+/-%:$/"#$8&%2-:1)+/-&%$-($8&*4,#/#>$;"-8"$-($?-(-0,#$-%$/"#$ Puppet3144#/$@+("0&+)6 Master 4 Report Collector A3144#/$&)$B)$4+)/<$/&&,C Report 8+%$+,(&$(#%$+/+$ /&$/"-)$4+)/<$/&&,(6
  26. 26. Reporting• Comprehensive report of every change ever made, correlated to every resource being managed• Easily validated against compliance requirements after reach run
  27. 27. Reporting•http/https•log•store•tagmail
  28. 28. Reporting
  29. 29. What not How
  30. 30. What not how
  31. 31. Example Resource Types• cron• exec• file• group• host• zfs• mount• package• service• sshkey
  32. 32. Package-File-Service
  33. 33. File Serving
  34. 34. Templates
  35. 35. Templates - Advanced
  36. 36. Syntax Checking
  37. 37. StoreconfigsAbility to pass data between nodes, viaa database acting as a proxy • MySQL • SQLite3 • PostgreSQL • Oracle
  38. 38. Storeconfigs
  39. 39. External Node Classifier•Puppet Dashboard•Your own CMDB
  40. 40. External Node ClassifierA script that takes $certname asan argument and outputs YAML toSTDOUT
  41. 41. External Node Classifier
  42. 42. External Node Classifier
  43. 43. Expanded Introduction to Puppet рамках Форума технологий Mail.Ru 2012-04-24 Moscow, RU Garrett Honeycutt Professional Services Consultant garrett@puppetlabs.com http://linkedin.com/in/garretthoneycutt

×