15. 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
}
16. 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
17. 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
29. 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
30. 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
31. 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
32. 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
33. 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
34. 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
35. 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
36. Puppet Forge
• Module repository
• By the community ... For the community
• Identify and use the best ones
• Contribute your own modules
Add Additional Functionality to Puppet / Puppet Enterprise
41. 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
43. 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.