Frictionless Operations                                 with Puppet                                 Luke Kanies           ...
The IT SituationTuesday, April 10, 12
Absolutely criticalTuesday, April 10, 12
GatekeepersTuesday, April 10, 12
Bad toolsTuesday, April 10, 12
CalcificationTuesday, April 10, 12
DevOpsTuesday, April 10, 12
2001: Agile ManifestoTuesday, April 10, 12
Individuals and                         interactions over                        processes and toolsTuesday, April 10, 12
Working software over                           comprehensive                           documentationTuesday, April 10, 12
Customer collaboration              over contract negotiationTuesday, April 10, 12
Responding to change                        over following a planTuesday, April 10, 12
Dev: On time, under                        budget, wrong product                             http://diykenya.files.wordpre...
Ops: Secure, stable, 18                    months to deployTuesday, April 10, 12
Process exists for a reason                        http://t0.gstatic.com/images?q=tbn:ANd9GcQHJKV3omm4ov_CU7CJovofE_QGi9xs...
Confidence through Tooling                        http://www.mdpretech.com/images/Products/Precision%20Tooling%20for%20IC%...
Cloud Computing                        http://t2.gstatic.com/images?q=tbn:ANd9GcRSjOE5BJr_A2IvmjZk1tCj7LU_qENIb58MuGqQWxU2...
ScaleTuesday, April 10, 12
AgilityTuesday, April 10, 12
Big DataTuesday, April 10, 12
Self-serviceTuesday, April 10, 12
PuppetTuesday, April 10, 12
Puppet Users                Mobile	  Phone    Deploy 1,800 machines in 2 hours                    Investors               ...
Plenty of othersTuesday, April 10, 12
Built for the userTuesday, April 10, 12
Great Design                        http://www.encorbio.com/Album/pages/ChkNFH-neuron1.htmTuesday, April 10, 12
Configuration                          PlatformTuesday, April 10, 12
Fear                        Embarrassment                            SSHTuesday, April 10, 12
More great sysadmins                                   Programmers   Sysadmins                         5000       Assembly...
Flatten the climb                                                               Fully	  Automated	  Infrastructure        ...
Why use Puppet?Tuesday, April 10, 12
Stability                        96% of outages are                           human errorTuesday, April 10, 12
Agility                         1000 nodes x 10s                        command = no pubTuesday, April 10, 12
Security                            Air-gap                         Least Privilege                        Untrusted clien...
AuditabilityTuesday, April 10, 12
Golden image?                        Image	  from	  http://www.flickr.com/photos/fungep/2516767121/sizes/l_Tuesday, April 1...
Puppet: A brief                         introductionTuesday, April 10, 12
A language for configuration          specificationTuesday, April 10, 12
Resource Abstraction Layer                        computer    package                        cron        port             ...
Cross Platform                        Red Hat   Solaris                        Fedora     OS X     Windows                ...
Workflow                                                                                                              1   ...
Change Propagation                                                                      Node                              ...
domain => local                        Automatic Inventory    facterversion => 1.5.8    fqdn => sliver.local    hardwaremo...
Centralized, Serverless, or                        Hybrid                          Puppet Dashboard         Puppet Module ...
Scales like HTTPS                        2 known 50k node sites                        Multiple 30k node sites            ...
Built as a platformTuesday, April 10, 12
Model-based hackability        • Hosts        • Inventory data               • IP, hostname, platform, etc.        • Resou...
Puppet Faces                        ca                            key                        catalog                      ...
MCollective:                   Infrastructure message                             busTuesday, April 10, 12
Puppet Forge                         301 modulesTuesday, April 10, 12
How to use PuppetTuesday, April 10, 12
Seek the pain                  Image	  from	  http://www.flickr.com/photos/pagedooley/2147718252/sizes/l/Tuesday, April 10,...
Solve the simple                           problemsTuesday, April 10, 12
Add the infrastructure                         features you always                               wantedTuesday, April 10, 12
Think like Puppet thinks        • Resources, not text snippets or lines          added to files        • What resources ar...
Replace Shell Scripts                          with Resources    This:    Becomes:Tuesday, April 10, 12
Relationships matter but                        are often implicit         Package         Configuration should           ...
Explicit RelationshipsTuesday, April 10, 12
Relationships provide                                                         ordering and                         "Exec[c...
Classes document IntentTuesday, April 10, 12
Organize files into                            modulesTuesday, April 10, 12
Provide platform abstraction          Debian         Red	  HatTuesday, April 10, 12
Portability and NamingTuesday, April 10, 12
RolesTuesday, April 10, 12
Puppet EnterpriseTuesday, April 10, 12
Reporting                                                                                        Time-­‐based	  display	  ...
Cloud Provisioning                              VMware                            Amazon AWS                             O...
Resource Browsing                                                  Choose	  nodes	  to	  clone	                           ...
Compliance                              See	  specific	                            differences	  between	                   ...
Orchestration                                        Find	  out	  the	  status	  of	                                      ...
Orchestration                                                        Resources	  currently	                               ...
2.5 Released today        • Windows support        • Puppet Forge integration        • Puppet Data LibraryTuesday, April 1...
SummaryTuesday, April 10, 12
IT is critical but needs to                        improveTuesday, April 10, 12
DevOps is bringing                            changeTuesday, April 10, 12
The Cloud is Coming                        http://t2.gstatic.com/images?q=tbn:ANd9GcRSjOE5BJr_A2IvmjZk1tCj7LU_qENIb58MuGqQ...
Puppet gets you thereTuesday, April 10, 12
Questions?Tuesday, April 10, 12
Give Feedback on the Sessions               1        Sign In: www.eclipsecon.org               2        Select Session Eva...
Upcoming SlideShare
Loading in …5
×

Eclipse con 2012 - Frictionless operations with Puppet - Luke Kanies

1,885 views

Published on

0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,885
On SlideShare
0
From Embeds
0
Number of Embeds
5
Actions
Shares
0
Downloads
32
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Eclipse con 2012 - Frictionless operations with Puppet - Luke Kanies

  1. 1. Frictionless Operations with Puppet Luke Kanies Founder of Puppet Founder and CEO, Puppet LabsTuesday, April 10, 12
  2. 2. The IT SituationTuesday, April 10, 12
  3. 3. Absolutely criticalTuesday, April 10, 12
  4. 4. GatekeepersTuesday, April 10, 12
  5. 5. Bad toolsTuesday, April 10, 12
  6. 6. CalcificationTuesday, April 10, 12
  7. 7. DevOpsTuesday, April 10, 12
  8. 8. 2001: Agile ManifestoTuesday, April 10, 12
  9. 9. Individuals and interactions over processes and toolsTuesday, April 10, 12
  10. 10. Working software over comprehensive documentationTuesday, April 10, 12
  11. 11. Customer collaboration over contract negotiationTuesday, April 10, 12
  12. 12. Responding to change over following a planTuesday, April 10, 12
  13. 13. Dev: On time, under budget, wrong product http://diykenya.files.wordpress.com/2010/08/tire_swing.gifTuesday, April 10, 12
  14. 14. Ops: Secure, stable, 18 months to deployTuesday, April 10, 12
  15. 15. Process exists for a reason http://t0.gstatic.com/images?q=tbn:ANd9GcQHJKV3omm4ov_CU7CJovofE_QGi9xsg_vPz1QHZlKXmlYtt2bB-QTuesday, April 10, 12
  16. 16. Confidence through Tooling http://www.mdpretech.com/images/Products/Precision%20Tooling%20for%20IC%20mold%20and%20Plastic%20mold.jpgTuesday, April 10, 12
  17. 17. Cloud Computing http://t2.gstatic.com/images?q=tbn:ANd9GcRSjOE5BJr_A2IvmjZk1tCj7LU_qENIb58MuGqQWxU2DGqETHz-Tuesday, April 10, 12
  18. 18. ScaleTuesday, April 10, 12
  19. 19. AgilityTuesday, April 10, 12
  20. 20. Big DataTuesday, April 10, 12
  21. 21. Self-serviceTuesday, April 10, 12
  22. 22. PuppetTuesday, April 10, 12
  23. 23. Puppet Users Mobile  Phone Deploy 1,800 machines in 2 hours Investors vs. 25 machines per day with HP Opsware Company Scaled from 0 to over 10,000 servers in 2 months without training 287 servers per SysAdmin vs. 19 for BMC BladeLogic Over 50,000 systems managed by Puppet Financial Entertainment Technology Defense WebTuesday, April 10, 12
  24. 24. Plenty of othersTuesday, April 10, 12
  25. 25. Built for the userTuesday, April 10, 12
  26. 26. Great Design http://www.encorbio.com/Album/pages/ChkNFH-neuron1.htmTuesday, April 10, 12
  27. 27. Configuration PlatformTuesday, April 10, 12
  28. 28. Fear Embarrassment SSHTuesday, April 10, 12
  29. 29. More great sysadmins Programmers Sysadmins 5000 Assembly Scripts Ruby, Java, Millions ? PHP, CTuesday, April 10, 12
  30. 30. Flatten the climb Fully  Automated  Infrastructure Asynchronous  Management Centralized  Management Awesomeness Good  tools InvestmentTuesday, April 10, 12
  31. 31. Why use Puppet?Tuesday, April 10, 12
  32. 32. Stability 96% of outages are human errorTuesday, April 10, 12
  33. 33. Agility 1000 nodes x 10s command = no pubTuesday, April 10, 12
  34. 34. Security Air-gap Least Privilege Untrusted clientsTuesday, April 10, 12
  35. 35. AuditabilityTuesday, April 10, 12
  36. 36. Golden image? Image  from  http://www.flickr.com/photos/fungep/2516767121/sizes/l_Tuesday, April 10, 12
  37. 37. Puppet: A brief introductionTuesday, April 10, 12
  38. 38. A language for configuration specificationTuesday, April 10, 12
  39. 39. Resource Abstraction Layer computer package cron port file resources group router host service interface sshkey k5login stage mailalias user maillist vcsrepo mcx vlan mount yumrepoTuesday, April 10, 12
  40. 40. Cross Platform Red Hat Solaris Fedora OS X Windows Debian AIX Cisco Ubuntu HP-UX CentOS OpenBSD F5 SuSE FreeBSDTuesday, April 10, 12
  41. 41. Workflow 1 Define: With Puppets declarative language you design a graph of relationships between resources within reusable modules. These modules define your infrastructure in its desired state. E R AG VE CO SE EA CR IN ND E A I T E R AT 4 Report: Puppet Dashboard reports 2 Simulate: With this resource track relationships between graph, Puppet is unique in its components and all changes, allowing ability to simulate deployments, enabling you to keep up with security and you to test changes without disruption compliance mandates. And with the to your infrastructure. open API you can integrate Puppet with third party monitoring tools. CURRENT 3 Enforce: Puppet compares your STATE system to the desired state as you define it, and automatically enforces it DESIRED STATE to the desired state ensuring your system is in compliance.Tuesday, April 10, 12
  42. 42. Change Propagation Node 1 Facts The node sends normalized data about itself to the Puppet Master. SSL secure 2 Catalog Puppet uses the Facts to encryption compile a Catalog that on all data specifies how the node transport should be configured. Report 3 The node reports back to Puppet indicating the configuration is complete, which is visible in the Puppet Puppet Dashboard. Master 4 Report Collector (Puppet or 3rd party tool) Report can also send data to third party tools.Tuesday, April 10, 12
  43. 43. domain => local Automatic Inventory 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 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 GHzTuesday, April 10, 12
  44. 44. Centralized, Serverless, or Hybrid Puppet Dashboard Puppet Module Forge 3rd Party Systems Data Modules MCollective handles Puppet Master orchestration Facter Facter Facter Puppet Agent Puppet Agent Puppet Agent NODE NODE NODETuesday, April 10, 12
  45. 45. Scales like HTTPS 2 known 50k node sites Multiple 30k node sites Tens of 3k node sitesTuesday, April 10, 12
  46. 46. Built as a platformTuesday, April 10, 12
  47. 47. Model-based hackability • Hosts • Inventory data • IP, hostname, platform, etc. • Resource lists • Resource dependencies • Change eventsTuesday, April 10, 12
  48. 48. Puppet Faces ca key catalog man certificate node certificate_request parser certificate_revocation_list plugin config report facts resource file resource_type help statusTuesday, April 10, 12
  49. 49. MCollective: Infrastructure message busTuesday, April 10, 12
  50. 50. Puppet Forge 301 modulesTuesday, April 10, 12
  51. 51. How to use PuppetTuesday, April 10, 12
  52. 52. Seek the pain Image  from  http://www.flickr.com/photos/pagedooley/2147718252/sizes/l/Tuesday, April 10, 12
  53. 53. Solve the simple problemsTuesday, April 10, 12
  54. 54. Add the infrastructure features you always wantedTuesday, April 10, 12
  55. 55. Think like Puppet thinks • Resources, not text snippets or lines added to files • What resources are you managing? • How are they related to each other?Tuesday, April 10, 12
  56. 56. Replace Shell Scripts with Resources This: Becomes:Tuesday, April 10, 12
  57. 57. Relationships matter but are often implicit Package Configuration should get modifed after package installation Configuration Service should restart when configuration changes ServiceTuesday, April 10, 12
  58. 58. Explicit RelationshipsTuesday, April 10, 12
  59. 59. Relationships provide ordering and "Exec[createrepo-PM-RHEL5-noarch]" notification "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]"Tuesday, April 10, 12
  60. 60. Classes document IntentTuesday, April 10, 12
  61. 61. Organize files into modulesTuesday, April 10, 12
  62. 62. Provide platform abstraction Debian Red  HatTuesday, April 10, 12
  63. 63. Portability and NamingTuesday, April 10, 12
  64. 64. RolesTuesday, April 10, 12
  65. 65. Puppet EnterpriseTuesday, April 10, 12
  66. 66. Reporting Time-­‐based  display   for  insight  into  rate  of   change High-­‐level  status  of   nodes  for  instant   visibility Detail  of  node   status  to  pinpoint   specific  issuesTuesday, April 10, 12
  67. 67. Cloud Provisioning VMware Amazon AWS OpenStackTuesday, April 10, 12
  68. 68. Resource Browsing Choose  nodes  to  clone   to  ensure  consistency Browse  for  managed   Preview  the  impact   nodes  in  your   before  you  clone   infrastructure nodesTuesday, April 10, 12
  69. 69. Compliance See  specific   differences  between   node  configurations   Accept  or  reject   changes  to  update   your  baselineTuesday, April 10, 12
  70. 70. Orchestration Find  out  the  status  of   each  node  group  and   its  last  Puppet  runTuesday, April 10, 12
  71. 71. Orchestration Resources  currently   under  Puppet   management Current  set  of   managed  nodesTuesday, April 10, 12
  72. 72. 2.5 Released today • Windows support • Puppet Forge integration • Puppet Data LibraryTuesday, April 10, 12
  73. 73. SummaryTuesday, April 10, 12
  74. 74. IT is critical but needs to improveTuesday, April 10, 12
  75. 75. DevOps is bringing changeTuesday, April 10, 12
  76. 76. The Cloud is Coming http://t2.gstatic.com/images?q=tbn:ANd9GcRSjOE5BJr_A2IvmjZk1tCj7LU_qENIb58MuGqQWxU2DGqETHz-Tuesday, April 10, 12
  77. 77. Puppet gets you thereTuesday, April 10, 12
  78. 78. Questions?Tuesday, April 10, 12
  79. 79. Give Feedback on the Sessions 1 Sign In: www.eclipsecon.org 2 Select Session Evaluate 3 VoteTuesday, April 10, 12

×