Chris Spence
@tophlammiepie
IRC: fiddyspence
cspence@puppetlabs.com
Tuesday, April 29, 14
A Quick Poll
Tuesday, April 29, 14
We live in
Interesting
Times
Tuesday, April 29, 14
More. Faster.
Tuesday, April 29, 14
Old practices are
constraints ...
Tuesday, April 29, 14
...and old
constraints are
gone
Tuesday, April 29, 14
Major IT
movements
Tuesday, April 29, 14
No future....
Tuesday, April 29, 14
SaaS sets the
trend
Tuesday, April 29, 14
Enterprise pays
the bills
Tuesday, April 29, 14
Driving down the cost
of technological change
Tuesday, April 29, 14
Started 8.5 years
ago
Tuesday, April 29, 14
Datacenter and
Cloud
Automation
Tuesday, April 29, 14
Very Simple Language
class ssh {
package { 'openssh-server':
ensure => present,
}
file { 'sshd_config':
path => '/etc/ssh/sshd_config',
source => ‘puppet:///modules/ssh/sshd_config',
require => Package['openssh-server'],
notify => Service['sshd'],
}
service { 'sshd':
ensure => running,
enable => true,
require => File['sshd_config'],
}
}
Tuesday, April 29, 14
New Approach: Software
Defined Infrastructure
1. DEFINE 2. SIMULATE
4. REPORT
Re-usable infrastructure-as-code Before deploying changes
Automatically and reliablyInsight into changes
DESIRED
STATE
CURRENT
STATE
3. ENFORCE
}
Tuesday, April 29, 14
Facts
The node sends
normalized data
about itself to the
Puppet Master.
1
Catalog
Puppet uses the Facts to
compile a Catalog that
specifies how the node
should be configured.
2
Report
Puppet s open API
can also send data
to third party tools.
4
Report
The node
reports back
to Puppet
indicating the
configuration is
complete, which
is visible in the
Puppet Dashboard.
3
Report Collector
(Puppet or 3rd party tool)
Node
Puppet
Master
SSL secure
encryption
on all data
transport
Lifecycle of a Puppet Run
Tuesday, April 29, 14
Puppet
Architecture
Web Server Database ServerApplication Server
Reporting
GUI &
Workflows
Content
Admin &
Security
Virtual Machine CloudHardware
PUPPET MASTER SERVER
PUPPET
AGENT
PUPPET FORGE CONTENT MARKETPLACE
PUPPET
AGENT
PUPPET
AGENT
PUPPET OPEN SOURCE PLATFORM
Tuesday, April 29, 14
Puppet
Enterprise
Tuesday, April 29, 14
Solid platform
Tuesday, April 29, 14
Ecosystem
Support
Tuesday, April 29, 14
Additional
Features
Tuesday, April 29, 14
Interactive Event Reporting
Tuesday, April 29, 14
Live Management:
Remote Control of Puppet Agent
Tuesday, April 29, 14
Live Management: Resource
Browsing and Centralized Inv.
Tuesday, April 29, 14
Cloud
Provisioner /
VMWare
Support
Tuesday, April 29, 14
Open Source
Tuesday, April 29, 14
Technical
Proving Ground
Tuesday, April 29, 14
Highly Flexible
Core Components
Tuesday, April 29, 14
Puppet
• Core language for specifying
infrastructure state
• Transactional system for enforcing it
• Resource Abstraction Layer
• Reusable modules: Puppet Forge
Puppet Enterprise built on top of Puppet
Tuesday, April 29, 14
MCollective (mco)
• Parallel,real-time execution across
your whole network
• Real-time discovery of all nodes and
their functions
• Powerful command and control tool
Drives Orchestration Engine in Puppet Enterprise
Tuesday, April 29, 14
PuppetDB
• Stores all configurations,facts,and
reports
• Knows everything there is to know
about your infrastructure
• Foundation for nearly all reporting
and analysis
Foundation for Puppet / Puppet Enterprise data storage
Tuesday, April 29, 14
Facter
• Facts: bits of data that you care about
• Core inputs for customizing Puppet
configurations per host
• Easily pluggable to collect new data or
store it in existing databases
Foundation for Puppet / Puppet Enterprise Inventory
Tuesday, April 29, 14
Hiera
• Separate site configuration data from
reusable code
• Iterate and promote code quickly
without having to manage dev/test
configuration differences
Foundation for Puppet / Puppet Enterprise Hierarchical Data
Tuesday, April 29, 14
Razor
• Rules-based provisioning for bare
metal hardware and virtual servers
• Feeds directly into your Puppet
Infrastructure
• Physical machines as easy to
provision as VMs
Provision servers,then use Puppet / Puppet Enterprise
Tuesday, April 29, 14
Puppet Armatures
• Proposals to enhance / add features
• For significant / large impact work
• Community-focused process with
improved openness and transparency
• Working on simplifying process
github.com/puppetlabs/armatures
Feature Enhancements for Puppet
Tuesday, April 29, 14
Puppet Forge
• Module repository
• Identify and use the best ones
• Contribute your own modules
Add Additional Functionality to Puppet / Puppet Enterprise
Tuesday, April 29, 14
Puppet Labs
Tuesday, April 29, 14
Puppet Labs
Tuesday, April 29, 14
Customers Everywhere
Tuesday, April 29, 14
We’re Hiring!
• Professional Services (everywhere)
• Engineering
• QA
• Modules
• Forge
• Windows
• Platform
• Solutions Engineering
• Support
• ...and lots more
puppetlabs.com/about/careers
Tuesday, April 29, 14
What’s Next?
Tuesday, April 29, 14
Join the Community
• Learn from others
• Ask/Answer questions
• http://ask.puppetlabs.com
• mailing lists
• IRC
• Help with bug triage
• Contribute code
• Contribute modules on the Forge
puppetlabs.com/community
Tuesday, April 29, 14
Take In-Person Training
& Get Certified
Tuesday, April 29, 14
People Love our
Worldwide Training!
I liked being with other sharp admins in an environment where
"cross-pollination" and experimentation were encouraged.
“
“A brilliant course to jump into using puppet fast and effectively.
“
Very useful information, a good start for our Puppet team, and
would highly recommend it.
Tuesday, April 29, 14
Take Online Training
puppetlabs.com/learn
Tuesday, April 29, 14
Influence Products
Tuesday, April 29, 14
Register or Submit a Talk
Tuesday, April 29, 14
Questions?
Questions?
Tuesday, April 29, 14
Thank You!
Learn More:
http://puppetlabs.com
http://puppetlabs.com/community
http://puppetlabs.com/puppet/puppet-enterprise/
Tuesday, April 29, 14
Tuesday, April 29, 14
Tuesday, April 29, 14

Puppet Camp London 2014: Keynote