Puppet Camp Dallas 2014: How Puppet Ops Rolls


Published on

Puppet Camp Dallas 2014: "How Puppet Ops Rolls" by Joe Rodriguez, Puppet Labs

Published in: Technology, Spiritual
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Puppet Camp Dallas 2014: How Puppet Ops Rolls

  1. 1. PuppetLabs How Puppet Ops Rolls! 10 June 2014 Joe Rodriguez (JRod) Ops Wrangler - Puppet Labs, Inc.
  2. 2. $(whoami)
  3. 3. So what are we talking about?
  4. 4. Q: How does Puppet Ops do Puppet?
  5. 5. Answer: Good Question! Believe it or Not, our challenges are not any different than yours.
  6. 6. How are we not different? Internal PaaS Infrastructure: Puppet Engineering & Delivery Cloud Infrastructure: Various Web Properties *Rackspace *Linode *GCE *AWS Networking infrastructure *Remoteofficeinfrastructure. *ColocationRedundancy.
  7. 7. Today's Goals: Is To: *Giveyouahigh-levelperspectiveofthingsPuppetOpsdoesinourPuppetCode. *Getyouthinkingaboutpuppetthingsnotnotnecessarilycoveredininthedocs. Not To: Show you how to use Puppet.
  8. 8. The High Points: Engineer great modules or use known good modules! Engineer your Puppet code with Roles/Profiles. Data: What's in your Hiera? R10k and Dynamic Environments. Puppet SCM work-flows Pro Tips: Around Facts and Functions. Extras: Puppet Tools in the wild that are quite useful.
  9. 9. Modules
  10. 10. Module Design
  11. 11. Understand how a module looks, feels, and is used in your environment.
  12. 12. A few points on Modules: The life-blood of a great puppet infrastructure are modules. Strive not to reinvent the wheel - Forge.puppetlabs.com and Github Be aware, not all modules are created equal. A good rule of thumb: If your module code is a few yards beyond a simple PFS pattern then it time to BGTM. Example: PGPool - https://github.com/jrodriguezjr/puppet-pgpool2
  13. 13. Roles and Profiles
  14. 14. Roles/Profiles In General: Allows separation of Tech and Business logic in Puppet Code - Craig Dunn, Hunter Haugen Are meant to consume Modules in a logical way. Allows for Code organization. Architecture paradigm: For you Devs, its comparative to MVC programming patterns.
  15. 15. Role:
  16. 16. Profiles:
  17. 17. Hiera
  18. 18. Hiera: Let Data Drive Everything. Allows you to drive puppet with data. Allows you to group data according to groups or environments.
  19. 19. Our Hiera Structure:
  20. 20. R10K, Dynamic Environments, & Puppet Work-flows Adrien Thebo: Author of R10k If you have more than one dev, look at R10k and Dynamic Environments. IMHO: It IS the secret to staying agile and developing Puppetcode fast with a Puppet Workflow.
  21. 21. A look at the Puppetfile:
  22. 22. Extras: Useful Puppet Tools in the wild we've used: Puppet Query - Eric D., Spotify Puppet Dashboard - FOSS
  23. 23. Bonus Tip(s): Things you should use in case you are not already ;) : Linting and Code Checking: puppet-lint puppetparservalidate<puppetcode.pp> Smoke testing: puppetapply--noop
  24. 24. Bonus Tips (cont.) Unit-testing rspec-puppet bundleexecrakespec Acceptance testing beaker-rspec
  25. 25. On Puppet Infrastructure - Hardware (Avoid Puppet drag!) Anyone running a decent sized puppet infrastructure knows that at times it can be slow. Run Puppet on a decently sized box! Preferably one with SSDs, a good amount of procs, and memory.
  26. 26. Summary: Keep your Puppet Operation Expenditure Low. (Sysadmin/Dev Time) == $$$ Recap: -StriveEngineerGreatModules-understandyourLegos!(JoeK.) -RockoutwithRoles/Profiles -LetHieraDriveyourdata. -FallinlovewithR10K&DynamicEnvironments.Getyourwork-flowon! -Learntoloveyourfactsandfunctions.
  27. 27. That's all she wrote! Q & A
  28. 28. References: Building Great Modules. http://docs.puppetlabs.com/guides/module_guides/bgtm.html Roles and Profiles: https://github.com/hunner/roles_and_profiles http://www.craigdunn.org/2012/05/239/ R10K and Dynamic Environments: http://hunnur.com/blog/2010/10/dynamic-git-branch-puppet-environments/ http://puppetlabs.com/blog/git-workflow-and-puppet-environments/ Great AIO (All-In-One) Series: http://garylarizza.com/ Other tools: https://github.com/sodabrew/puppet-dashboard
  29. 29. Thank you Joe Rodriguez (JRod) Ops Wrangler - Puppet Labs, Inc. jrod@puppetlabs.com(mailto:jrod@puppetlabs.com) @r0dr1gu3zjr(http://twitter.com/r0dr1gu3zjr)