Configuration management is the oft-misunderstood (and possibly black) art of managing your IT environment, infrastructure, and costs. Done well it can reduce operational errors and outages, simplify your environment, and help maintain the sanity of your IT staff.
Puppet is part of the bright future of configuration management for heterogeneous Unix systems. It combines automation, a powerful abstraction language, and uses a client-server model that can scale to suit enterprise-size environments. Puppet is written in Ruby and authored by recovering system administrator-turned-developer Luke Kanies.
This session explains why configuration management is important, the benefits configuration management will deliver, and how all of this can be achieved using Puppet. The session also explains emerging best practices in configuration management and addresses:
* What is configuration management? Or why am I here?
* Benefits, risks, and challenges: build fire resistant infrastructure rather than fight fires
* Best practice: how do we do this configuration management magic right?
* Where does Puppet fit in and why should management pay for its implementation?
* Why using Puppet will save you money and help staff retention (although is unlikely to stop world hunger)
* Real world configuration management using Puppet: code, examples, explanations, and using Puppet in anger
* Measuring the results and pocketing the returns
* Where to from here: some ideas about the future (may include wild-arse guesses)
5. Management Speak
• Management model for:
Infrastructure
Applications
Data
• Documentation of attributes and operations
• Organization of attributes and operations
• Validation, audit, and verification
26. What’s new?
New support for Zenoss
Native support for Augeas
Enhanced conditionals
Automated documentation of modules
Native support for SELinux
Microsoft Windows support on the way!
27. What can be managed?
30 package types
Users & groups
Services
Nagios
Support for Debian, Ubuntu, Red Hat, Solaris, OS X,
Gentoo, SuSE, *BSD, AIX, HP-UX and others.
28. In the clouds...
Spacewalk Capistrano
Augeas Amazon (E2, S3, SQS)
Func Cloud tools on the
way...
Cobbler
Kickstart
Preseed
30. Modules
Collections of classes, definitions and resources
Portable and self-contained
Several collections of modules available online
for common configurations:
http://reductivelabs.com/PuppetModules
32. Let’s all get related…
You can apply resources before other
resources
After other resources
In response to other resources
Or even subscribe to resource changes
33. Language Attributes
Arrays
[ “red”, “green”, “blue” ]
Variables
$variable = value
Conditionals
If/else statements
Case statement
Selectors
34. Templates
Allows you to create template configuration
files
For file-based configurations without types
Uses Ruby ERB
Allows population of templates with Puppet
configuration, variables and facts
35. Facter
System inventory tool
Returns facts about hosts
Detects changes and updates information
Facts can be used in Puppet configurations
You can create custom facts
NEW! Windows fact support!
38. Do more with less?
Doesn’t mean head count cuts
Doesn’t mean budget cuts
More time to work on the projects that count
Better use of time means happier people