puppetconf2012genekim

53
Session ID: How We Think About IT Preordains Our Outcomes: DevOps And More… Gene Kim

Upload: gene-kim

Post on 13-May-2015

2.707 views

Category:

Business


1 download

DESCRIPTION

How We Think About IT Preordains Our Outcomes: DevOps And More…

TRANSCRIPT

Page 1: PuppetConf2012GeneKim

Session ID:

How We Think About ITPreordains Our Outcomes:

DevOps And More…

Gene Kim

Page 2: PuppetConf2012GeneKim

Act I: IT Ops Fixing Fragile Artifacts

Page 3: PuppetConf2012GeneKim
Page 4: PuppetConf2012GeneKim

Act 2: The Product Managers

Page 5: PuppetConf2012GeneKim

Act 3: The Developers

Page 6: PuppetConf2012GeneKim
Page 7: PuppetConf2012GeneKim
Page 8: PuppetConf2012GeneKim

Act 4: Dev And IT Ops At War

8

Page 9: PuppetConf2012GeneKim
Page 10: PuppetConf2012GeneKim

The Downward SpiralOperations Sees… Fragile applications are prone to

failure Long time required to figure out “which

bit got flipped” Detective control is a salesperson Too much time required to restore

service Too much firefighting and unplanned

work Urgent security rework and

remediation Planned project work cannot complete Frustrated customers leave Market share goes down Business misses Wall Street

commitments Business makes even larger promises

to Wall Street

Dev Sees… More urgent, date-driven projects

put into the queue Even more fragile code (less

secure) put into production More releases have increasingly

“turbulent installs” Release cycles lengthen to

amortize “cost of deployments” Failing bigger deployments more

difficult to diagnose Most senior and constrained IT

ops resources have less time to fix underlying process problems

Ever increasing backlog of work that cold help the business win

Ever increasing amount of tension between IT Ops, Development, Design…

Page 11: PuppetConf2012GeneKim

11

The IT Core Chronic Conflict

Every IT organization is pressured to simultaneously: Respond more quickly to urgent business needs Provide stable, secure and predictable IT service

Source: The authors acknowledge Dr. Eliyahu Goldratt, creator of the Theory of Constraints and author of The Goal, has written extensively on the theory and practice of identifying and resolving core, chronic conflicts.

Page 12: PuppetConf2012GeneKim

Every Company Is An IT Company…

95% of all capital projects have an IT component…

50% of all capital spending is technology-related

We are here…

Where we need to be…

IT is always in the way

(again…)

Page 13: PuppetConf2012GeneKim

There Must Be A Better Way…

13

Page 14: PuppetConf2012GeneKim

Source: John Allspaw

Page 15: PuppetConf2012GeneKim

Source: John Allspaw

Page 16: PuppetConf2012GeneKim

Source: John Allspaw

Page 17: PuppetConf2012GeneKim

Source: John Allspaw

Page 18: PuppetConf2012GeneKim

Source: John Jenkins, Amazon.com

Page 19: PuppetConf2012GeneKim

The First Way:Systems Thinking

Page 20: PuppetConf2012GeneKim

The First Way:Systems Thinking (Left To Right)

Understand the flow of work Always seek to increase flow Never unconsciously pass defects downstream Never allow local optimization to cause global

degradation Achieve profound understanding of the system

Page 21: PuppetConf2012GeneKim

“Annual business planning sessions can be madding. They think IT Operations is an ‘all you can eat buffet.’”

-Ben Rockwood, Director Systems Engineering, Joyent

Page 22: PuppetConf2012GeneKim

Practice #1: Define The Work and Make It Visible

Business projects (e.g., new order system) Internal IT projects (e.g., Puppet automation) Changes (e.g., deploys, improve database

performance) Unplanned work (e.g., site down, site impaired)

22

Page 23: PuppetConf2012GeneKim

Day 2: PMO Meeting

Page 24: PuppetConf2012GeneKim

Practice #2: Create One Step Environment Creation Process

Make environments available early in the Development process

Make sure Dev builds the code and environment at the same time

Create a common Dev, QA and Production environment creation process

Page 25: PuppetConf2012GeneKim

Change the Agile sprint policy:

“At the end of each sprint, we must have working code and the environment it runs in!!

Page 26: PuppetConf2012GeneKim

The First Way:Outcomes

Creating single repository for code and environments

Determinism in the release process

Consistent Dev, QA, Int, and Staging environments, all properly built before deployment begins

Decreased cycle time

Reduce deployment times from 6 hours to 45 minutes Refactor deployment process that had 1300+ steps

spanning 4 weeks Faster release cadence

Page 27: PuppetConf2012GeneKim

The Second Way:Amplify Feedback Loops

Page 28: PuppetConf2012GeneKim

The Second Way:Amplify Feedback Loops (Right to Left)

Understand and respond to the needs of all customers, internal and external

Shorten and amplify all feedback loops: stop the line when necessary

Create quality at the source Create and embed knowledge where we need it

Page 29: PuppetConf2012GeneKim

“We found that when we woke up developers at 2am, defects got fixed faster than ever”

-Patrick Lightbody, CEO, BrowserMob

Page 30: PuppetConf2012GeneKim

Pattern #3: Embed Dev Into IT Ops

Embed Dev into IT Ops incident escalation process

Invite Dev to post-mortems/root cause analysis meeting

Have Dev and Infosec cross-train IT Operations Ensure application monitoring/metrics to aid in

Ops and Infosec work (e.g., incident/problem management)

Page 31: PuppetConf2012GeneKim

The Second Way:Outcomes

Defects and security issues getting fixed faster than ever

Reusable Ops and Infosec user stories now part of the Agile process

All groups communicating and coordinating better

Everybody is getting more work done

Page 32: PuppetConf2012GeneKim

The Third Way:Culture Of Continual Experimentation And Learning

Page 33: PuppetConf2012GeneKim

The Third Way:Culture Of Continual Experimentation And Learning

Foster a culture that rewards: Experimentation (taking risks) and learning from

failure Repetition is the prerequisite to mastery

Why? You need a culture that keeps pushing into the danger

zone And have the habits that enable you to survive in the

danger zone

Page 34: PuppetConf2012GeneKim

Break Things Early And Often

“Do painful things more frequently, so you can make it less painful… We don’t get pushback from Dev, because they know it makes rollouts smoother.”

-- Adrian Cockcroft, Architect, Netflix

Page 35: PuppetConf2012GeneKim

Pattern #5: Inject Failures Often

Page 36: PuppetConf2012GeneKim

You Don’t Choose Chaos Monkey…Chaos Monkey Chooses You

Page 37: PuppetConf2012GeneKim

Pattern #6: Break Things Before Production

Enforce consistency in code, environments and configurations across the environments

Add your ASSERTs to find misconfigurations, enforce https, etc.

Add static code analysis to automated continuous integration and testing process

Page 38: PuppetConf2012GeneKim

Pattern #6: Allocate 20% Of Cycles To Technical Debt Reduction

Page 39: PuppetConf2012GeneKim

Recognize Compounding Technical Debt…

Page 40: PuppetConf2012GeneKim

That Gets Worse…

Page 41: PuppetConf2012GeneKim

And Fixing It…

Source: Pingdom

Page 42: PuppetConf2012GeneKim

An Innovation Culture

“By installing a rampant innovation culture, they now do 165 experiments in the three months of tax season.

Our business result? Conversion rate of the website is up 50 percent. Employee result? Everyone loves it, because now their ideas can make it to market.”

--Scott Cook, Intuit Founder

42

Page 43: PuppetConf2012GeneKim
Page 44: PuppetConf2012GeneKim

Why Do I Think This IsImportant?

44

Page 45: PuppetConf2012GeneKim

The Downward SpiralOperations Sees… Fragile applications are prone to failure Long time required to figure out “which

bit got flipped” Detective control is a salesperson Too much time required to restore

service Too much firefighting and unplanned

work Urgent security rework and

remediation Planned project work cannot complete Frustrated customers leave Market share goes down Business misses Wall Street

commitments Business makes even larger promises

to Wall Street

Dev Sees… More urgent, date-driven projects

put into the queue Even more fragile code (less

secure) put into production More releases have increasingly

“turbulent installs” Release cycles lengthen to

amortize “cost of deployments” Failing bigger deployments more

difficult to diagnose Most senior and constrained IT ops

resources have less time to fix underlying process problems

Ever increasing backlog of work that cold help the business win

Ever increasing amount of tension between IT Ops, Development, Design…

Page 46: PuppetConf2012GeneKim

46

The Three Ways: Some Patterns

First Way Second Way Third WayDefine The Work And Make It Visible

Make Environments Available Early

Wake Up Developers

Embed Dev Into IT Operations

Break Things Early And Often

Reserve 20% Of Cycles For Technical Debt Reduction

Page 47: PuppetConf2012GeneKim

Help The Business Win…

Page 48: PuppetConf2012GeneKim

With Support From Your Peers…

Page 49: PuppetConf2012GeneKim

And Do More With Less Effort…

Page 50: PuppetConf2012GeneKim

50

Page 51: PuppetConf2012GeneKim
Page 52: PuppetConf2012GeneKim

When IT Fails: A Business Novel and The DevOps Cookbook

Coming January 15, 2013 and Q1 2013

“The lessons in When IT Fails might just save your business if IT fails for you. Every IT executive should share this book with their business peers.” -James Turnbull, VP Operations, Puppet Labs and author of “Pro Puppet”

“The greatest IT management book of our generation.” –Branden Williams, CTO Marketing, RSA

“This book will have a profound effect on IT, just as The Goal did for manufacturing.’ - Jez Humble, co-author of the Jolt award-winning book Continuous Delivery, and Principal at ThoughtWorks Studios.

Page 53: PuppetConf2012GeneKim

Our Mission: Positively Impact The Lives Of One Million IT Workers By 2017

For these slides, the “Top 10 Things You Need To Know About DevOps,” Rugged DevOps resources, and updates on the book:

Sign up at http://itrevolution.com Email [email protected]

Or text “[email] 74730” to +1 (858) 598-3980

Visit: http://www.instantcustomer.com/go/74730