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
33. 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
34. Puppet - News
• Puppet 3.5.0/3.6.0 released
• Directory Environments
• Future Parser
• SSH Key purging
• $facts hash
• Hashes/Arrays in facts
Puppet Enterprise built on top of Puppet
35. 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
36. MCollective - News
• Direct Addressing
• Standard Input Discovery Plugin
• Threading client option enabled
Drives Orchestration Engine in Puppet Enterprise
37. 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
38. PuppetDB - News
• PuppetDB 2.0
• Environment support
• Anonymized Exports
Foundation for Puppet / Puppet Enterprise data storage
39. 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
41. 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
42. 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
43. 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
44. 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
49. 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
51. 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.