devops patterns distilled: implementing the needed practices in practical steps

77
DevOps Patterns Distilled: Implementing The Needed Practices In Practical Steps Gene Kim DOT07S @RealGeneKim #CAWorld Co-author of "The Phoenix Project: A Novel About IT, DevOps, and Helping Your Business Win" DevOps Researcher DevOps

Upload: ca-technologies

Post on 10-Jul-2015

272 views

Category:

Technology


2 download

DESCRIPTION

Learn from Gene Kim, one of the “DevOps Cookbook” authors, how to help accelerate DevOps adoption, increase the success of DevOps initiatives and lower the activation energy required for DevOps transformations to start and finish. For more information on DevOps solutions from CA Technologies, please visit: http://bit.ly/1wbjjqX

TRANSCRIPT

Page 1: DevOps Patterns Distilled: Implementing The Needed Practices In Practical Steps

DevOps Patterns Distilled: Implementing The Needed Practices In Practical Steps

Gene Kim

DOT07S @RealGeneKim #CAWorld

Co-author of "The Phoenix Project: A Novel About IT, DevOps, and Helping Your Business Win"

DevOps Researcher

DevOps

Page 2: DevOps Patterns Distilled: Implementing The Needed Practices In Practical Steps

2 © 2014 CA. ALL RIGHTS RESERVED.

Abstract

Hear from Gene Kim, one of the “DevOpsCookbook” authors, how to help accelerate DevOps adoption, increase the success of DevOps initiatives and lower the activation energy required for DevOps transformations to start and finish.

Gene Kim

IT Revolution

DevOps enthusiast

Page 3: DevOps Patterns Distilled: Implementing The Needed Practices In Practical Steps

@RealGeneKim

Session ID:

Gene Kim

Why Everyone Needs DevOps Now:My fifteen-year journey studying high-performing IT organizations

Page 4: DevOps Patterns Distilled: Implementing The Needed Practices In Practical Steps

@RealGeneKim

The downward spiral …

Page 5: DevOps Patterns Distilled: Implementing The Needed Practices In Practical Steps

@RealGeneKim

Page 6: DevOps Patterns Distilled: Implementing The Needed Practices In Practical Steps

@RealGeneKim

Page 7: DevOps Patterns Distilled: Implementing The Needed Practices In Practical Steps

@RealGeneKim

IT Ops And Dev At War

7

Page 8: DevOps Patterns Distilled: Implementing The Needed Practices In Practical Steps

@RealGeneKim

Page 9: DevOps Patterns Distilled: Implementing The Needed Practices In Practical Steps

@RealGeneKim

There is a better way.

Page 10: DevOps Patterns Distilled: Implementing The Needed Practices In Practical Steps

@RealGeneKim

Google, Amazon, Netflix, Spotify, Etsy, Spotify, Twitter, Facebook

Page 11: DevOps Patterns Distilled: Implementing The Needed Practices In Practical Steps

@RealGeneKim

10 deploys per dayDev and ops cooperation at Flickr

John Allspaw and Paul Hammond Velocity 2009

Source: John Allspaw and Paul Hammond

Page 12: DevOps Patterns Distilled: Implementing The Needed Practices In Practical Steps

@RealGeneKim

Page 13: DevOps Patterns Distilled: Implementing The Needed Practices In Practical Steps

Source: John Allspaw and Paul Hammond

Little bit weirdSits closer to the bossThinks too hard

Pulls levers and turns knobsEasily excitedYells a lot in emergencies

Page 14: DevOps Patterns Distilled: Implementing The Needed Practices In Practical Steps
Page 15: DevOps Patterns Distilled: Implementing The Needed Practices In Practical Steps

@RealGeneKim

Ops who think like devsDevs who think like ops

Source: John Allspaw and Paul Hammond

Page 16: DevOps Patterns Distilled: Implementing The Needed Practices In Practical Steps

@RealGeneKim

Dev and Ops

Source: John Allspaw and Paul Hammond

Page 17: DevOps Patterns Distilled: Implementing The Needed Practices In Practical Steps

@RealGeneKimSource: Theo Schlossnagle

DevOpsis incomplete, is interpreted wrong, and is too isolated.

Page 18: DevOps Patterns Distilled: Implementing The Needed Practices In Practical Steps

@RealGeneKimSource: Theo Schlossnagle

.*Ops

Page 19: DevOps Patterns Distilled: Implementing The Needed Practices In Practical Steps

@RealGeneKim

^(?<dept>.+)Ops$

Source: Theo Schlossnagle

Page 20: DevOps Patterns Distilled: Implementing The Needed Practices In Practical Steps

@RealGeneKimSource: John Jenkins, Amazon.com

Page 21: DevOps Patterns Distilled: Implementing The Needed Practices In Practical Steps

@RealGeneKim

Making Changes When It Matters Most

“By installing a rampant innovation culture, we performed 165 experiments in the peak 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

Page 22: DevOps Patterns Distilled: Implementing The Needed Practices In Practical Steps

@RealGeneKim

Who is doing DevOps?

Google, Amazon, Netflix, Etsy, Spotify, Twitter, Facebook …

CA, CSC, IBM, HP, Microsoft, Red Hat, SAP …

GE Capital, Nationwide, BNP Paribas, BNY Mellon, World Bank, Paychex, Intuit …

Who else?

The Gap, Nordstrom, Macy’s, Williams-Sonoma, Target …

General Motors, Northrop Grumman, LEGO, Bosche …

U.K. Government, U.S. Department of Homeland Security …

Kansas State University, Texas A&M, University of Arkansas …

Page 23: DevOps Patterns Distilled: Implementing The Needed Practices In Practical Steps

@RealGeneKim

High-performers are more agile.

30x 8,000xmore frequent deployments

faster lead times than their peers

Source: Puppet Labs 2013 State Of DevOps: http://puppetlabs.com/2013-state-of-devops-infographic

Page 24: DevOps Patterns Distilled: Implementing The Needed Practices In Practical Steps

@RealGeneKim

High-performers are more reliable.

Source: Puppet Labs 2013 State Of DevOps: http://puppetlabs.com/2013-state-of-devops-infographic

2x 12xthe change success rate

faster mean-time-to-recover (MTTR)

Page 25: DevOps Patterns Distilled: Implementing The Needed Practices In Practical Steps

@RealGeneKim

High-performers win in the marketplace.

Source: Puppet Labs 2014 State Of DevOps

2x 50%more likely to exceed profitability, market share and productivity goals

higher market capitalization growth over three years*

Page 26: DevOps Patterns Distilled: Implementing The Needed Practices In Practical Steps

@RealGeneKim

Page 27: DevOps Patterns Distilled: Implementing The Needed Practices In Practical Steps

@RealGeneKim

“This book will have a profound effect on IT, just as The Goal did for manufacturing.”–Jez Humble,

co-author Continuous Delivery

“This is the IT swamp draining manual for anyone who is neck-deep in alligators.” –Adrian Cockroft,

Cloud Architect at Netflix

“This is The Goal for our decade, and is for any IT professional who wants their life back.” –Charles Betz, IT architect, author

“Architecture and Patterns for IT”

Page 28: DevOps Patterns Distilled: Implementing The Needed Practices In Practical Steps

@RealGeneKim

The First Way: Flow

Page 29: DevOps Patterns Distilled: Implementing The Needed Practices In Practical Steps

@RealGeneKim

“deploys per day”vs.

“lead time”

Page 30: DevOps Patterns Distilled: Implementing The Needed Practices In Practical Steps

@RealGeneKim

“What is your lead time for changes?”

“How long does it take to go from code committed to code successfully running in production?”

Page 31: DevOps Patterns Distilled: Implementing The Needed Practices In Practical Steps

It’s a trap.

Page 32: DevOps Patterns Distilled: Implementing The Needed Practices In Practical Steps

@RealGeneKim

Page 33: DevOps Patterns Distilled: Implementing The Needed Practices In Practical Steps

@RealGeneKim

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.

1

2

3

Page 34: DevOps Patterns Distilled: Implementing The Needed Practices In Practical Steps

@RealGeneKim

If I had a magic wand, I’d change the Agile sprints and definition of “done”:

“At the end of each sprint, we must have working and shippable code …

demonstrated in an environment that resembles production.”

Page 35: DevOps Patterns Distilled: Implementing The Needed Practices In Practical Steps

@RealGeneKim

Deploy smaller changes, more frequently. *

Source: http://www.facebook.com/note.php?note_id=14218138919

Page 36: DevOps Patterns Distilled: Implementing The Needed Practices In Practical Steps

@RealGeneKim

Deploy smaller changes, more frequently. *

Decouple feature releases from code deployments.

Deploy features in a disabled state, using feature flags.

Require all developers check code into trunk daily (at least).

Practice deploying smaller changes, which dramatically reduces risk and improves MTTR.

Page 37: DevOps Patterns Distilled: Implementing The Needed Practices In Practical Steps

@RealGeneKim

Experiment: Reducing Batch Size by 50 percent

Source: Scott Prugh, Chief Architect, CSG, Inc.

And the customer got the feature in half the time!

Page 38: DevOps Patterns Distilled: Implementing The Needed Practices In Practical Steps

@RealGeneKim

“As a lifelong Ops practitioner, I know we need DevOps to make our work humane.

In the past, I’ve worked every holiday, on my birthday, my spouse’s birthday and even on the day my son was born.”

Nathan ShimekEngineering Manager, New Context

Page 39: DevOps Patterns Distilled: Implementing The Needed Practices In Practical Steps

@RealGeneKim

Top Predictors of IT Performance (2014)

Version control of all production artifacts

Continuous integration and deployment

Automated acceptance testing

Peer review of production changes (vs. external change approval)

High-trust culture

Proactive monitoring of the production environment

Win-win relationship between Dev and Ops

Source: Puppet Labs 2014 State Of DevOps

1

2

3

4

5

6

7

Page 40: DevOps Patterns Distilled: Implementing The Needed Practices In Practical Steps

@RealGeneKim

The First Way: Outcomes

Creating single repository for code and environments

Determinism in the release process

Consistent Dev, Test and Production environments, all properly built before deployment begins

Features being deployed daily without catastrophic failures

Decreased lead time

Faster cycle time and release cadence

CA Enablers:Continuous DeliveryCA Release Automation 5.5, CA Service Virtualization 8.0, CA Application Test 8.0

Page 41: DevOps Patterns Distilled: Implementing The Needed Practices In Practical Steps

@RealGeneKim

The Second Way: Feedback

Page 42: DevOps Patterns Distilled: Implementing The Needed Practices In Practical Steps

@RealGeneKim

Page 43: DevOps Patterns Distilled: Implementing The Needed Practices In Practical Steps

@RealGeneKim

How many times per day is the andon cord pulled in a typical day at a Toyota manufacturing plant?

3,500 times per day

Page 44: DevOps Patterns Distilled: Implementing The Needed Practices In Practical Steps

@RealGeneKim

Why would Toyota do something so disruptive as stopping production thousands of times per day?

“It’s the only way we can build 2,000 vehicles per day—that’s one completed vehicle every 55 seconds.”

Page 45: DevOps Patterns Distilled: Implementing The Needed Practices In Practical Steps

@RealGeneKim

Google Dev And Ops (2013)

15,000 engineers, working on 4,000+ projects (Agile parallel development)

All code is checked into one source tree. (Billions of files!)

5,500 code commits/day

75 million test cases are run daily.

"Automated tests transform fear into boredom." —Eran Messeri, Google

Page 46: DevOps Patterns Distilled: Implementing The Needed Practices In Practical Steps

@RealGeneKim

Developers carry pagers.

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

– Patrick Lightbody, CEO, BrowserMob

“You build it, you run it.”

– Werner Vogels, CTO, Amazon

Page 47: DevOps Patterns Distilled: Implementing The Needed Practices In Practical Steps

@RealGeneKim

Developers carry pagers.

“As a developer, there has never been a more satisfying point in my career than when I wrote the code, I pushed the button to deploy it, I watched the metrics to see if it actually worked in production and fixed it if it broke.”

– Tim Tischler, Director of Operations Engr, Nike, Inc.

Page 48: DevOps Patterns Distilled: Implementing The Needed Practices In Practical Steps

@RealGeneKim

Devs initially self-manage their own code.

Source: Tom Limoncelli, Google

Page 49: DevOps Patterns Distilled: Implementing The Needed Practices In Practical Steps

@RealGeneKim

Return fragile services back to Dev.

Source: Tom Limoncelli, Google

Page 50: DevOps Patterns Distilled: Implementing The Needed Practices In Practical Steps

@RealGeneKim

Pervasive Production Telemetry

“Having a developer add a monitoring metric shouldn’t feel like a schema change.”

– John Allspaw, SVP Tech Ops, Etsy

Page 51: DevOps Patterns Distilled: Implementing The Needed Practices In Practical Steps

@RealGeneKim51

Page 52: DevOps Patterns Distilled: Implementing The Needed Practices In Practical Steps

@RealGeneKim

People actually look at the logs! (Verizon PCI Data Breach Study)

Page 53: DevOps Patterns Distilled: Implementing The Needed Practices In Practical Steps

@RealGeneKim

Page 54: DevOps Patterns Distilled: Implementing The Needed Practices In Practical Steps

@RealGeneKim

One of the Highest Predictors of Performance

Source: Typology Of Organizational Culture (Westrum, 2004)

Page 55: DevOps Patterns Distilled: Implementing The Needed Practices In Practical Steps

@RealGeneKim

One of the Highest Predictors of Performance

Source: Typology Of Organizational Culture (Westrum, 2004)

Page 56: DevOps Patterns Distilled: Implementing The Needed Practices In Practical Steps

@RealGeneKim

Top Predictors of IT Performance (2014)

Source: Puppet Labs 2014 State Of DevOps

1

2

3

4

5

6

7

Version control of all production artifacts

Continuous integration and deployment

Automated acceptance testing

Peer review of production changes (vs. external change approval)

High-trust culture

Proactive monitoring of the production environment

Win-win relationship between Dev and Ops

Page 57: DevOps Patterns Distilled: Implementing The Needed Practices In Practical Steps

@RealGeneKim

The Second Way: Outcomes

Defects and security issues are getting fixed faster than ever.

Disciplined automated testing is enabling many simultaneous small, agile teams to work productively.

All groups are communicating and coordinating better.

Everybody is getting more work done.

CA Enablers:Agile Parallel Development, Agile OperationsCA Service Virtualization v8.0, CA API Developer Portal v3.0,CA Mobile API Gateway 3.0, CA Application Performance Management 9.7, CA Unified Infrastructure Management 8.0. New Product: CA Mobile App Analytics

Page 58: DevOps Patterns Distilled: Implementing The Needed Practices In Practical Steps

@RealGeneKim

The Third Way: Continual Experimentation and Learning

Page 59: DevOps Patterns Distilled: Implementing The Needed Practices In Practical Steps

@RealGeneKim

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, Former Architect, Netflix(Now Technology Fellow, Battery Ventures)

Page 60: DevOps Patterns Distilled: Implementing The Needed Practices In Practical Steps

@RealGeneKim60

Page 61: DevOps Patterns Distilled: Implementing The Needed Practices In Practical Steps

@RealGeneKim

Inject failures often.

Page 62: DevOps Patterns Distilled: Implementing The Needed Practices In Practical Steps

@RealGeneKim

You don’t choose Chaos Monkey.

Chaos Monkey chooses you.

Page 63: DevOps Patterns Distilled: Implementing The Needed Practices In Practical Steps

@RealGeneKim

Allocate 20 percent of

cycles to technical

debt reduction.

Page 64: DevOps Patterns Distilled: Implementing The Needed Practices In Practical Steps

@RealGeneKim

“By November 2011, Kevin Scott, LinkedIn’s top engineer, had had enough. The system was taxed as LinkedIn attracted more users, and engineers were burnt out.

“To fix the problems, Scott, who’d arrived from Google that February, launched Operation InVersion.

“He froze development on new features so engineers could overhaul the computing architecture.

“`We had to tell management we’re not going to deliver anything new while all of engineering works on this project for the next two months,’ Scott says. “It was a scary thing.’”

Page 65: DevOps Patterns Distilled: Implementing The Needed Practices In Practical Steps

@RealGeneKim

Page 66: DevOps Patterns Distilled: Implementing The Needed Practices In Practical Steps

@RealGeneKim

Page 67: DevOps Patterns Distilled: Implementing The Needed Practices In Practical Steps

Source: Pingdom

Page 68: DevOps Patterns Distilled: Implementing The Needed Practices In Practical Steps

@RealGeneKim

Why do I think this is important?

Page 69: DevOps Patterns Distilled: Implementing The Needed Practices In Practical Steps

@RealGeneKim

The downward spiral …

Page 70: DevOps Patterns Distilled: Implementing The Needed Practices In Practical Steps

@RealGeneKim

Page 71: DevOps Patterns Distilled: Implementing The Needed Practices In Practical Steps

@RealGeneKim

Opportunity cost of wasted IT spending?

US$2,600,000,000,000.00 per year(US$2.6 Trillion)

Page 72: DevOps Patterns Distilled: Implementing The Needed Practices In Practical Steps

@RealGeneKim

DevOps Enterprise: Lessons Learned

On Oct 21-23, we held the DevOps Enterprise Summit, a conference for horses, by horses.

Macy’s, Disney, GE Capital, Blackboard, Telstra, U.S. Department of Homeland Security, CSG, Raytheon, Ticketmaster, Union Bank of California

Leaders driving DevOps transformations talked about:

The business problem they set out to solve

The obstacles they had to overcome

The business value they created

Page 73: DevOps Patterns Distilled: Implementing The Needed Practices In Practical Steps

@RealGeneKim

Want more, learn more?

To receive the following:

A copy of this presentation

A free 140-page excerpt of The Phoenix Project

Information on the DevOps Enterprise: Lessons Learned

My recommended reading list for enterprise DevOps adoption

Early drafts of our upcoming DevOps Cookbook

Just pick up your phone, or send an email:

To: [email protected]: ca

[email protected]

ca

Page 74: DevOps Patterns Distilled: Implementing The Needed Practices In Practical Steps

@RealGeneKimSource: Puppet Labs 2014 State Of DevOps

Can large orgs be high performers?

Yes.

But orgs with 10,000+ employees are 40 percent less likely to be high-performing vs. 500 employee orgs …

Page 75: DevOps Patterns Distilled: Implementing The Needed Practices In Practical Steps

@RealGeneKim

The Other Side of Innovation

Page 76: DevOps Patterns Distilled: Implementing The Needed Practices In Practical Steps

@RealGeneKim

For More Information

To learn more about DevOps, please visit:

http://bit.ly/1wbjjqX

Insert appropriate screenshot and text overlayfrom following “More Info Graphics” slide here;

ensure it links to correct pageDevOps

Page 77: DevOps Patterns Distilled: Implementing The Needed Practices In Practical Steps

77 © 2014 CA. ALL RIGHTS RESERVED.

For Informational Purposes Only

This presentation provided at CA World 2014 is intended for information purposes only and does not form any type of warranty.

Content provided in this presentation has not been reviewed for accuracy and is based on information provided by CA Partners

and Customers.

Terms of this Presentation