Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

State of Puppet 2013 - Puppet Camp DC


Published on

  • Be the first to comment

State of Puppet 2013 - Puppet Camp DC

  1. 1. James Sweeny @jsween_y IRC: supercow on freenode
  2. 2. A Quick Poll
  3. 3. The State of IT
  4. 4. More. Faster.
  5. 5. Old practices are constraints ...
  6. 6. ...and old constraints are gone
  7. 7. State of IT Automation
  8. 8. Get the 2013 State of DevOps Report at
  9. 9. Enabling Frictionless Technological Change
  10. 10. Customers Everywhere
  11. 11. New Approach: Software Defined Infrastructure
  12. 12. Lifecycle of a Puppet Run
  13. 13. Puppet Architecture
  14. 14. Community Growth 1,700 modules 449 module authors 1.3 million downloads on the Puppet Forge 80,000 people have downloaded Puppet, PE, MCollective or the Learning VM 5,000+ people have been trained on Puppet technologies
  15. 15. Community Growth Mailing List Membership Note: Double counting alert!!
  16. 16. Easy to Get Involved • Help with Documentation • Ask/Answer questions • • mailing lists • IRC • Help with bug triage • Contribute code • Contribute modules on the Forge
  17. 17. Puppet Enterprise
  18. 18. Innovation & Reliability: Open Source & Puppet Enterprise Environment for Nurturing Innovation Upstream Open Source Projects puppet mcollective facter +40 puppetdb hiera •~8,000 members •Latest technologies •Rapid release cycles •~1000s of changes / week •Community support (IRC, forums) smaller foss projects IT Automation for Business-Critical Apps Commercial Product puppet enterprise •Commercial-only functionality •Single, integrated solution •Graphical User Interface •Installer & upgrader •QA’d & security hardened •Performance tuning •API guarantees •Support & maintenance •Training & services
  19. 19. Puppet Enterprise Overview
  20. 20. Puppet Enterprise IT automation for end-to-end infrastructure lifecycle management Discovery of nodes, resources, and status using real-time data Provisioning of bare metal, virtual, and cloud capacity IT Automation Configuration installation and configuration of operating systems and applications and automated enforcement Orchestration of multi-step operations to targeted collections of nodes Reporting of all state changes of all resources across all nodes
  21. 21. Puppet Enterprise: Discovery Dynamic, real-time discovery of nodes, resources, and state Address all nodes simultaneously Query any data source on a node % mco find –S “environment=QA and !dept=sales” !dept=sales” Nodes Puppet Classes & Facts Files & Databases System Queries puppet enterprise No More Outdated CMDBs Current deployment = source of truth Cloud Service APIs (eg, EC2) Ask Specific Questions Focus queries using booleans and regular expressions Scalable, Real-time Responses Asynchronous message busbased architecture
  22. 22. Puppet Enterprise: Provisioning Quickly stand-up private and public cloud infrastructure Provisions instances and install agents Agents register with master puppet enterprise Agents apply configurations Leverage Existing Work Re-use on-premise configs for cloud deployments Many Clouds, One Solution Avoid lock-in to cloud vendor-specific APIs Prevent Cloud Drift Maintain consistent environments between onpremise and the cloud
  23. 23. Puppet Enterprise: Configuration Improve agility and productivity through defining and enforcing a desired state 1. Define the desired state service { ‘ssh’: ssh’ ensure => running, enable => true, true, subscribe => File[‘/etc/sshd_config’] File[ /etc/sshd_config’ } 2. Simulate configuration changes 4. Report on differences and any changes made puppet enterprise Current State Desired State 3. Enforce the deployed desired state – automatically
  24. 24. Puppet Enterprise: Orchestration Controlled, multi-step operations to targeted collections of nodes Goal: update Apache on all QA nodes Update 10% of nodes Update next 20% Wait 20 min 100% of nodes updated Wait 20 min Puppet Enterprise Dynamic Multi-step Operations Chain the outputs of one operation into the next Manage Change Rate Progressively apply changes to sub-sets of nodes Control Change Scope Apply changes only to specifically tagged nodes
  25. 25. Puppet Enterprise: Reporting Inventory and change data accessible via GUI and APIs Comprehensive Infrastructure Data Hardware and software inventory, change reports, configuration graphs Open Standards YAML, JSON, and .dot-formatted data accessible via RESTful API Rich Ecosystem of Tools Boundary, New Relic, Graphite, GraphViz, Gephi, and many more
  26. 26. Puppet Enterprise: Event Inspector Quickly understand and act on changes occurring in your infrastructure Know What Changed, Where, & How Visualize infrastructure changes by Nodes, Classes, and Resources Understand the Impact Drill-down, zoom-out to evaluate the scope of changes Take Action & Improve Service Levels Get the specifics to address and manage change
  27. 27. Puppet Enterprise: Role-Based Access Control Read-only, Read-write, and Admin roles Easy Set-up Quickly create new users through the Puppet Enterprise console GUI Easy Installation Select from Read-only, Read-write, or Admin roles Native Resource Support Users’ activities logged and auditable Third-Party Authentication Support LDAP, Active Directory, Google Apps
  28. 28. The Projects that Make Puppet Awesome
  29. 29. Puppet • Core project in the Puppet ecosystem • Idempotent, model-based configuration management • A simple language to describe state and an engine for enforcing it • Huge library of reusable modules on the Puppet Forge Puppet Enterprise built on top of Puppet
  30. 30. MCollective (mco) • • • • • Framework for server orchestration Parallel, real-time job execution Pluggable discovery of resources Target only the systems you want Extensible through simple Ruby agents Drives Orchestration Engine in Puppet Enterprise
  31. 31. PuppetDB • Foundation for applications that use Puppet data • Central storage for catalogs and facts that are part of your puppet infrastructure • Incredibly fast replacement for existing ActiveRecord stored configs • The most recent facts and catalog for every node Foundation for Puppet / Puppet Enterprise data storage
  32. 32. Hiera • • • • Simple, pluggable Hierarchical Database Key/value lookup tool for configuration data Keeps site-specific data out of your manifests Puppet classes request data and Hiera will act like a site-wide config file • Makes it easy to configure nodes, re-use Puppet modules and publish your modules Foundation for Puppet / Puppet Enterprise Hierarchical Data
  33. 33. Facter • Collects Facts about each system and uploads them to the Puppet • • • master, making an inventory system and a way to make decisions in your Puppet code Facts are available as variables in the Puppet DSL, like ‘$operatingsystem’ Super easy to plug-in additional facts in Ruby External Facts let you extend your inventory without Ruby: • shell, batch files or Powershell on windows, raw YAML Foundation for Puppet / Puppet Enterprise Inventory
  34. 34. Razor Provisioning • Rules-based provisioning for bare metal hardware and virtual • • • • • servers Developed in cooperation with EMC/VMWare Easily deployed via a puppet module from the Forge Automatically brings new servers into your puppet infrastructure Open, pluggable, and programmable Not yet ready for prime time - Help us get there by filing bugs and contributing to the community
  35. 35. Puppet Armatures (ARM) • Proposals to enhance / add features • Process for collecting, reviewing, sorting, and recording the result of proposals for enhancements • Used for work that is significant or large impact • Community-focused process with improved openness and transparency Feature Enhancements for Puppet
  36. 36. Puppet Forge: Module Repository • By the community ... For the community • Identify and use the best ones • Contribute your own modules Jan 2012 September 2013 Modules 260 1525+ Users 930 3100+ Total Downloads Since Feb 2012 1.4 million Add Additional Functionality to Puppet / Puppet Enterprise
  37. 37. Puppet Labs
  38. 38. Puppet Labs: by the numbers Jan 2012 September 2013 Employees 55 190+ Customer Countries 29 42 Office Space 836 m2 9,000 ft2 2,232 m2 25,000 ft2
  39. 39. We’re Hiring!
  40. 40. Training & Certification
  41. 41. Training by Country
  42. 42. Training Courses and Certification
  43. 43. New Online Training
  44. 44. Questions? Questions?
  45. 45. Thank You! Learn More: