Your SlideShare is downloading. ×
Using Puppet - Real World Configuration Management
Upcoming SlideShare
Loading in...5

Thanks for flagging this SlideShare!

Oops! An error has occurred.


Introducing the official SlideShare app

Stunning, full-screen experience for iPhone and Android

Text the download link to your phone

Standard text messaging rates apply

Using Puppet - Real World Configuration Management


Published on

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 …

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)

Published in: Technology

  • Be the first to comment

No Downloads
Total Views
On Slideshare
From Embeds
Number of Embeds
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

No notes for slide


  • 1. Using Puppet Real World Configuration Management James Turnbull
  • 2. Questions… Feel free to ask questions
  • 3. Where do I come from?
  • 4. Configuration Management?
  • 5. Management Speak • Management model for:  Infrastructure  Applications  Data • Documentation of attributes and operations • Organization of attributes and operations • Validation, audit, and verification
  • 6. Where does it fit in?
  • 7. Do you need it? Large number of like hosts … that are somehow never alike
  • 8. Do you need it? High level of failed change
  • 9. Do you need it? When your hosts look like this...
  • 10. Just for enterprises? “Mum, what’s an enterprise?”
  • 11. What are the benefits? Reproducibility Accuracy Homogeneity Decision Support Saves Money!
  • 12. all this gets you ...
  • 13. Risks & Challenges Tools != Process Information is power Accurate information is all-powerful
  • 14. Best practice Life cycle Categorize, modularize, standardize Control Test, Test, and Test again
  • 15. Who sells this? Proprietary software vendors
  • 16. So what’s wrong? Archaic Monolithic
  • 17. Who gives this away? Free Open Source Software
  • 18. Introducing puppet Andrew Luke Photo from:
  • 19. Would you buy software from those guys?
  • 20. The key pieces Abstracts configuration as resources Allows relationships Idempotent
  • 21. How is it managed? Declarative not imperative language WHAT not HOW
  • 22. Puppet…. package { “ruby”: ensure => latest, }
  • 23. Not Puppet… # yum install ruby # up2date ruby # apt-get install ruby # fink install ruby # ports install ruby # pkg_add ruby # emerge ruby # pkg-get ruby # rpm -Uvh ruby-1.8.6.i386.rpm # rug install ruby # gem install ruby # pkgadd ruby
  • 24. A whole service... yum install bind vim /etc/named.conf service start named package { bind: ensure => installed } file { “/etc/named.conf”: source => “puppet://server/srv/bind/named.conf” } service { named: ensure => running }
  • 25. Puppet Client-Server model SSL communication Unix-centric Highly extensible Written in Ruby
  • 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
  • 29. Classes & definitions class postfix { … collection of resources … } define postfix_files { ... Repeatable application … }
  • 30. Modules Collections of classes, definitions and resources Portable and self-contained Several collections of modules available online for common configurations:
  • 31. Nodes node “” { include webserver } node “db1”, “db2”, “db3” { include database } Nodes also support inheritance
  • 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!
  • 36. facts hostname => absinthe ipaddress => kernel => Linux
  • 37. Measuring success Availability Reduction in incidents Rate of failed change Build time and speed to market Compliance to SOE, policy & standards
  • 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
  • 39. The future ….
  • 40. The future is ... REST APIs Better performance Better memory use Automated plug-in system Automated module system
  • 41. The future is ... Workflow systems Service Level Management Compliance & Governance systems Inventory
  • 42. Puppetshow
  • 43. iClassify
  • 44. PuppetView
  • 45. Questions? Puppet Pulling Strings With Puppet © All images from Flickr and copyright to their owners