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

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