continuous delivery & devops in the enterprise

Post on 02-Jul-2015

574 Views

Category:

Technology

7 Downloads

Preview:

Click to see full reader

DESCRIPTION

Continuous Delivery and DevOps have a different value proposition in the Enterprise and therefore must be implemented differently. This presentation ta

TRANSCRIPT

Eberhard Wolff - @ewolff

DevOps & Continuous Delivery

in the Enterprise Eberhard Wolff Freelancer Head Technology Advisory Board adesso AG

Eberhard Wolff - @ewolff

Leseprobe: http://bit.ly/CD-Buch

Eberhard Wolff - @ewolff

Continuous Delivery DevOps

Adoption

Eberhard Wolff - @ewolff

Continuous Delivery DevOps

Adoption

Eberhard Wolff - @ewolff

Continuous Delivery: Build Pipeline

Commit Stage

Automated Acceptance

Testing

Automated Capacity Testing

Manual Explorative

Testing

Release

Eberhard Wolff - @ewolff

Continuous Delivery •  Pipeline executed several times per day

•  Automated provisioning

•  Fast Feedback •  Tests, tests, tests… •  Feedback from production

Eberhard Wolff - @ewolff

Continuous Delivery

in Startups

Eberhard Wolff - @ewolff

Lean Startup Approach for launching businesses and products

Relies on •  validated learning •  scientific experimentation •  iterative product releases

To •  shorten product development cycles •  measure progress •  gain valuable customer feedback.

Eberhard Wolff - @ewolff

Traditional Approach •  Let’s create a shop 2.0

•  Features •  Express orders •  Improved search •  Improved recommendations

Eberhard Wolff - @ewolff

Traditional Approach •  Have it all implemented •  Roll it out •  See impact

•  Spend a lot of money •  Takes a long time •  Can you measure the success?

Eberhard Wolff - @ewolff

Lean Startup: Express Orders •  Interview customers

•  No interest

•  Don’t build it

Eberhard Wolff - @ewolff

Lean Startup: Search •  Prototype

•  Well received

•  Build it!

Eberhard Wolff - @ewolff

Lean Startup: Benefits •  Less money spent

•  Faster results

•  Can further expand e.g. search •  …instead of wasting money on

express orders

Eberhard Wolff - @ewolff

Eberhard Wolff - @ewolff

Observe

Orient

Decide

Act OODA Loop

Eberhard Wolff - @ewolff

Startups •  No clear market yet •  Need feedback •  …and change plan accordingly •  Success depends on speed in OODA

loop

Eberhard Wolff - @ewolff

Continuous Delivery and the Market

•  OODA: act quickly, observer better

•  Act: Faster deployment •  = shorter time to market

•  Observe: Better visibility with better monitoring

Eberhard Wolff - @ewolff

Continuous Delivery

in Enterprises

Eberhard Wolff - @ewolff

IT Faster!

Time to Market!

Eberhard Wolff - @ewolff

We used to do a release a quarter.

Eberhard Wolff - @ewolff

We used to do a release a quarter.

Now we do one every two quarters

Eberhard Wolff - @ewolff

IT Faster!

Time to Market!

Eberhard Wolff - @ewolff

Why not? •  Managers think in month •  …or even years

•  Quick feedback and fast deployment hardly usable

Eberhard Wolff - @ewolff

So? •  Adopt Lean Startup in Enterprises •  Lean Startup is not just for Startups •  Quicker innovation •  Gain a competitive edge

•  Business strategy •  Outside IT

Eberhard Wolff - @ewolff

Software Becomes the Product! •  Example: Automotive •  Cars: Auto pilot (Tesla, Audi) •  Car sharing instead of buying cars •  DriveNow (BMW), Car2Go (Daimler) •  Uber •  MyTaxi (Daimler) •  Enterprise = Start Up?

Eberhard Wolff - @ewolff

Continuous Delivery is

faster deployments

Eberhard Wolff - @ewolff

Traditional Enterprise Approach

•  Low frequency of releases •  Each release scheduled •  …extensively managed •  …precautions if it fails •  Weekends, nights …

•  Enterprises can only deploy slowly

Eberhard Wolff - @ewolff

Enterprises can deploy quickly!

Eberhard Wolff - @ewolff

Quick Deployment in Enterprises

Severe production problem •  Hot fix •  Deployed in minutes / hours

How? •  Only limited tests, high risk (?) •  Small batch, small risk

Eberhard Wolff - @ewolff

Lessons Learned from Hot Fixes

•  Speed of deployment: no good reason for Continuous Delivery

•  Continuous Delivery = Hot Fix + automated tests

•  Different way to handle risk •  Smaller and faster deployments

Eberhard Wolff - @ewolff

Continuous Delivery Minimizes Risk

•  Risk depends on size of change

•  More frequent deployments less risk

Eberhard Wolff - @ewolff

Traditional Deployments: Risk

Developer Build

1h

Continuous Integration

Development Environment

1d

Staging

30d

>30d

Production

Eberhard Wolff - @ewolff

Continuous Delivery: Risk

Developer Build

1h

Continuous Integration

Acceptance Tests

Capacity Tests

Production

Eberhard Wolff - @ewolff

Traditional Enterprise Approach

Difference to Continuous Delivery? •  No automation •  Not reproducible •  Too infrequent to establish best

practices

Eberhard Wolff - @ewolff

Full Continuous Delivery Pipeline?

Commit Stage

Automated Acceptance

Testing

Automated Capacity Testing

Manual Explorative

Testing

Release

Dev Ops

Eberhard Wolff - @ewolff

Continuous Delivery & Separated Ops

•  Need buy-in from Ops •  Separate organizational unit •  Mistrust •  Used to their ways •  …and tools

•  Solution: DevOps (later)

Eberhard Wolff - @ewolff

Dev-only pipeline useful?

Eberhard Wolff - @ewolff

Dev-only Pipeline •  Much higher quality •  A lot more tests •  Automated infrastructure •  Pays off for testing systems

•  Sensible alternative

Eberhard Wolff - @ewolff

Not just productivity gain

automation vs. manual

Eberhard Wolff - @ewolff

Continuous Delivery Pipeline

More frequent

tests

Higher quality

Faster feedback Faster

Time- to-market

Automation

Higher productivity

Reproducible environments

Eberhard Wolff - @ewolff

Continuous Delivery Pipeline

More frequent

tests

Higher quality

Faster feedback Faster

Time- to-market

Automation

Higher productivity

Reproducible environments

Eberhard Wolff - @ewolff

Continuous Delivery Pipeline

More frequent

tests

Higher quality

Faster feedback Faster

Time- to-market

Automation

Higher productivity

Reproducible environments

Eberhard Wolff - @ewolff

Continuous Delivery in Enterprises: Sum Up

Dev+Ops+Business •  Time to market •  Lean Startup / fast OODA loop •  Best Pay Off Dev + Ops •  Avoid deployment problems •  All the weekends spend on releases

Eberhard Wolff - @ewolff

Continuous Delivery in Enterprises: Sum Up

Dev •  Faster feedback •  More tests •  Easier to set up test environments

Can be introduced with little Buy-In •  Just do it!

Eberhard Wolff - @ewolff

Continuous Delivery DevOps

Adoption

Eberhard Wolff - @ewolff

Continuous Delivery DevOps

Adoption

Eberhard Wolff - @ewolff

DevOps •  Dev: Development •  Ops: Operations

•  DevOps = close collaboration between Dev and Ops

•  Teams have Ops and Dev people

Eberhard Wolff - @ewolff

DevOps in Startups

Eberhard Wolff - @ewolff

DevOps in Startups •  You build it – you run it •  Smaller organizational units •  At the beginning: No clear roles •  DevOps teams by feature •  From the start

Eberhard Wolff - @ewolff

DevOps in Enterprises

Eberhard Wolff - @ewolff

Dev – features Ops – cost

Eberhard Wolff - @ewolff

Dev builds it Ops runs it

Eberhard Wolff - @ewolff

Why??

Eberhard Wolff - @ewolff

Costs

Eberhard Wolff - @ewolff

Why Separate Dev and Ops?

•  Adam Smith •  Separation of labor •  Standardization •  Industrialization •  Cost •  Productivity

Eberhard Wolff - @ewolff

Lower Costs Differently •  Basic tasks automated by software •  See Continuous Delivery

•  IT = automating tasks

Eberhard Wolff - @ewolff

Goals Might Be Different •  Flexible IT to support business •  See Lean Startup etc •  Separate Dev/Ops: not be the best

option for Enterprises?

Eberhard Wolff - @ewolff

Let’s introduce DevOps in

Enterprises!

Eberhard Wolff - @ewolff

DevOps in Enterprises •  Dev and Ops separated directly

below CIO •  Need to change the organization •  Fundamentally •  Changing the organization is hard

Eberhard Wolff - @ewolff L

Eberhard Wolff - @ewolff

DevOps =

Culture

Eberhard Wolff - @ewolff

Do you need to change the

organization?

Eberhard Wolff - @ewolff

DevOps = Culture •  Let Ops and Dev sit together •  Direct communication between Ops

and Dev engineers emerges •  Associate Ops with Dev teams

•  Share tools… •  …and knowledge

Eberhard Wolff - @ewolff

What if you change the

organization?

Eberhard Wolff - @ewolff

Traditional Organization

CRM Order Inventory

Dev

Ops Hardware, Operating System etc

Eberhard Wolff - @ewolff

Problem with Traditional Organization

•  Customer only cares about applications

•  Not infrastructure •  So: Ops not important? •  Different goals •  Dev: Bring out new features quickly •  Ops: Stable platform and applications

Eberhard Wolff - @ewolff

Problem with Traditional Organization

•  At the end Ops and Dev both serve the customer

•  Both own stability and new features

•  But not represented in organization •  …or incentives

Eberhard Wolff - @ewolff

DevOps Organization

CRM Order Inventory

Dev

Ops Hardware, Operating System etc Hardware etc

Eberhard Wolff - @ewolff

Dev Ops = Customer Oriented

•  Team owns feature •  …and stability •  i.e. value of the application to the

customer •  Clearly responsibility •  Competitive edge for in-house IT

Eberhard Wolff - @ewolff

Continuous Delivery DevOps

Adoption

Eberhard Wolff - @ewolff

Continuous Delivery DevOps

Adoption

Eberhard Wolff - @ewolff

DevOps & Continuous

Delivery will be adopted like

Agile

Eberhard Wolff - @ewolff

DevOps & CD vs. Agile •  Similar issues •  Culture •  Values •  Time to market

•  E.g. DevOps & CD are the next step after agile

Eberhard Wolff - @ewolff

Step 1: Resistance & Doubt •  Agile about 2000 •  eXtreme Programming

•  Management doesn’t want it

•  Doubts whether it can work at all

Eberhard Wolff - @ewolff

DevOps & Continuous

Delivery cannot possibly work for

me!

Eberhard Wolff - @ewolff

My IT is more complex than

Amazon!

Eberhard Wolff - @ewolff

Adoption •  Orthodox to leave the old ways •  Bottom up by IT

•  Problem: Buy-In from Management

•  Current state of DevOps / Continuous Delivery

Eberhard Wolff - @ewolff

Step 2: Mainstream •  Developers & technical managers

agree •  No need to discuss the need •  Project start implementing it en

masse •  Agile after 2005

Eberhard Wolff - @ewolff

Step 2: Mainstream •  Adoption: Just get a coach •  …but hard to make it truly work •  Values & organization – hard to

change

Eberhard Wolff - @ewolff

Step 3: Everyone Is Doing It •  …or at least claims so •  Core values often still not

understood •  …or shared by the organization •  Management Buy-In •  Agile now •  Disillusion

Eberhard Wolff - @ewolff

How can DevOps and Continuous

Delivery avoid this?

Eberhard Wolff - @ewolff

Customize Continuous Delivery & DevOps for Enterprises

Eberhard Wolff - @ewolff

TL;DR

Eberhard Wolff - @ewolff

Continuous Delivery in Enterprises

•  Faster time to market •  Useful if business changes

accordingly

•  Otherwise: Lower risk •  Automation & reproducibility •  Smaller batches for releases

Eberhard Wolff - @ewolff

DevOps in Enterprises •  DevOps = Culture •  Encourage communication •  …and sharing tools

•  Optional: DevOps = Organization •  Customer Oriented IT •  Optimization for flexibility instead of

cost

Eberhard Wolff - @ewolff

Thanks!

top related