Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

I've installed Puppet! Now what?


Published on

After getting Puppet installed, what are the things you need to consider to make use of your environment?

This presentation talks about using version control, a strong workflow, and methods to organize your modules.

A git repo with the example module module setup is available at

Published in: Technology
  • Be the first to comment

  • Be the first to like this

I've installed Puppet! Now what?

  1. 1. I’ve Installed Puppet! Now What?
  2. 2. Hour 1 You’ve run the puppet installer, You’ve installed agents on your nodes... Now what? Version Control, Workflow, Organization
  3. 3. Version Control Have you ever: ● ● ● ● ● ● ● ● ● Made a change to code, realised it was a mistake and wanted to revert? Lost code or had a backup that was too old? Wanted to see the difference between various versions of your code? Wanted to prove that a particular change broke or fixed a piece of code? Wanted to review the history of some code? Wanted to submit a change to someone else's code? Wanted to share your code, or let other people work on your code? Wanted to see how much work is being done, where, when, and by whom? Wanted to experiment with a new feature without interfering with working code?
  4. 4. Workflow ● R10K ○ ○ ○ ○ ○ Deployment tool for Puppet Leverages git for quick and reliable updates As many environments as you want Test your code before production Robust error handling
  5. 5. Organization Multiple Masters ● Pros ○ Separate out Production from Development ○ Complete separation of all aspects of the environment. ○ Security separation so pre-release code cannot “leak” into production. ○ Upgrade/downgrade components without causing disruption
  6. 6. Organization Multiple Masters ● Cons ○ You must ensure you have a good code flow between masters ○ Risk of environment drift between the silos ○ Data is not shared between silos
  7. 7. Organization Hiera ● Hiera allows data separation ○ ○ ○ ○ Data is separate from code logic Easy task delegation Single source of truth for data Ability to collect data from external sources, but present in a consistent way.
  8. 8. Organization Hiera ● Allows you to use modules directly from the Forge: 1. 2. 3. 4. 5. Download the module (or use r10k) Add data to Hiera Classify on a node ??? Profit
  9. 9. Organization Roles and Profiles ● ● ● ● ● Glue between nodes, Hiera, and modules Avoids “magic” Hiera data Separate business logic from technology stack Modules stay generic Nodes can be classified using one include
  10. 10. Organization Roles and Profiles ● Profiles ○ Configuration of generic modules ○ Business logic on how to utilize modules ○ Examples: ■ apache::dev - Configure apache for dev hosts, perhaps disable ssl ■ apache::prod - Configure apache for prod hosts, require ssl
  11. 11. Organization Roles and Profiles ● Roles ○ A collection of profiles ○ A group of modules/profiles that make up a single server role, for example a WordPress website ○ Each node should only have a single role
  12. 12. Hour 2 You’ve decided on a version control system, You’ve decided on a workflow, You’ve decided on an overall architecture... Now what? Setup R10K, Configure NTP, Configure Minecraft
  13. 13. NTP - A practical Example Step 1 - Install the module via r10k Step 2 - Add the key(s) to hiera Step 3 - Classify the node DEMO!
  14. 14. Minecraft - A more fun, but less practical example Step 1 - Install the module via r10k Step 2 - Add the key(s) to hiera Step 3 - Classify the node DEMO!
  15. 15. Hour 3 Light reading ● R10k ○ ● Git Workflow and Dynamic Environments ○ ● “DevOps. It’s about culture, stupid!” ○ ● Separating Data from Code ○ ● Beer Finding App (Because you deserve it now) ○
  16. 16. Terri Haber Professional Services @baconqurlyq Adam Crews @1_adam_12 irc: doo
  17. 17. Thank You! Learn More: