Top Banner
Configuration Management in the Enterprise Puppet the Foreman and YOU
47

PuppetCamp Dallas 6/10/2014 - Enterprise DevOps

Jun 11, 2015

Download

Technology

Byron Miller

System Thinking, Sense Making and achieving Enterprise DevOps with Puppet & the Foreman.
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: PuppetCamp Dallas 6/10/2014 - Enterprise DevOps

Configuration Management in the

EnterprisePuppet the Foreman and YOU

Page 2: PuppetCamp Dallas 6/10/2014 - Enterprise DevOps

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”

Page 3: PuppetCamp Dallas 6/10/2014 - Enterprise DevOps

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)

Page 4: PuppetCamp Dallas 6/10/2014 - Enterprise DevOps

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

Page 5: PuppetCamp Dallas 6/10/2014 - Enterprise DevOps

twitter: @byron_miller

Achieve our goal

• Brainstorm about your smaller goals• Iterate • Test/Experiment• Think• Experiment/test• Pilot Programs• Think• iterate

Page 6: PuppetCamp Dallas 6/10/2014 - Enterprise DevOps

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..

Page 7: PuppetCamp Dallas 6/10/2014 - Enterprise DevOps

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)

Page 8: PuppetCamp Dallas 6/10/2014 - Enterprise DevOps

twitter: @byron_miller

Easy goals: Configuration Drift

• Establish and maintain consistency

• Foreman ENC, Parameterized classes, hierarchal parameter storage.• Dashboards!

Page 9: PuppetCamp Dallas 6/10/2014 - Enterprise DevOps

twitter: @byron_miller

Foreman

Page 10: PuppetCamp Dallas 6/10/2014 - Enterprise DevOps

twitter: @byron_miller

Host Groups – CM management

Page 11: PuppetCamp Dallas 6/10/2014 - Enterprise DevOps

twitter: @byron_miller

Easy Goal: Reporting / Auditing (monitoring)• PuppetDB• Puppet Reports / Dashboard• Foreman Reports, Metrics & Trends

Page 12: PuppetCamp Dallas 6/10/2014 - Enterprise DevOps

twitter: @byron_miller

Foreman Reporting

Page 13: PuppetCamp Dallas 6/10/2014 - Enterprise DevOps

twitter: @byron_miller

Reports

Page 14: PuppetCamp Dallas 6/10/2014 - Enterprise DevOps

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

Page 15: PuppetCamp Dallas 6/10/2014 - Enterprise DevOps

twitter: @byron_miller

Foreman Provisioning

Page 16: PuppetCamp Dallas 6/10/2014 - Enterprise DevOps

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.

Page 17: PuppetCamp Dallas 6/10/2014 - Enterprise DevOps

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?

Page 18: PuppetCamp Dallas 6/10/2014 - Enterprise DevOps

twitter: @byron_miller

Sense Making: Hard stuff is hard

Page 19: PuppetCamp Dallas 6/10/2014 - Enterprise DevOps

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.

Page 20: PuppetCamp Dallas 6/10/2014 - Enterprise DevOps

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.

Page 21: PuppetCamp Dallas 6/10/2014 - Enterprise DevOps

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

Page 22: PuppetCamp Dallas 6/10/2014 - Enterprise DevOps

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.

Page 23: PuppetCamp Dallas 6/10/2014 - Enterprise DevOps

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..

Page 24: PuppetCamp Dallas 6/10/2014 - Enterprise DevOps

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

Page 25: PuppetCamp Dallas 6/10/2014 - Enterprise DevOps

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

Page 26: PuppetCamp Dallas 6/10/2014 - Enterprise DevOps

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?

Page 27: PuppetCamp Dallas 6/10/2014 - Enterprise DevOps

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

Page 28: PuppetCamp Dallas 6/10/2014 - Enterprise DevOps

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

Page 29: PuppetCamp Dallas 6/10/2014 - Enterprise DevOps

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

Page 30: PuppetCamp Dallas 6/10/2014 - Enterprise DevOps

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

Page 31: PuppetCamp Dallas 6/10/2014 - Enterprise DevOps

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

Page 32: PuppetCamp Dallas 6/10/2014 - Enterprise DevOps

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

Page 33: PuppetCamp Dallas 6/10/2014 - Enterprise DevOps

We’re here because we see improvement… • DevOps• Puppet• Foreman• Virtualization• Agile• Lean• Philosophy• Systems Thinking…

twitter: @byron_miller

Page 34: PuppetCamp Dallas 6/10/2014 - Enterprise DevOps

The hard way

• Logical• Strongly Stated Position• Assertive• “Closing the deal”

twitter: @byron_miller

Page 35: PuppetCamp Dallas 6/10/2014 - Enterprise DevOps

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

Page 36: PuppetCamp Dallas 6/10/2014 - Enterprise DevOps

Assertive Supporting Arguments

• My way or else..• Logic makes us feel assertive• We expect everyone to “obey” our logic

twitter: @byron_miller

Page 37: PuppetCamp Dallas 6/10/2014 - Enterprise DevOps

Closing Deal

• Resist Compromise• Using only logic / extreme passion to speak• Assert as if everything is Objective

twitter: @byron_miller

Page 38: PuppetCamp Dallas 6/10/2014 - Enterprise DevOps

Stop!

twitter: @byron_miller

Page 39: PuppetCamp Dallas 6/10/2014 - Enterprise DevOps

A new way: The Collaborative Way!

• Work together• Break down silos• Build bridges• Trust & be trusted

twitter: @byron_miller

Page 40: PuppetCamp Dallas 6/10/2014 - Enterprise DevOps

Establish Credibility

• Don’t overestimate oneself! • Experiment! Experiment!• Don’t jump to applying• Recognize “small wins” as a catalyst• Positive action

twitter: @byron_miller

Page 41: PuppetCamp Dallas 6/10/2014 - Enterprise DevOps

Frame for common ground

• Lead to positive results• Steer the story to align to your org• Make it yours

twitter: @byron_miller

Page 42: PuppetCamp Dallas 6/10/2014 - Enterprise DevOps

Connect Emotionally

• Work through gatekeepers• Put on their shoes• Strategize to reach broader audience

twitter: @byron_miller

Page 43: PuppetCamp Dallas 6/10/2014 - Enterprise DevOps

Evidence

• Stories• Examples• Metaphors• Experimentations• Pilots

twitter: @byron_miller

Page 44: PuppetCamp Dallas 6/10/2014 - Enterprise DevOps

Brent Transformation

• Don’t need to be “manager” to lead• GROW into leadership• GROW yourself!

twitter: @byron_miller

Page 45: PuppetCamp Dallas 6/10/2014 - Enterprise DevOps

Patterns, not ideologies.

• Skills• People• Ideas• Experiments• Make it YOURS

twitter: @byron_miller

Page 46: PuppetCamp Dallas 6/10/2014 - Enterprise DevOps

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

Page 47: PuppetCamp Dallas 6/10/2014 - Enterprise DevOps

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