Download - State of Puppet - Puppet Camp Austin
Friday, May 3, 13
A Quick Poll
Friday, May 3, 13
The State ofIT
Friday, May 3, 13
More. Faster.
Friday, May 3, 13
Old practices are constraints ...
Friday, May 3, 13
...and old constraints are
gone
Friday, May 3, 13
State of IT Automation
Friday, May 3, 13
How Can Organizations
Achieve High Performance?
HIGH PERFORMING ORGANIZATIONS SHARE TWO COMMON PRACTICES
use version control for infrastructure management
use automated code deployments
Get the 2013 State of DevOps Report at https://puppetlabs.com/solutions/devops/
Friday, May 3, 13
Enabling FrictionlessTechnological Change
Friday, May 3, 13
Customers Everywhere
Friday, May 3, 13
New Approach: SoftwareDefined Infrastructure
1. DEFINE 2. SIMULATE
4. REPORT
Re-usable infrastructure-as-code Before deploying changes
Automatically and reliably Insight into changes
DESIRED STATE
CURRENT STATE
3. ENFORCE
}
Friday, May 3, 13
Lifecycle of a Puppet Run1. Facts The node sends data about its state to the puppet master server. 2.#Catalog#Puppet&uses&the&facts&to&compile&a&Catalog&that&specifies&how&the&node&should&be&configured.& 3.#&Report#Configura9on&changes&are&reported&back&to&the&Puppet&Master. 4.#&Report#Puppet's&open&API&can&also&send&data&to&3rd&party&tools.&
1 Facts 2 Catalog#
Node#
3 Report#
4 Report#Report#Collector#
Friday, May 3, 13
PuppetArchitecture
Web Server Database Server Application Server
Reporting GUI & Workflows Content Admin &
Security
Virtual Machine Cloud Hardware
PUPPET MASTER SERVER
PUPPET AGENT
PUPPET FORGE CONTENT MARKETPLACE
PUPPET AGENT
PUPPET AGENT
PUPPET OPEN SOURCE PLATFORM
Friday, May 3, 13
Simple, Declarative
Friday, May 3, 13
Strong CommunityForum Members Jan 2012 March 2013
puppet-users list 3588 5531
puppet-dev list 724 994
ask.puppetlabs.com N/A 336
#puppet 600 999
Repository Jan 2012 March 2013
Puppet Forks 236 533
Puppet Watchers 526 1230
Friday, May 3, 13
Easy to Get Involved
• Help with Documentation
• Ask/Answer questions
• http://ask.puppetlabs.com
• mailing lists
• IRC
• Help with bug triage
• Contribute code
• Contribute modules on the Forge
• Visit https://puppetlabs.com/community to learn more
Friday, May 3, 13
Friday, May 3, 13
Puppet Enterprise
Friday, May 3, 13
Puppet Enterprise
GRAPHICAL USER INTERFACE LIVE MANAGEMENT
SERVICES & SUPPORT VMWARE CLOUD PROVISIONER
Friday, May 3, 13
GUI for Puppet
High-level status of nodes for instant visibility
Time%based*display*for*insight*into*rate*of*change*
Detail*of*node*status*to*pinpoint*specific*issues*
Friday, May 3, 13
PE Live Management
Friday, May 3, 13
VM/Cloud Provisioning
Friday, May 3, 13
Recent Features
• Certificate Signing from the GUI
• Authentication with LDAP and oAuth
Friday, May 3, 13
Puppetand
Related Projects
Friday, May 3, 13
Puppet 3.2.0
• Ruby 2.0 Support
• External Certificate Authority Support
• Experimental “Future” parser
• Slow Catalog Profiling
• OpenWRT OS Support
• DSL modulo operator - %
Friday, May 3, 13
Puppet 3.2.0 - Experimental Parser
• parser = future• Iteration and Enumerables
$a = [1,2,3] each($a) |$value| { notice $value }
• each, foreach, collect, select, reject, reduce, slice
collect([1,20,3]) |$value| { $value < 10 } # produces [1,3]
Friday, May 3, 13
Scope
# dynamic scoping is gone
class parent { $var = "from parent" include included}
class included { notify { $var: } ## NOT GONNA WORK notify { $parent::var: } ## YUP
Friday, May 3, 13
class ntp($server = hiera(ntp_server, ‘time.apple.com’)) { ...}
# can be changed toclass ntp($ntpserver = ‘time.apple.com’) { ...}
Data Binding
Friday, May 3, 13
PerformanceGains
Friday, May 3, 13
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
github.com/puppetlabs/armatures
Friday, May 3, 13
Puppet Forge: Module Repository
• By the community ... For the community
• Identify and use the best ones
• Contribute your own modules
Jan 2012 April 2013
Modules 260 1050+
Users 930 2325+
Total DownloadsSince Feb 2012 588,000+
Friday, May 3, 13
Puppet Forge: Critical Services
Friday, May 3, 13
Puppet Forge: Manage Solutions
Friday, May 3, 13
Puppet Forge: Utilities
Friday, May 3, 13
MCollective
• Framework to build server orchestration
• Parallel job execution
• Real-time discovery of resources
• Target only the systems you want
Friday, May 3, 13
MCollective 2.2.x
• Network discovery completely pluggable
• Sources of Truth:
• network, database, file, anything
• Result Summarization in the DDL
• Shell Completion support
• ships with zsh and bash examples
Friday, May 3, 13
MCollective 2.2.x - Puppet Agent
• http://srt.ly/mcpuppet
• Orchestrates deployments
• Manages Puppet agent runs, supports:
• noop, tags, splay, environments, server
• enable/disable, custom lock messages
• current status, most recent run status
• Manages resource usage on the Puppet Master
• Throttle # of simultaneous runs
Friday, May 3, 13
MCollective 2.2.x - Puppet Agent
Friday, May 3, 13
PuppetDB
• Central storage for catalogs and facts that are part of your puppet infrastructure
• Incredibly fast replacement for existing ActiveRecord storeconfigs
• Easily deployed via a puppet module from the Forge
Friday, May 3, 13
PuppetDB 1.2
• Automatic node purging
• Import/export of PuppetDB data
• Automatic dead-letter office compression
• Package availability changes
Friday, May 3, 13
Razor Provisioning
• Rules-based provisioning for bare metal hardware and virtual servers
• Developed in cooperation with EMC
• Easily deployed via a puppet module from the Forge
• Automatically brings the new server into your puppet infrastructure
• Open, pluggable, and programmable
Friday, May 3, 13
Razor Present and Future
• Security audits, fixes in the 0.9.0 release
• Not yet ready for prime time
• Help us get it there
• File bugs, contribute to the community
Friday, May 3, 13
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
• Support is built into Puppet 3, and is available as an add-on for Puppet 2.7
Friday, May 3, 13
Facter 1.7
• External Facts!https://docs.puppetlabs.com/guides/custom_facts.html#external-facts
• Any executable in the facts.d directory is a fact
• Just return key/value pairs on STDOUT
• Windows
• .com .exe .bat .ps1 supported
• Also supports structured data files in facts.d
• .yaml .json .txt supported
Friday, May 3, 13
Friday, May 3, 13
Puppet Labs
Friday, May 3, 13
Puppet Labs: by the numbers
Jan 2012 April 2013
Employees 55 134
Customer Countries 29 42
Office Space 836 m2
9,000 ft22,232 m2
25,000 ft2
Friday, May 3, 13
We’re Hiring!
Friday, May 3, 13
Training&
Certification
Friday, May 3, 13
Training by Country
Friday, May 3, 13
Puppet Education:Training and Certification Track
Friday, May 3, 13
Questions?
Questions?
Friday, May 3, 13
Thank You!
Learn More:http://puppetlabs.com
http://puppetlabs.com/communityhttp://puppetlabs.com/puppet/puppet-enterprise/
Friday, May 3, 13