puppet camp dallas 2014: configuration management in the enterprise

Post on 27-Aug-2014

555 Views

Category:

Software

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

Puppet Camp Dallas 2014: Configuration Management in the Enterprise by Byron Miller

TRANSCRIPT

Configuration Management in the Enterprise

Puppet the Foreman and YOU

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

twitter: @byron_miller

• Repetitive Process

• Needs standards – Easy “wins” often live here, especially in legacy enterprise

• difficult place to have drift

• Yes, RHEL/OEL all the way

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

twitter: @byron_miller

• 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?

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

twitter: @byron_miller

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: byronm@gmail.com

• Twitter @Byron_miller

twitter: @byron_miller

top related