5. Answer: Good Question! Believe it or Not, our
challenges are not any different than yours.
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.
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.
11. Understand how a module looks, feels, and is used in your
environment.
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
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.
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.
22. Extras: Useful Puppet Tools in the wild we've used:
Puppet Query - Eric D., Spotify
Puppet Dashboard - FOSS
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
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.
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. Thank you
Joe Rodriguez (JRod)
Ops Wrangler - Puppet Labs, Inc.
jrod@puppetlabs.com(mailto:jrod@puppetlabs.com)
@r0dr1gu3zjr(http://twitter.com/r0dr1gu3zjr)