"Puppet Keynote" by Luke Kanies, CEO and Founder of Puppet Labs, at Puppet Camp London 2013. Find the video here: http://puppetlabs.com/community/puppet-camp
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/
Infrastructure as Code
2. SIMULATE
}
1. DEFINE
Re-usable infrastructure-as-code
4. REPORT
Before deploying changes
3. ENFORCE
CURRENT
STATE
DESIRED
STATE
Insight into changes
Automatically and reliably
Lifecycle of a Puppet Run
Node
1
Report
3
The node
reports back
to Puppet
indicating the
configuration is
complete, which
is visible in the
Puppet Dashboard.
Facts
The node sends
normalized data
about itself to the
Puppet Master.
2
SSL secure
encryption
on all data
transport
Puppet
Master
Catalog
Puppet uses the Facts to
compile a Catalog that
specifies how the node
should be configured.
4
Report
Puppet s open API
can also send data
to third party tools.
Report Collector
(Puppet or 3rd party tool)
Puppet
Architecture
PUPPET FORGE CONTENT MARKETPLACE
PUPPET MASTER SERVER
Reporting
GUI &
Workflows
Content
Admin &
Security
PUPPET OPEN SOURCE PLATFORM
PUPPET
AGENT
PUPPET
AGENT
PUPPET
AGENT
Web Server
Application Server
Database Server
Hardware
Virtual Machine
Cloud
Puppet
• Core language for specifying
•
•
•
infrastructure state
Transactional system for enforcing it
Resource Abstraction Layer for
modeling systems
Large library of reusable modules on
the Puppet Forge
Mcollective (mco)
• Parallel, real-time execution across
•
•
your whole network
Real-time discovery of all nodes and
their functions
Powerful command and control tool
PuppetDB
• Stores all configurations, facts, and
•
•
reports
Knows everything there is to know
about your infrastructure
Foundation for nearly all reporting
and analysis
Facter
• Discovery engine that feeds host
data into Puppet
• Provides the core inputs for
customizing Puppet configurations
per host
• Easily pluggable to collect new data
or store it in existing databases
Hiera
• Separate site configuration data from
•
reusable code
Iterate and promote code quickly
without having to manage dev/test
configuration differences
Razor Provisioning
• Rules-based provisioning for bare
•
•
metal hardware and virtual servers
Feeds directly into your Puppet
Infrastructure
Get virtual machine provisioning
from your physical machines
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
puppetlabs.com/community