Configuration Management in the
EnterprisePuppet the Foreman and YOU
twitter: @byron_miller
Disclaimer
• This is how I do it.• This is my experience.• This has a lot to do with people.• This has a lot to do with design & thinking.• This has a lot to do with before you run “install.sh”
twitter: @byron_miller
Enterprise
• Lots of interconnected stuff..
• Oracle…• Linux..• Windows.• Weblogic…• ERP / CRM / Financials…• VMware..• Cots.. • Not much in “cloud” for me with the exception of SaaS (sales platform)
twitter: @byron_miller
BHAG: Configuration Management
• Start here – puppet – its your big hairy audacious goal.
• Start Simple – ntp, provisioning (yes, it’s easy), sysctl..
• Source Control everything – gitlab/github
twitter: @byron_miller
Achieve our goal
• Brainstorm about your smaller goals• Iterate • Test/Experiment• Think• Experiment/test• Pilot Programs• Think• iterate
twitter: @byron_miller
Define your goal
• Write down your goals• Write down the context of your goals• Write down the priority of your goals
• Think of value• Think of service• Think of utility
• Lets brainstorm some here..
twitter: @byron_miller
In case you didn’t notice
• Implementing puppet in my environment has been less about learning the technology. Puppet is “easy” to learn, Puppet Enterprise even more so. It’s more about applying puppet to solve complex problems.
• Problems are never completely solved – don’t automate & forget• We iterate and iterate to improve ourselves (do some A/B)
• Puppet enables continuous improvement• Puppet enables “lean” & “agile”• Puppet enables our design and systems goal(s)
twitter: @byron_miller
Easy goals: Configuration Drift
• Establish and maintain consistency
• Foreman ENC, Parameterized classes, hierarchal parameter storage.• Dashboards!
twitter: @byron_miller
Foreman
twitter: @byron_miller
Host Groups – CM management
twitter: @byron_miller
Easy Goal: Reporting / Auditing (monitoring)• PuppetDB• Puppet Reports / Dashboard• Foreman Reports, Metrics & Trends
twitter: @byron_miller
Foreman Reporting
twitter: @byron_miller
Reports
twitter: @byron_miller
Easy Goal: Provisioning
• Repetitive Process• Needs standards – Easy “wins” often live here, especially in legacy
enterprise• difficult place to have drift• Yes, RHEL/OEL all the way
twitter: @byron_miller
Foreman Provisioning
twitter: @byron_miller
Hard Goal: Automating other stuff
• By automation, I don’t mean basic configuration.. I mean, building & deploying a process and automating that pesky stuff such as databases, deployments, pipelines et all.
• This other stuff is where you should really begin to think about your work and how to appropriately “attack” it.
twitter: @byron_miller
How to do hard stuff? Build patterns
• Flow – describe the process flow & state of flow• Complexity - Apply puppet to knowledge, derive your knowledge
before you try and automate• Think of your complexity in terms of contexts – remember when I
asked you to write down the context of your work?
twitter: @byron_miller
Sense Making: Hard stuff is hard
twitter: @byron_miller
Complex – Retrospective
• Probe -> Sense -> Respond
• This is where you operate in “retrospect” – relation between cause & effect perceived in retrospect.
• Sense “emergent” practice – what to do next (This is where experimentation pays off)
• Safe to fail experimentation - amplify what works, suppress what doesn’t. Innovation happens here.
• Collaborative Leadership
• Not the best to automate. Build “rails” to guide / influence but remember, that what happens here, may not be repeatable.
twitter: @byron_miller
Complicated – Expert Knowledge
• Sense -> Analyze -> Respond
• Respond and apply good practice.
• Relationship between cause & effect requires some form of investigation / expert knowledge.
• Analytical Leadership
• Fairly automatable, your “rails” can be more restrictive here as your building on good practices.
twitter: @byron_miller
Chaotic – Novel
• Act -> Sense -> Respond
• NOVEL solutions
• NO relationship between cause and effect at systems level
• No automation here. (usually a symptom of automation failure)
• “Take Control” leadership – Lead and get out
twitter: @byron_miller
Simple - Bureaucratic
• Sense -> Categorize -> Respond
• Apply best practice
• Bureaucracy lives here• Warning: When bureaucracy / simple dies, it immediately goes CHAOTIC• Complacency leads to failure
• Bureaucratic Leadership
• Automation LIVES here.
twitter: @byron_miller
Disorder – I’m not making any sense
• This is where we start..
• State of not knowing what type of causality exists. People will revert to their own comfort zone in making a decision here.
• Biases.. Biases everywhere..
twitter: @byron_miller
With these sense making skills
• Think about your work• Think about your tools• Think about your systems• Think about your goals• Think about design• Think about THE goal• Think about value• Think about appropriate leadership
twitter: @byron_miller
Sometimes the best tool
• Is a human being• Software is great at repetition• Software is great at repetition• Software is great with bureaucracy• Novel processes require specific leadership• Complex/Complicated systems require humans• Simple systems still need people
twitter: @byron_miller
Systems thinking & design
• Think of intelligent orchestration – mcollective perhaps?• Think of a “city” system
• Garbage pickup at 7 a.m.• Newspaper at 6 a.m.• Schools from 7:30 to 3:30
• What is your intent of work? What is the goal of your automation? How will you achieve it?
• Orchestrate wisely – tracking drift? Applying change? Auditing? Ephemeral instances? Do you need 30 minute checkins?
twitter: @byron_miller
More “wins”
• System cloning• sudoers• RPM / Package management (katello is being integrated soon)• SSHd config• Iptables..• Logstash/collectl/statsd (good packages here)• Augeus all the things
• List goes on forever.. Just do yourself a favor and finish one before starting another
twitter: @byron_miller
Collaborate
• It takes a village yaddy yaddy yadda
• Collaborative Leadership is a very effective way to lead your puppet pipeline.
• I have a story I read.. You may have too
So I read this book…
• It got me thinking..
It was written about me..I’ve lived this story..
But it felt like a “manager” story..
twitter: @byron_miller
What if Erik gave ME (Brent) that advice?• Have I heard it?• Would I listen?• Would I care?
• Some of us trying to do puppet are techies• What if we’re not management?• Not “decision makers”?
twitter: @byron_miller
What defines Brent?
• Driven by thinking logically• “Applied DevOps” … help me DevOps, you’re my only hope• Our Management manages expectations • Management relies on me.• Self made.. • Product of environment..
twitter: @byron_miller
Leading like a Brent
• No one listens!• I’m Overloaded• I don’t want to burnout• I’m sort of a BOFH
• Excuses.. Excuses.. Excuses..• Just automate it!
twitter: @byron_miller
We’re here because we see improvement… • DevOps• Puppet• Foreman• Virtualization• Agile• Lean• Philosophy• Systems Thinking…
twitter: @byron_miller
The hard way
• Logical• Strongly Stated Position• Assertive• “Closing the deal”
twitter: @byron_miller
Strongly Stated Position
• Only speaking to “Facts”• Mimicking success of others• Strong / Defensive Views • Applied Thinking – Applied Lean, Applied DevOps, Applied Agile
twitter: @byron_miller
Assertive Supporting Arguments
• My way or else..• Logic makes us feel assertive• We expect everyone to “obey” our logic
twitter: @byron_miller
Closing Deal
• Resist Compromise• Using only logic / extreme passion to speak• Assert as if everything is Objective
twitter: @byron_miller
Stop!
twitter: @byron_miller
A new way: The Collaborative Way!
• Work together• Break down silos• Build bridges• Trust & be trusted
twitter: @byron_miller
Establish Credibility
• Don’t overestimate oneself! • Experiment! Experiment!• Don’t jump to applying• Recognize “small wins” as a catalyst• Positive action
twitter: @byron_miller
Frame for common ground
• Lead to positive results• Steer the story to align to your org• Make it yours
twitter: @byron_miller
Connect Emotionally
• Work through gatekeepers• Put on their shoes• Strategize to reach broader audience
twitter: @byron_miller
Evidence
• Stories• Examples• Metaphors• Experimentations• Pilots
twitter: @byron_miller
Brent Transformation
• Don’t need to be “manager” to lead• GROW into leadership• GROW yourself!
twitter: @byron_miller
Patterns, not ideologies.
• Skills• People• Ideas• Experiments• Make it YOURS
twitter: @byron_miller
Now you can begin
• Tools to think• Tools to collaborate• Tools to make sense of your work• Tools to manage your work• Tools to automate all the things
• I’ve given you lots of hammers, use wisely.
• If you’re a “Spock” trying to automate with puppet, make sure you find a Captain Kirk who knows this!
twitter: @byron_miller
Thanks
• Automate wisely• Collaborate all the time• Think about your work• Think about your systems• Hope this helps you “enable” your Puppet/DevOps journey
• Email: [email protected]• Twitter @Byron_miller
twitter: @byron_miller