This document discusses how Puppet, Mcollective, and related tools have advanced to help users take DevOps to the next level. It summarizes new features in Puppet 3.0 like improved speed and scalability, Hiera for hierarchical configuration data, and PuppetDB for fast, scalable storage of Puppet data. It also outlines advances in Mcollective for orchestration and tools like Geppetto and the Puppet Forge. The document argues these tools help users achieve higher levels of speed, scalability, extensibility, reliability, flexibility, agility, and community involvement.
1. Taking Devops to the Next Level!
Max Martin
Developer & Manager
@maxmartin
1
2. So
you’ve
automated
your
infrastructure…
• Configura7on
as
code
• Be9er
insight
into
the
structure
of
your
systems
• More
robust
deployments
• But
how
do
you
reach
the
next
level?
2
6. Puppet
3.0
–
Hiera
func7ons
+
data
bindings
• Hiera:
hierarchical
key-‐value
store
• Keeps
site-‐specific
data
out
of
Puppet
code
• Parameter
values
are
now
automa7cally
looked
up
in
Hiera
• Hiera
func7ons
in
core
give
7ghter
integra7on
6
9. Puppet
3.0
–
Hiera
Example
node "ntp.example.com" {
include ntp
}
9
10. PuppetDB
• Fast,
durable
data
storage
for
data
generated
by
Puppet,
including:
– Facts
– Catalogs
– Reports
– Exported
resources
• Replaces
exis7ng
libraries
(including
storeconfigs
and
the
old
Inventory
Service
backend),
is
much
faster
&
more
reliable
10
11. PuppetDB
-‐
Technology
• Based
on
PostgreSQL:
reliable,
ba9le-‐tested
• Wri9en
in
Clojure:
fast,
mul7-‐core
• Based
on
the
JVM:
can
be
shipped
as
a
JAR
11
12. PuppetDB
-‐
Technology
•
•
•
•
12
Thousands
of
PuppetDB
deployments
Hundreds
of
threads
per
install
Zero
deadlocks
Zero
bugs
involving
state
13. PuppetDB
–
Query
Syntax
and
APIs
• AST-‐based
query
syntax
["and", ["=", "type", "User”],
["=", "title", ”max"]]
["and",
["=”,["fact", "operatingsystem"], "Debian"],
["<”,["fact", "uptime_seconds"], 10000]]
• API
for
defining
your
own
query
syntax
– Erik
Dalén,
Spo7fy:
h9ps://github.com/dalen/puppet-‐puppetdbquery
• Rich
APIs
make
it
easy
to
build
your
own
tools
to
consume
Puppet
data
13
21. Geppe9o
•
•
•
•
21
IDE
for
developing
Puppet
modules
&
code
Integrates
with
git
&
SVN
Linux,
OS
X
&
Windows
Debug
your
Puppet
modules
as
you
develop
them,
and
publish
directly
to
the
Puppet
Forge
22. Puppet
Forge
•
•
•
•
•
22
Puppet
Labs’
module
repository
1,500+
community-‐contributed
modules
Improved
search
Team
of
module
engineers
Standards
&
best
prac7ces
23. Taking
you
to
the
next
level
of…
•
•
•
•
•
•
•
23
Speed
Scalability
Extensibility
Reliability
Flexibility
Agility
Community