vBACD - Introduction to Puppet, Configuration Management and IT Automation Software 2/29


Published on

The shift to cloud-based services has dramatically altered the IT landscape as we know it. Enterprise infrastructure borders have expanded beyond the firewall and now include hosted applications and infrastructure hosted in public and private clouds. Puppet helps DevOps teams meet their common objectives, creating a seamless IT infrastructure across departments, reducing cost and increasing productivity.
This training section will cover deploying cloud infrastructure automatically using Puppet, an open source configuration management and automation tool.The session will cover the following topics:

Configuring Puppet and Puppetmaster
Resource Types and the Resource Abstration Layer
Virtual Resources, Exported Resources and Stored Configs

Speaker Bio

Luke founded Puppet and Puppet Labs in 2005 out of fear and desperation, with the goal of producing better operations tools and changing how we manage systems. He has been publishing and speaking on his work in system administration since 1997, focusing on development since 2001. He has developed and published multiple simple sysadmin tools and contributed to established products like Cfengine, and has presented on Puppet and other tools around the world, including at OSCON, LISA, Linux.Conf.au, and FOSS.in. His work with Puppet has been an important part of DevOps and delivering on the promise of cloud computing.

Published in: Technology
1 Like
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide
  • Smallest companies require it 19k software developers, 12k apps Competitive advantage for some shops
  • Choose technology, process, priority, timing Important for stability Bottleneck for progress
  • ... Monitoring sucks Shell/perl Backups Printers?
  • We value our tools and processes Open a ticket Cover page on TPS report
  • “ I don ’ t need to know why ”
  • Surgeons and pilots follow process Change Management Can you get confidence without process?
  • The future is already here (Gibson)
  • Commercial tools built for the execs OSS built for the toolbuilders, or maybe advanced users We needed a tool that everyone could use
  • We make decisions for you 1000 knobs Brain, complexity blah blah blah Complexity through building blocks, rather than big things
  • Fundamental technology that everyone could build on
  • Fear that the world would still look the same in 10 years - after all, it hadn ’ t changed much in the previous 10 - rsh to ssh, but... Embarrassment at how bad the state of IT was Hatred of thinking SSH was a management tool
  • We don ’ t want no-ops, we want pervasive ops, accessible ops
  • Platonic ideal of a machine
  • Full ruby DSL
  • Do you really care how RPM works? Full simulation mode Discovery, diff, and change Easily extensible Lots of custom types
  • Every half an hour How change progresses through your infrastructure Explain: Facts Catalog Report
  • Agent on all of your nodes Optional master for compilation, reporting, etc. - with no central master, no reporting - compilation can be distributed for load reasons Dashboard is reporting Forge for code sharing Lots and lots of data All modes share the same code paths
  • We ’ ll come back to abstraction
  • This is shareable, releasable code. Classes are analogous with tags
  • We ’ re doing the same thing with different commands on different platforms
  • Complete stack Built, tested, supported by us Full OSS releases Multiple extra applications Free to 10 nodes
  • The future is already here (Gibson)
  • vBACD - Introduction to Puppet, Configuration Management and IT Automation Software 2/29

    1. 1. <ul><li>Luke Kanies </li></ul><ul><li>Founder of Puppet </li></ul><ul><li>Founder and CEO, Puppet Labs </li></ul>Configuration Management, Clouds, and Puppet
    2. 2. The IT Situation
    3. 3. Absolutely critical
    4. 4. Gatekeepers
    5. 5. Bad tools
    6. 6. Calcification
    7. 7. DevOps
    8. 8. 2001: Agile Manifesto
    9. 9. Individuals and interactions over processes and tools
    10. 10. Working software over comprehensive documentation
    11. 11. Customer collaboration over contract negotiation
    12. 12. Responding to change over following a plan
    13. 13. Dev: On time, under budget, wrong product <ul><li>http://diykenya.files.wordpress.com/2010/08/tire_swing.gif </li></ul>
    14. 14. Ops: Secure, stable, 18 months to deploy
    15. 15. Process exists for a reason <ul><li>http://t0.gstatic.com/images?q=tbn:ANd9GcQHJKV3omm4ov_CU7CJovofE_QGi9xsg_vPz1QHZlKXmlYtt2bB-Q </li></ul>
    16. 16. Confidence through Tooling <ul><li>http://www.mdpretech.com/images/Products/Precision%20Tooling%20for%20IC%20mold%20and%20Plastic%20mold.jpg </li></ul>
    17. 17. Cloud Computing <ul><li>http://t2.gstatic.com/images?q=tbn:ANd9GcRSjOE5BJr_A2IvmjZk1tCj7LU_qENIb58MuGqQWxU2DGqETHz- </li></ul>
    18. 18. Scale
    19. 19. Agility
    20. 20. Big Data
    21. 21. Self-service
    22. 22. Puppet
    23. 23. Puppet Users 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 Deploy 1,800 machines in 2 hours vs. 25 machines per day with HP Opsware Financial Entertainment Technology Defense Web Mobile Phone Company
    24. 24. Investors
    25. 25. Plenty of others
    26. 26. Built for the user
    27. 27. Great Design <ul><li>http://www.encorbio.com/Album/pages/ChkNFH-neuron1.htm </li></ul>
    28. 28. Configuration Platform
    29. 29. Fear Embarrassment SSH
    30. 30. More great sysadmins Programmers Sysadmins 5000 Assembly Scripts Millions Ruby, Java, PHP, C ?
    31. 31. Flatten the climb Fully Automated Infrastructure Investment Awesomeness Asynchronous Management Centralized Management Good tools
    32. 32. Why use Puppet?
    33. 33. 96% of outages are human error STABILITY
    34. 34. 1000 nodes x 10s command = no pub AGILITY
    35. 35. Air-gap Least Privilege Untrusted clients SECURITY
    36. 36. Auditability
    37. 37. Image from http://www.flickr.com/photos/fungep/2516767121/sizes/l_ GOLDEN IMAGE?
    38. 38. Puppet: A brief introduction
    39. 39. A language for configuration specification
    40. 40. Resource Abstraction Layer <ul><li>computer </li></ul><ul><li>cron </li></ul><ul><li>file </li></ul><ul><li>group </li></ul><ul><li>host </li></ul><ul><li>interface </li></ul><ul><li>k5login </li></ul><ul><li>mailalias </li></ul><ul><li>maillist </li></ul><ul><li>mcx </li></ul><ul><li>mount </li></ul>package portresourcesrouterservicesshkeystageuser vcsrepovlanyumrepo
    41. 41. Cross Platform Fedora Debian Ubuntu CentOS SuSE Red Hat OS X AIX HP-UX OpenBSD FreeBSD Solaris Windows Cisco F5
    42. 42. Workflow
    43. 43. Change Propagation
    44. 44. domain => localfacterversion => 1.5.8fqdn => sliver.localhardwaremodel => i386hostname => sliverinterfaces => lo0,gif0,stf0,en0,en1,fw0,vmnet1,vboxnet0ipaddress => => => => Darwinkernelmajversion => 10.6kernelrelease => 10.6.0macosx_productname => Mac OS Xmacosx_productversion => 10.6.6netmask => => => => => => Darwinoperatingsystemrelease => 10.6.0path => /opt/local/bin:/opt/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/binpuppetversion => 2.6.4rubysitedir => /opt/local/lib/ruby/site_ruby/1.8 AUTOMATIC INVENTORY
    45. 45. Centralized, Serverless, or Hybrid Data
    46. 46. Scales like HTTPS 2 known 50k node sites Multiple 30k node sites Tens of 3k node sites
    47. 47. Built as a platform
    48. 48. Model-based hackability <ul><li>Hosts </li></ul><ul><li>Inventory data </li></ul><ul><ul><li>IP, hostname, platform, etc. </li></ul></ul><ul><li>Resource lists </li></ul><ul><li>Resource dependencies </li></ul><ul><li>Change events </li></ul>
    49. 49. Puppet Faces <ul><li>ca </li></ul><ul><li>catalog </li></ul><ul><li>certificate </li></ul><ul><li>certificate_request </li></ul><ul><li>certificate_revocation_list </li></ul><ul><li>config </li></ul><ul><li>facts </li></ul><ul><li>file </li></ul><ul><li>help </li></ul>keymannodeparserpluginreportresourceresource_typestatus
    50. 50. MCollective: Infrastructure message bus
    51. 51. Puppet Forge 286 modules
    52. 52. How to use Puppet
    53. 53. Seek the pain Image from http://www.flickr.com/photos/pagedooley/2147718252/sizes/l/
    54. 54. Solve the simple problems
    55. 55. Add the infrastructure features you always wanted
    56. 56. Think like Puppet thinks <ul><li>Resources, not text snippets or lines added to files </li></ul><ul><li>What resources are you managing? </li></ul><ul><li>How are they related to each other? </li></ul>
    57. 57. Replace Shell Scripts with Resources Becomes: This:
    58. 58. Relationships matter but are often implicit Package Service Service should restart when configuration changes 30 Configuration 30 Configuration should get modifed after package installation
    59. 59. Explicit Relationships
    60. 60. Relationships provide ordering and notification
    61. 61. Classes document Intent
    62. 62. Organize files into modules
    63. 63. Provide platform abstraction Debian Red Hat
    64. 64. Portability and Naming
    65. 65. Roles
    66. 66. Puppet Enterprise
    67. 67. REPORTING Detail of node status to pinpoint specific issues High-level status of nodes for instant visibility Time-based display for insight into rate of change
    68. 68. Cloud Provisioning VMware Amazon AWS
    69. 69. RESOURCE BROWSING Choose nodes to clone to ensure consistency Preview the impact before you clone nodes Browse for managed nodes in your infrastructure
    70. 70. COMPLIANCE Accept or reject changes to update your baseline See specific differences between node configurations
    71. 71. ORCHESTRATION Find out the status of each node group and its last Puppet run
    72. 72. ORCHESTRATION Resources currently under Puppet management Current set of managed nodes
    73. 73. Summary
    74. 74. IT is critical but needs to improve
    75. 75. DevOps is bringing change
    76. 76. The Cloud is Coming <ul><li>http://t2.gstatic.com/images?q=tbn:ANd9GcRSjOE5BJr_A2IvmjZk1tCj7LU_qENIb58MuGqQWxU2DGqETHz- </li></ul>
    77. 77. Puppet gets you there
    78. 78. Questions?