Top Banner
http://thoughtworks-studios.com / Continuous Delivery Jez Humble @jezhumble
39

Continuous Delivery - athena.ecs.csus.eduathena.ecs.csus.edu/~buckley/CSc233/JezHumble-DevOps-slides.pdf · and continuous delivery of valuable so"ware. Fast, automated feedback on

Feb 27, 2019

Download

Documents

buinhu
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: Continuous Delivery - athena.ecs.csus.eduathena.ecs.csus.edu/~buckley/CSc233/JezHumble-DevOps-slides.pdf · and continuous delivery of valuable so"ware. Fast, automated feedback on

http://thoughtworks-studios.com/

Continuous DeliveryJez Humble@jezhumble

Page 2: Continuous Delivery - athena.ecs.csus.eduathena.ecs.csus.edu/~buckley/CSc233/JezHumble-DevOps-slides.pdf · and continuous delivery of valuable so"ware. Fast, automated feedback on

agile 101

Iteration 0 1 2 3 4

Analysis + Design

Development

Testing + Showcase

Integration + QA Release and operation

Customer

Centralized QA IT Operations

"Agile" team

The "last mile"

Page 3: Continuous Delivery - athena.ecs.csus.eduathena.ecs.csus.edu/~buckley/CSc233/JezHumble-DevOps-slides.pdf · and continuous delivery of valuable so"ware. Fast, automated feedback on

web 2.0

disrupting traditional businesses

http://code.flickr.com/

Page 4: Continuous Delivery - athena.ecs.csus.eduathena.ecs.csus.edu/~buckley/CSc233/JezHumble-DevOps-slides.pdf · and continuous delivery of valuable so"ware. Fast, automated feedback on

releasing frequently

1. build the right thing

Eric Ries, “The Lean Startup” http://bit.ly/8ZoX5F

Customerdevelopment

Agile productdevelopment

Page 5: Continuous Delivery - athena.ecs.csus.eduathena.ecs.csus.edu/~buckley/CSc233/JezHumble-DevOps-slides.pdf · and continuous delivery of valuable so"ware. Fast, automated feedback on

innovateYou can't just ask

customers what they want and then

try to give that to them.

By the time you get it built, they'll want

something new.Steve Jobs

Page 6: Continuous Delivery - athena.ecs.csus.eduathena.ecs.csus.edu/~buckley/CSc233/JezHumble-DevOps-slides.pdf · and continuous delivery of valuable so"ware. Fast, automated feedback on

scienti!c method

create hypothesis

deliver minimumviable product

get feedback

(repeat)Eric Ries, The Lean Startup

Ideas

CodeData

Build

Measure

Learn

Page 7: Continuous Delivery - athena.ecs.csus.eduathena.ecs.csus.edu/~buckley/CSc233/JezHumble-DevOps-slides.pdf · and continuous delivery of valuable so"ware. Fast, automated feedback on

ask this question

“How long would it take your organization to deploy a change that involved just one single line of code? Do you do this on a repeatable, reliable basis?”

Mary and Tom Poppendieck, Implementing Lean Software Development, p59.

Page 8: Continuous Delivery - athena.ecs.csus.eduathena.ecs.csus.edu/~buckley/CSc233/JezHumble-DevOps-slides.pdf · and continuous delivery of valuable so"ware. Fast, automated feedback on

releasing frequently

1. build the right thing2. reduce risk of release

John Allspaw: “Ops Metametrics” http://slidesha.re/dsSZIr

Page 9: Continuous Delivery - athena.ecs.csus.eduathena.ecs.csus.edu/~buckley/CSc233/JezHumble-DevOps-slides.pdf · and continuous delivery of valuable so"ware. Fast, automated feedback on

releasing frequently

1. build the right thing2. reduce risk of release3. real project progress

Page 10: Continuous Delivery - athena.ecs.csus.eduathena.ecs.csus.edu/~buckley/CSc233/JezHumble-DevOps-slides.pdf · and continuous delivery of valuable so"ware. Fast, automated feedback on

agile manifesto

Our highest priority is to satisfy the customer through early and continuous delivery of valuable so"ware

Page 11: Continuous Delivery - athena.ecs.csus.eduathena.ecs.csus.edu/~buckley/CSc233/JezHumble-DevOps-slides.pdf · and continuous delivery of valuable so"ware. Fast, automated feedback on

Fast, automated feedback on the production readiness of your applications every time there is a change - to code, infrastructure, or con!guration

production-ready so"ware

Page 12: Continuous Delivery - athena.ecs.csus.eduathena.ecs.csus.edu/~buckley/CSc233/JezHumble-DevOps-slides.pdf · and continuous delivery of valuable so"ware. Fast, automated feedback on

So"ware always production ready

Releases tied to business needs, not operational constraints

Customer

Delivery teamConstant flow of new features into production

continuous delivery

Page 13: Continuous Delivery - athena.ecs.csus.eduathena.ecs.csus.edu/~buckley/CSc233/JezHumble-DevOps-slides.pdf · and continuous delivery of valuable so"ware. Fast, automated feedback on

automation

patterns and practices

collaboration

continuous delivery

Page 14: Continuous Delivery - athena.ecs.csus.eduathena.ecs.csus.edu/~buckley/CSc233/JezHumble-DevOps-slides.pdf · and continuous delivery of valuable so"ware. Fast, automated feedback on

con!guration management

continuous integration

automated testing

ingredients

Page 15: Continuous Delivery - athena.ecs.csus.eduathena.ecs.csus.edu/~buckley/CSc233/JezHumble-DevOps-slides.pdf · and continuous delivery of valuable so"ware. Fast, automated feedback on

Mainline Server

Develop

Build

Build

pull

Local Workstation

Buildpush

✔Done!

Page 17: Continuous Delivery - athena.ecs.csus.eduathena.ecs.csus.edu/~buckley/CSc233/JezHumble-DevOps-slides.pdf · and continuous delivery of valuable so"ware. Fast, automated feedback on

build quality in

“Cease dependence on mass inspection to achieve quality. Improve the process and build quality into the product in the !rst place”

W. Edwards Deming

Page 18: Continuous Delivery - athena.ecs.csus.eduathena.ecs.csus.edu/~buckley/CSc233/JezHumble-DevOps-slides.pdf · and continuous delivery of valuable so"ware. Fast, automated feedback on

Functional acceptance tests

ShowcasesUsability testing

Exploratory testing

Unit testsIntegration tests

System tests

Non-functional acceptance tests

(performance, scaling, ...)

Business facing

Technology facing

Critiq

ue p

roje

ct

Support

pro

gra

mm

ing

AUTOMATED

AUTOMATED

MANUAL

MANUAL / AUTOMATED

Diagram invented by Brian Marick

di#erent kinds of testing

Page 19: Continuous Delivery - athena.ecs.csus.eduathena.ecs.csus.edu/~buckley/CSc233/JezHumble-DevOps-slides.pdf · and continuous delivery of valuable so"ware. Fast, automated feedback on

visibility

an automated implementation of your system’s build, deploy, test, release process

control

feedback

deployment pipeline

Page 20: Continuous Delivery - athena.ecs.csus.eduathena.ecs.csus.edu/~buckley/CSc233/JezHumble-DevOps-slides.pdf · and continuous delivery of valuable so"ware. Fast, automated feedback on

deployment pipeline

Delivery team Version control Build & unit tests

Automated acceptance tests

User acceptance tests

Release

Check in

Feedback

Trigger

Check in

Feedback

Trigger

Trigger

Check inTrigger

Trigger

ApprovalApproval

Feedback

Feedback

FeedbackFeedback

Page 21: Continuous Delivery - athena.ecs.csus.eduathena.ecs.csus.edu/~buckley/CSc233/JezHumble-DevOps-slides.pdf · and continuous delivery of valuable so"ware. Fast, automated feedback on

deployment pipeline

Page 22: Continuous Delivery - athena.ecs.csus.eduathena.ecs.csus.edu/~buckley/CSc233/JezHumble-DevOps-slides.pdf · and continuous delivery of valuable so"ware. Fast, automated feedback on

deployment pipeline

Page 23: Continuous Delivery - athena.ecs.csus.eduathena.ecs.csus.edu/~buckley/CSc233/JezHumble-DevOps-slides.pdf · and continuous delivery of valuable so"ware. Fast, automated feedback on

incrementalism

devops

decoupling deployment and release

reducing release risk

Page 24: Continuous Delivery - athena.ecs.csus.eduathena.ecs.csus.edu/~buckley/CSc233/JezHumble-DevOps-slides.pdf · and continuous delivery of valuable so"ware. Fast, automated feedback on

cultureautomation

measurementsharing

devops

Page 25: Continuous Delivery - athena.ecs.csus.eduathena.ecs.csus.edu/~buckley/CSc233/JezHumble-DevOps-slides.pdf · and continuous delivery of valuable so"ware. Fast, automated feedback on

low risk releases are incremental

blue-green deployments

canary releases

dark launching

production immune system

feature toggles

Page 26: Continuous Delivery - athena.ecs.csus.eduathena.ecs.csus.edu/~buckley/CSc233/JezHumble-DevOps-slides.pdf · and continuous delivery of valuable so"ware. Fast, automated feedback on

STATIC CONTENT

/static/1.1

/static/1.0

DEPENDENT SERVICE

1.0 1.1

Abstraction layer Abstraction layer

APPLICATION

Database

Router /Load balancer

Interwebs

Page 27: Continuous Delivery - athena.ecs.csus.eduathena.ecs.csus.edu/~buckley/CSc233/JezHumble-DevOps-slides.pdf · and continuous delivery of valuable so"ware. Fast, automated feedback on

blue-green deployments

Page 28: Continuous Delivery - athena.ecs.csus.eduathena.ecs.csus.edu/~buckley/CSc233/JezHumble-DevOps-slides.pdf · and continuous delivery of valuable so"ware. Fast, automated feedback on

router

web server

app server

DB server

Page 29: Continuous Delivery - athena.ecs.csus.eduathena.ecs.csus.edu/~buckley/CSc233/JezHumble-DevOps-slides.pdf · and continuous delivery of valuable so"ware. Fast, automated feedback on

router

v1.1 v1.1 v1.1

web server

app server

DB server

Page 30: Continuous Delivery - athena.ecs.csus.eduathena.ecs.csus.edu/~buckley/CSc233/JezHumble-DevOps-slides.pdf · and continuous delivery of valuable so"ware. Fast, automated feedback on

router

v1.1 v1.1 v1.1

web server

app server

DB server

v1.2 v1.2 v1.2

Page 31: Continuous Delivery - athena.ecs.csus.eduathena.ecs.csus.edu/~buckley/CSc233/JezHumble-DevOps-slides.pdf · and continuous delivery of valuable so"ware. Fast, automated feedback on

router

v1.1 v1.1 v1.1

web server

app server

DB server

v1.2 v1.2 v1.2

Page 32: Continuous Delivery - athena.ecs.csus.eduathena.ecs.csus.edu/~buckley/CSc233/JezHumble-DevOps-slides.pdf · and continuous delivery of valuable so"ware. Fast, automated feedback on

release != deployment

Page 33: Continuous Delivery - athena.ecs.csus.eduathena.ecs.csus.edu/~buckley/CSc233/JezHumble-DevOps-slides.pdf · and continuous delivery of valuable so"ware. Fast, automated feedback on

feature toggles

[featureToggles]wobblyFoobars: trueflightyForkHandles: false

Con!g File

<?if ($wobblyFoobars) {?> ... various UI elements<?}?>

some.php

$fork_handle = ($featureConfig->isOn(‘flightlyForkHandles)) ? new flightyForkHander(aCandle) : new forkHandler(aCandle);

other.php

Stolen from Martin Fowler http://martinfowler.com/bliki/FeatureToggle.html

Page 34: Continuous Delivery - athena.ecs.csus.eduathena.ecs.csus.edu/~buckley/CSc233/JezHumble-DevOps-slides.pdf · and continuous delivery of valuable so"ware. Fast, automated feedback on

Dark Launching

Page 35: Continuous Delivery - athena.ecs.csus.eduathena.ecs.csus.edu/~buckley/CSc233/JezHumble-DevOps-slides.pdf · and continuous delivery of valuable so"ware. Fast, automated feedback on
Page 36: Continuous Delivery - athena.ecs.csus.eduathena.ecs.csus.edu/~buckley/CSc233/JezHumble-DevOps-slides.pdf · and continuous delivery of valuable so"ware. Fast, automated feedback on
Page 37: Continuous Delivery - athena.ecs.csus.eduathena.ecs.csus.edu/~buckley/CSc233/JezHumble-DevOps-slides.pdf · and continuous delivery of valuable so"ware. Fast, automated feedback on

segregation of duties

risk management

SOX, ITIL, COBIT

auditing and compliance

change management

enterprise governance

Page 38: Continuous Delivery - athena.ecs.csus.eduathena.ecs.csus.edu/~buckley/CSc233/JezHumble-DevOps-slides.pdf · and continuous delivery of valuable so"ware. Fast, automated feedback on

big, visible displays

inceptions, showcases, retrospectives

rotate people, share the pain

continuous improvement (kaizen)

people are the key

Page 39: Continuous Delivery - athena.ecs.csus.eduathena.ecs.csus.edu/~buckley/CSc233/JezHumble-DevOps-slides.pdf · and continuous delivery of valuable so"ware. Fast, automated feedback on

http://thoughtworks-studios.com/

[email protected]://continuousdelivery.com/

@jezhumble #continuousdelivery

© 2011 ThoughtWorks, Inc.