Continuous Delivery.ppt

Embed Size (px)

Citation preview

  • 8/16/2019 Continuous Delivery.ppt

    1/39

    http://thoughtworks-studios.com

     /

    Continuous Delivery Jez Humble

    @jezhumble

    http://thoughtworks-studios.com/http://thoughtworks-studios.com/http://thoughtworks-studios.com/http://thoughtworks-studios.com/

  • 8/16/2019 Continuous Delivery.ppt

    2/39

    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"

  • 8/16/2019 Continuous Delivery.ppt

    3/39

    web 2.0

    disrupting traditional businesses

    http://code.flickr.com/

    http://code.flickr.com/http://code.flickr.com/

  • 8/16/2019 Continuous Delivery.ppt

    4/39

    releasing frequently

    1. build the right thing

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

    Customer

    development

    Agile product

    development

  • 8/16/2019 Continuous Delivery.ppt

    5/39

    innovate

     You can't just askcustomers what

    they want and then

    try to give that tothem.

    By the time you getit built, they'll want

    something new.Steve Jobs

  • 8/16/2019 Continuous Delivery.ppt

    6/39

    scientific method

    create hypothesis

    deliver minimum

    viable product

    get feedback

    (repeat)Eric Ries, The Lean Startup

    Ideas

    CodeData

    Build

    Measure

    Learn

  • 8/16/2019 Continuous Delivery.ppt

    7/39

    ask this question

    “How long would it take your

    organization to deploy a changethat 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.

  • 8/16/2019 Continuous Delivery.ppt

    8/39

    releasing frequently

    1. build the right thing

    2. reduce risk of release

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

    http://slidesha.re/dsSZIrhttp://slidesha.re/dsSZIr

  • 8/16/2019 Continuous Delivery.ppt

    9/39

    releasing frequently

    1. build the right thing

    2. reduce risk of release

    3. real project progress

  • 8/16/2019 Continuous Delivery.ppt

    10/39

    agile manifesto

    Our highest priority is to satisfythe customer through early

    and continuous delivery of

    valuable soware

  • 8/16/2019 Continuous Delivery.ppt

    11/39

    Fast, automated feedback on

    the production readiness ofyour applications every time

    there is a change - to code,

    infrastructure, or configuration

    production-ready soware

  • 8/16/2019 Continuous Delivery.ppt

    12/39

    Soware always production ready

    Releases tied to business needs, not

    operational constraints

    Customer

    Delivery teamConstant flow of new features into production

    continuous delivery

  • 8/16/2019 Continuous Delivery.ppt

    13/39

    automation

    patterns and practices

    collaboration

    continuous delivery

  • 8/16/2019 Continuous Delivery.ppt

    14/39

    configuration management

    continuous integration

    automated testing

    ingredients

  • 8/16/2019 Continuous Delivery.ppt

    15/39

    Mainline Server

    Develop

    Build

    Build

    pull

    Local

    Workstation

    Build

    push

    !Done!

  • 8/16/2019 Continuous Delivery.ppt

    16/39

    Everyone Commits

    To the Mainline

    Every Day 

    http://martinfowler.com/articles/continuousIntegration.html#EveryoneCommitsToTheMainlineEveryDayhttp://martinfowler.com/articles/continuousIntegration.html#EveryoneCommitsToTheMainlineEveryDayhttp://martinfowler.com/articles/continuousIntegration.html#EveryoneCommitsToTheMainlineEveryDayhttp://martinfowler.com/articles/continuousIntegration.html#EveryoneCommitsToTheMainlineEveryDayhttp://martinfowler.com/articles/continuousIntegration.html#EveryoneCommitsToTheMainlineEveryDayhttp://martinfowler.com/articles/continuousIntegration.html#EveryoneCommitsToTheMainlineEveryDayhttp://martinfowler.com/articles/continuousIntegration.html#EveryoneCommitsToTheMainlineEveryDayhttp://martinfowler.com/articles/continuousIntegration.html#EveryoneCommitsToTheMainlineEveryDay

  • 8/16/2019 Continuous Delivery.ppt

    17/39

    build quality in

    “Cease dependence on

    mass inspection to achieve

    quality. Improve theprocess and build quality

    into the product in the first

    place”

      W. Edwards Deming

  • 8/16/2019 Continuous Delivery.ppt

    18/39

  • 8/16/2019 Continuous Delivery.ppt

    19/39

    visibility

    an automated implementation of your

    system’s build, deploy, test, release process

    control

    feedback

    deployment pipeline

  • 8/16/2019 Continuous Delivery.ppt

    20/39

    deployment pipeline

    Delivery team Version control Build & unittests

    Automatedacceptance tests

    User acceptancetests

    Release

    Check in

    Feedback

    Trigger

    Check in

    Feedback

    Trigger

    Trigger

    Check in Trigger

    Trigger

    Approval

    Approval

    Feedback

    Feedback

    Feedback

    Feedback

  • 8/16/2019 Continuous Delivery.ppt

    21/39

    deployment pipeline

  • 8/16/2019 Continuous Delivery.ppt

    22/39

    deployment pipeline

  • 8/16/2019 Continuous Delivery.ppt

    23/39

    incrementalism

    devops

    decoupling deployment and release

    reducing release risk

  • 8/16/2019 Continuous Delivery.ppt

    24/39

    culture

    automation

    measurementsharing

    devops

  • 8/16/2019 Continuous Delivery.ppt

    25/39

    low risk releasesare incremental

    blue-green deployments

    canary releases

    dark launching

    production immune system

    feature toggles

  • 8/16/2019 Continuous Delivery.ppt

    26/39

    STATIC CONTENT

    /static/1.1

    /static/1.0

    DEPENDENT SERVICE

    1.0 1.1

    Abstraction layer Abstraction layer

    APPLICATION

    Database

    Router / Load balancer

    Interwebs

  • 8/16/2019 Continuous Delivery.ppt

    27/39

    blue-greendeployments

  • 8/16/2019 Continuous Delivery.ppt

    28/39

    router

    web

    serverapp

    server

    DB

    server

  • 8/16/2019 Continuous Delivery.ppt

    29/39

    router

    v1.1 v1.1 v1.1

    web

    serverapp

    server

    DB

    server

  • 8/16/2019 Continuous Delivery.ppt

    30/39

    router

    v1.1 v1.1 v1.1

    web

    serverapp

    server

    DB

    server

    v1.2 v1.2 v1.2

  • 8/16/2019 Continuous Delivery.ppt

    31/39

    router

    v1.1 v1.1 v1.1

    web

    serverapp

    server

    DB

    server

    v1.2 v1.2 v1.2

  • 8/16/2019 Continuous Delivery.ppt

    32/39

    release !=deployment

  • 8/16/2019 Continuous Delivery.ppt

    33/39

    feature toggles

    [featureToggles]

    wobblyFoobars: true

    flightyForkHandles: false

    Config File

      ... various UI elements

    some. h

    $fork_handle = ($featureConfig->isOn(‘flightlyForkHandles)) ?

      new flightyForkHander(aCandle) :

      new forkHandler(aCandle);

    other.php

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

    http://martinfowler.com/bliki/FeatureToggle.htmlhttp://martinfowler.com/bliki/FeatureToggle.htmlhttp://martinfowler.com/bliki/FeatureToggle.html

  • 8/16/2019 Continuous Delivery.ppt

    34/39

    Dark Launching

  • 8/16/2019 Continuous Delivery.ppt

    35/39

  • 8/16/2019 Continuous Delivery.ppt

    36/39

  • 8/16/2019 Continuous Delivery.ppt

    37/39

    segregation of duties

    risk management

    SOX, ITIL, COBIT

    auditing and compliance

    change management

    enterprise governance

  • 8/16/2019 Continuous Delivery.ppt

    38/39

    big, visible displays

    inceptions, showcases, retrospectives

    rotate people, share the pain

    continuous improvement (kaizen)

    people are the key

  • 8/16/2019 Continuous Delivery.ppt

    39/39

    h // h h k di /

    questions

     [email protected]://continuousdelivery.com/

    @jezhumble #continuousdelivery

    © 2011 ThoughtWorks, Inc.

    http://thoughtworks-studios.com/http://thoughtworks-studios.com/http://thoughtworks-studios.com/http://continuousdelivery.com/http://continuousdelivery.com/mailto:[email protected]:[email protected]://thoughtworks-studios.com/