Eclipse con 2012 - Frictionless operations with Puppet - Luke Kanies

1,877 views

Published on

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

No Downloads
Views
Total views
1,877
On SlideShare
0
From Embeds
0
Number of Embeds
5
Actions
Shares
0
Downloads
31
Comments
0
Likes
3
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

×