SlideShare a Scribd company logo
1 of 47
Download to read offline
continuous delivery
                           @jezhumble
                           Berlin, 4 october 2012




                         http://thoughtworks-studios.com/
Tuesday, October 9, 12
agile 101



                                      "Agile" team

                                   Analysis + Design         Centralized QA                           IT Operations

                                      Development            Integration + QA                     Release and operation
   Customer                        Testing + Showcase
                   Iteration   0      1    2     3      4
                                                                                The "last mile"




Tuesday, October 9, 12
social



                 disrupting traditional businesses




                                                 http://code.flickr.com/




Tuesday, October 9, 12
releasing frequently



                 1. build the right thing
                                                         Customer
                                                        development


                                                         Agile product
                                                         development




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




Tuesday, October 9, 12
innovate
                           You 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

Tuesday, October 9, 12
scientific method

                                                             Ideas


                 create hypothesis          Learn                             Build


                 deliver minimum
                 viable product
                                            Data                                 Code

                 get feedback                               Measure


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

Tuesday, October 9, 12
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.

Tuesday, October 9, 12
releasing frequently



                 1. build the right thing
                 2. reduce risk of release




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

Tuesday, October 9, 12
optimize for mtrs




Tuesday, October 9, 12
optimize for mtrs




                            MTBF                                                  MTRS

                                John Allspaw: “Building Resilience in Web Development and Operations”
                         http://www.usievents.com/en/conferences/8-paris-usi-2011/sessions/968-john-allspaw
Tuesday, October 9, 12
releasing frequently



                 1. build the right thing
                 2. reduce risk of release
                 3. real project progress




Tuesday, October 9, 12
agile manifesto



                 Our highest priority is to satisfy
                 the customer through early and
                 continuous delivery of
                 valuable software




Tuesday, October 9, 12
production-ready software



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



Tuesday, October 9, 12
continuous delivery




                 Software always production ready
                 Releases tied to business needs, not
                 operational constraints
Tuesday, October 9, 12
continuous delivery

                 automation



                 patterns and practices



                 collaboration


Tuesday, October 9, 12
ingredients

                 configuration management



                 continuous integration



                 automated testing


Tuesday, October 9, 12
Local
               Develop
                           Workstation

                                            Mainline Server

                   Build

                                     pull


                   Build                        Build
                                                              ✔
                                                          Done!
                                  push

Tuesday, October 9, 12
Local
               Develop
                           Workstation

                Everyone Commits
                          Mainline Server

                   Build
                         To the pull
                                 Mainline
                   Build
                            Every Day
                                    Build
                                            ✔
                                            Done!
                                  push

Tuesday, October 9, 12
build quality in

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

                                 W. Edwards Deming
Tuesday, October 9, 12
different kinds of testing


                                                                  Business facing
                                                     AUTOMATED                       MANUAL

                                                                                Showcases
                          Support programming




                                                Functional acceptance
                                                                              Usability testing
                                                        tests




                                                                                                           Critique project
                                                                             Exploratory testing



                                                       Unit tests               Non-functional
                                                   Integration tests          acceptance tests
                                                     System tests         (performance, scaling, ...)
                                                     AUTOMATED               MANUAL / AUTOMATED

                                                                 Technology facing



                                                                                                        Diagram invented by Brian Marick

Tuesday, October 9, 12
deployment pipeline


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

                 visibility

                 feedback

                 control

Tuesday, October 9, 12
deployment pipeline

                         Delivery team         Version control              Build & unit           Automated       User acceptance         Release
                                                                               tests            acceptance tests         tests

                                         Check in
                                                                  Trigger

                                                    Feedback


                                         Check in
                                                                  Trigger

                                                Feedback                                   Trigger




                                                               Feedback


                                     Check in
                                                                  Trigger

                                                    Feedback                               Trigger




                                                               Feedback                                      Approval
                                                                          Feedback                                              Approval




Tuesday, October 9, 12
deployment pipeline




Tuesday, October 9, 12
deployment pipeline




Tuesday, October 9, 12
reducing release risk



                 automate provisioning and deployment




                 ensure devs, testers and ops collaborate
                 throughout


Tuesday, October 9, 12
reducing release risk


                 devops


                 incrementalism


                 decoupling deployment and release


Tuesday, October 9, 12
devops
                            culture
                          automation
                         measurement
                            sharing




Tuesday, October 9, 12
feature toggles
                blue-green deployments

                                                 canary releases


               low risk releases
                are incremental
                         dark launching

                                          production immune system

Tuesday, October 9, 12
DEPENDENT SERVICE



                                                   1.0         1.1                      Database




                                                  Abstraction layer                 Abstraction layer



                         STATIC CONTENT


                                /static/1.1
                                                                      APPLICATION

                                /static/1.0




                                                 Router /
                                              Load balancer




                                                Interwebs




Tuesday, October 9, 12
blue-green
                         deployments


Tuesday, October 9, 12
router



                                   web      app       DB
                                  server   server   server
Tuesday, October 9, 12
v1.1     v1.1     v1.1

                         router



                                   web      app       DB
                                  server   server   server
Tuesday, October 9, 12
v1.1     v1.1     v1.1

                         router
                                   v1.2     v1.2     v1.2



                                   web      app       DB
                                  server   server   server
Tuesday, October 9, 12
v1.1     v1.1     v1.1

                         router
                                   v1.2     v1.2     v1.2



                                   web      app       DB
                                  server   server   server
Tuesday, October 9, 12
Canary Releasing


Tuesday, October 9, 12
Tuesday, October 9, 12
Tuesday, October 9, 12
canary releasing


                 Reduce risk of release


                 Multi-variant testing


                 Performance testing


Tuesday, October 9, 12
immune system


                         what if someone replaced your
                         “buy” button with spacer.gif?




                                 T cells http://www.flickr.com/photos/gehealthcare/3326186490/
Tuesday, October 9, 12
release !=
                         deployment


Tuesday, October 9, 12
feature toggles

                   Config File
             [featureToggles]
             wobblyFoobars: true
                                                                               some.php
             flightyForkHandles: false
                                                                   <?if ($wobblyFoobars) {?>
                                                                     ... various UI elements
                                                                   <?}?>




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




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

Tuesday, October 9, 12
Dark Launching


Tuesday, October 9, 12
Tuesday, October 9, 12
Tuesday, October 9, 12
enterprise governance

   risk management

   SOX, ITIL, COBIT

   segregation of duties

   change management

   auditing and compliance

Tuesday, October 9, 12
people are the key

                 Get everyone together at the beginning

                 Keep meeting

                 Make it easy for everyone to see what’s
                 happening

                 Continuous improvement (kaizen)


Tuesday, October 9, 12
questions
        @jezhumble | jez@thoughtworks.com
        http://continuousdelivery.com/



        ThoughtWorks is hiring!
        http://jobs.thoughtworks.com/

        Australia | Brazil | Canada | China
        Germany | India | Singapore | South Africa
        Uganda | UK | USA


                                                            © 2012 ThoughtWorks, Inc.


                         http://thoughtworks-studios.com/
Tuesday, October 9, 12

More Related Content

What's hot

Introduction to GitHub Actions
Introduction to GitHub ActionsIntroduction to GitHub Actions
Introduction to GitHub ActionsKnoldus Inc.
 
Devops Scorecard
Devops ScorecardDevops Scorecard
Devops ScorecardJez Humble
 
DevOps Evolution - The Next Generation ?
DevOps Evolution - The Next Generation ?DevOps Evolution - The Next Generation ?
DevOps Evolution - The Next Generation ?Marc Hornbeek
 
Introdução ao Kubernetes
Introdução ao KubernetesIntrodução ao Kubernetes
Introdução ao KubernetesMatheus Mendes
 
DevOps-as-a-Service: Towards Automating the Automation
DevOps-as-a-Service: Towards Automating the AutomationDevOps-as-a-Service: Towards Automating the Automation
DevOps-as-a-Service: Towards Automating the AutomationKeith Pleas
 
GitOps with ArgoCD
GitOps with ArgoCDGitOps with ArgoCD
GitOps with ArgoCDCloudOps2005
 
The Paved Road at Netflix
The Paved Road at NetflixThe Paved Road at Netflix
The Paved Road at NetflixDianne Marsh
 
Devops Devops Devops
Devops Devops DevopsDevops Devops Devops
Devops Devops DevopsKris Buytaert
 
Monitoring on Kubernetes using prometheus
Monitoring on Kubernetes using prometheusMonitoring on Kubernetes using prometheus
Monitoring on Kubernetes using prometheusChandresh Pancholi
 
Backstage at CNCF Madison.pptx
Backstage at CNCF Madison.pptxBackstage at CNCF Madison.pptx
Backstage at CNCF Madison.pptxBrandenTimm1
 
Kubernetes and Prometheus
Kubernetes and PrometheusKubernetes and Prometheus
Kubernetes and PrometheusWeaveworks
 
EKS에서 Opentelemetry로 코드실행 모니터링하기 - 신재현 (인덴트코퍼레이션) :: AWS Community Day Online...
EKS에서 Opentelemetry로 코드실행 모니터링하기 - 신재현 (인덴트코퍼레이션) :: AWS Community Day Online...EKS에서 Opentelemetry로 코드실행 모니터링하기 - 신재현 (인덴트코퍼레이션) :: AWS Community Day Online...
EKS에서 Opentelemetry로 코드실행 모니터링하기 - 신재현 (인덴트코퍼레이션) :: AWS Community Day Online...AWSKRUG - AWS한국사용자모임
 

What's hot (20)

Introduction to GitHub Actions
Introduction to GitHub ActionsIntroduction to GitHub Actions
Introduction to GitHub Actions
 
Devops Scorecard
Devops ScorecardDevops Scorecard
Devops Scorecard
 
"DevOps > CI+CD "
"DevOps > CI+CD ""DevOps > CI+CD "
"DevOps > CI+CD "
 
CI/CD with Github Actions
CI/CD with Github ActionsCI/CD with Github Actions
CI/CD with Github Actions
 
DevOps Evolution - The Next Generation ?
DevOps Evolution - The Next Generation ?DevOps Evolution - The Next Generation ?
DevOps Evolution - The Next Generation ?
 
Introdução ao Kubernetes
Introdução ao KubernetesIntrodução ao Kubernetes
Introdução ao Kubernetes
 
DevOps-as-a-Service: Towards Automating the Automation
DevOps-as-a-Service: Towards Automating the AutomationDevOps-as-a-Service: Towards Automating the Automation
DevOps-as-a-Service: Towards Automating the Automation
 
Automation CICD
Automation CICDAutomation CICD
Automation CICD
 
Intro to DevOps
Intro to DevOpsIntro to DevOps
Intro to DevOps
 
Continuous Delivery Maturity Model
Continuous Delivery Maturity ModelContinuous Delivery Maturity Model
Continuous Delivery Maturity Model
 
DevOps Architecture Design
DevOps Architecture DesignDevOps Architecture Design
DevOps Architecture Design
 
GitOps with ArgoCD
GitOps with ArgoCDGitOps with ArgoCD
GitOps with ArgoCD
 
The Paved Road at Netflix
The Paved Road at NetflixThe Paved Road at Netflix
The Paved Road at Netflix
 
Devops Devops Devops
Devops Devops DevopsDevops Devops Devops
Devops Devops Devops
 
Devops: A History
Devops: A HistoryDevops: A History
Devops: A History
 
CI/CD with GitHub Actions
CI/CD with GitHub ActionsCI/CD with GitHub Actions
CI/CD with GitHub Actions
 
Monitoring on Kubernetes using prometheus
Monitoring on Kubernetes using prometheusMonitoring on Kubernetes using prometheus
Monitoring on Kubernetes using prometheus
 
Backstage at CNCF Madison.pptx
Backstage at CNCF Madison.pptxBackstage at CNCF Madison.pptx
Backstage at CNCF Madison.pptx
 
Kubernetes and Prometheus
Kubernetes and PrometheusKubernetes and Prometheus
Kubernetes and Prometheus
 
EKS에서 Opentelemetry로 코드실행 모니터링하기 - 신재현 (인덴트코퍼레이션) :: AWS Community Day Online...
EKS에서 Opentelemetry로 코드실행 모니터링하기 - 신재현 (인덴트코퍼레이션) :: AWS Community Day Online...EKS에서 Opentelemetry로 코드실행 모니터링하기 - 신재현 (인덴트코퍼레이션) :: AWS Community Day Online...
EKS에서 Opentelemetry로 코드실행 모니터링하기 - 신재현 (인덴트코퍼레이션) :: AWS Community Day Online...
 

Similar to Continuous Delivery

Continuous delivery agile_2012
Continuous delivery agile_2012Continuous delivery agile_2012
Continuous delivery agile_2012drewz lin
 
Continuous delivery a happier, safer alternative to release trains
Continuous delivery   a happier, safer alternative to release trainsContinuous delivery   a happier, safer alternative to release trains
Continuous delivery a happier, safer alternative to release trainsThoughtworks
 
Twenty Startups A Year Without Going Crazy
Twenty Startups A Year Without Going CrazyTwenty Startups A Year Without Going Crazy
Twenty Startups A Year Without Going CrazyCiklum Ukraine
 
Social ROI and Value modeling
Social ROI and Value modeling Social ROI and Value modeling
Social ROI and Value modeling Peter H. Reiser
 
Cloud4all Architecture Overview
Cloud4all Architecture OverviewCloud4all Architecture Overview
Cloud4all Architecture Overviewicchp2012
 
The Software Debt Bubble: Is It About to Burst
The Software Debt Bubble: Is It About to BurstThe Software Debt Bubble: Is It About to Burst
The Software Debt Bubble: Is It About to BurstChris Sterling
 
PM Connect - Agile Workshop
PM Connect - Agile WorkshopPM Connect - Agile Workshop
PM Connect - Agile WorkshopMassInnov8
 
Architecture In An Agile World
Architecture In An Agile WorldArchitecture In An Agile World
Architecture In An Agile WorldJames Cooper
 
First build the right thing
First build the right thingFirst build the right thing
First build the right thingAgileOnTheBeach
 
Lean Startup Dojo: MVP
Lean Startup Dojo: MVPLean Startup Dojo: MVP
Lean Startup Dojo: MVPRich Collins
 
Applying the Lean Startup Model to the Enterprise
Applying the Lean Startup Model to the EnterpriseApplying the Lean Startup Model to the Enterprise
Applying the Lean Startup Model to the EnterpriseJez Humble
 
Managing Technical Debt
Managing Technical DebtManaging Technical Debt
Managing Technical Debtspullara
 
JDD 2016 - Joseph W. Yoder - Deliver Fast "With Confidence"
JDD 2016 - Joseph W. Yoder - Deliver Fast "With Confidence"JDD 2016 - Joseph W. Yoder - Deliver Fast "With Confidence"
JDD 2016 - Joseph W. Yoder - Deliver Fast "With Confidence"PROIDEA
 
Craftsmanship - Technical Disciplines vs. Agile - Business Practises
Craftsmanship - Technical Disciplines vs. Agile - Business PractisesCraftsmanship - Technical Disciplines vs. Agile - Business Practises
Craftsmanship - Technical Disciplines vs. Agile - Business PractisesMatt Harasymczuk
 
Unlocked London - General Session
Unlocked London - General SessionUnlocked London - General Session
Unlocked London - General SessionWayne Walls
 
30 days or less: New Features to Production
30 days or less: New Features to Production30 days or less: New Features to Production
30 days or less: New Features to ProductionKarthik Gaekwad
 
Discovery delivery agiletour-xian
Discovery delivery agiletour-xianDiscovery delivery agiletour-xian
Discovery delivery agiletour-xianQiao Liang
 

Similar to Continuous Delivery (20)

Continuous delivery agile_2012
Continuous delivery agile_2012Continuous delivery agile_2012
Continuous delivery agile_2012
 
Continuous delivery a happier, safer alternative to release trains
Continuous delivery   a happier, safer alternative to release trainsContinuous delivery   a happier, safer alternative to release trains
Continuous delivery a happier, safer alternative to release trains
 
Twenty Startups A Year Without Going Crazy
Twenty Startups A Year Without Going CrazyTwenty Startups A Year Without Going Crazy
Twenty Startups A Year Without Going Crazy
 
Social ROI and Value modeling
Social ROI and Value modeling Social ROI and Value modeling
Social ROI and Value modeling
 
Running a Lean Startup with AWS
Running a Lean Startup with AWSRunning a Lean Startup with AWS
Running a Lean Startup with AWS
 
Cloud4all Architecture Overview
Cloud4all Architecture OverviewCloud4all Architecture Overview
Cloud4all Architecture Overview
 
The Software Debt Bubble: Is It About to Burst
The Software Debt Bubble: Is It About to BurstThe Software Debt Bubble: Is It About to Burst
The Software Debt Bubble: Is It About to Burst
 
PM Connect - Agile Workshop
PM Connect - Agile WorkshopPM Connect - Agile Workshop
PM Connect - Agile Workshop
 
Architecture In An Agile World
Architecture In An Agile WorldArchitecture In An Agile World
Architecture In An Agile World
 
First build the right thing
First build the right thingFirst build the right thing
First build the right thing
 
Lean Startup Dojo: MVP
Lean Startup Dojo: MVPLean Startup Dojo: MVP
Lean Startup Dojo: MVP
 
Applying the Lean Startup Model to the Enterprise
Applying the Lean Startup Model to the EnterpriseApplying the Lean Startup Model to the Enterprise
Applying the Lean Startup Model to the Enterprise
 
Continuous Innovation
Continuous InnovationContinuous Innovation
Continuous Innovation
 
Getting to MVP on AWS
Getting to MVP on AWSGetting to MVP on AWS
Getting to MVP on AWS
 
Managing Technical Debt
Managing Technical DebtManaging Technical Debt
Managing Technical Debt
 
JDD 2016 - Joseph W. Yoder - Deliver Fast "With Confidence"
JDD 2016 - Joseph W. Yoder - Deliver Fast "With Confidence"JDD 2016 - Joseph W. Yoder - Deliver Fast "With Confidence"
JDD 2016 - Joseph W. Yoder - Deliver Fast "With Confidence"
 
Craftsmanship - Technical Disciplines vs. Agile - Business Practises
Craftsmanship - Technical Disciplines vs. Agile - Business PractisesCraftsmanship - Technical Disciplines vs. Agile - Business Practises
Craftsmanship - Technical Disciplines vs. Agile - Business Practises
 
Unlocked London - General Session
Unlocked London - General SessionUnlocked London - General Session
Unlocked London - General Session
 
30 days or less: New Features to Production
30 days or less: New Features to Production30 days or less: New Features to Production
30 days or less: New Features to Production
 
Discovery delivery agiletour-xian
Discovery delivery agiletour-xianDiscovery delivery agiletour-xian
Discovery delivery agiletour-xian
 

More from Jez Humble

My slides have moved
My slides have movedMy slides have moved
My slides have movedJez Humble
 
On Damore's Manifestbro
On Damore's ManifestbroOn Damore's Manifestbro
On Damore's ManifestbroJez Humble
 
Continuous Delivery Sounds Great but it Won't Work Here
Continuous Delivery Sounds Great but it Won't Work HereContinuous Delivery Sounds Great but it Won't Work Here
Continuous Delivery Sounds Great but it Won't Work HereJez Humble
 
Why Scaling Agile Doesn't Work (and What to Do About It)
Why Scaling Agile Doesn't Work (and What to Do About It)Why Scaling Agile Doesn't Work (and What to Do About It)
Why Scaling Agile Doesn't Work (and What to Do About It)Jez Humble
 
Creating Maintainable Automated Acceptance Tests
Creating Maintainable Automated Acceptance TestsCreating Maintainable Automated Acceptance Tests
Creating Maintainable Automated Acceptance TestsJez Humble
 
The Realist-Idealist Debate in Buddhist Philosophy
The Realist-Idealist Debate in Buddhist PhilosophyThe Realist-Idealist Debate in Buddhist Philosophy
The Realist-Idealist Debate in Buddhist PhilosophyJez Humble
 
The Development of Rhythmic Organisation in Indian Classical Music
The Development of Rhythmic Organisation in Indian Classical MusicThe Development of Rhythmic Organisation in Indian Classical Music
The Development of Rhythmic Organisation in Indian Classical MusicJez Humble
 

More from Jez Humble (7)

My slides have moved
My slides have movedMy slides have moved
My slides have moved
 
On Damore's Manifestbro
On Damore's ManifestbroOn Damore's Manifestbro
On Damore's Manifestbro
 
Continuous Delivery Sounds Great but it Won't Work Here
Continuous Delivery Sounds Great but it Won't Work HereContinuous Delivery Sounds Great but it Won't Work Here
Continuous Delivery Sounds Great but it Won't Work Here
 
Why Scaling Agile Doesn't Work (and What to Do About It)
Why Scaling Agile Doesn't Work (and What to Do About It)Why Scaling Agile Doesn't Work (and What to Do About It)
Why Scaling Agile Doesn't Work (and What to Do About It)
 
Creating Maintainable Automated Acceptance Tests
Creating Maintainable Automated Acceptance TestsCreating Maintainable Automated Acceptance Tests
Creating Maintainable Automated Acceptance Tests
 
The Realist-Idealist Debate in Buddhist Philosophy
The Realist-Idealist Debate in Buddhist PhilosophyThe Realist-Idealist Debate in Buddhist Philosophy
The Realist-Idealist Debate in Buddhist Philosophy
 
The Development of Rhythmic Organisation in Indian Classical Music
The Development of Rhythmic Organisation in Indian Classical MusicThe Development of Rhythmic Organisation in Indian Classical Music
The Development of Rhythmic Organisation in Indian Classical Music
 

Recently uploaded

Design Guidelines for Passkeys 2024.pptx
Design Guidelines for Passkeys 2024.pptxDesign Guidelines for Passkeys 2024.pptx
Design Guidelines for Passkeys 2024.pptxFIDO Alliance
 
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptxHarnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptxFIDO Alliance
 
The Zero-ETL Approach: Enhancing Data Agility and Insight
The Zero-ETL Approach: Enhancing Data Agility and InsightThe Zero-ETL Approach: Enhancing Data Agility and Insight
The Zero-ETL Approach: Enhancing Data Agility and InsightSafe Software
 
Quantum Leap in Next-Generation Computing
Quantum Leap in Next-Generation ComputingQuantum Leap in Next-Generation Computing
Quantum Leap in Next-Generation ComputingWSO2
 
Portal Kombat : extension du réseau de propagande russe
Portal Kombat : extension du réseau de propagande russePortal Kombat : extension du réseau de propagande russe
Portal Kombat : extension du réseau de propagande russe中 央社
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Zilliz
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2
 
Introduction to FIDO Authentication and Passkeys.pptx
Introduction to FIDO Authentication and Passkeys.pptxIntroduction to FIDO Authentication and Passkeys.pptx
Introduction to FIDO Authentication and Passkeys.pptxFIDO Alliance
 
ERP Contender Series: Acumatica vs. Sage Intacct
ERP Contender Series: Acumatica vs. Sage IntacctERP Contender Series: Acumatica vs. Sage Intacct
ERP Contender Series: Acumatica vs. Sage IntacctBrainSell Technologies
 
TEST BANK For Principles of Anatomy and Physiology, 16th Edition by Gerard J....
TEST BANK For Principles of Anatomy and Physiology, 16th Edition by Gerard J....TEST BANK For Principles of Anatomy and Physiology, 16th Edition by Gerard J....
TEST BANK For Principles of Anatomy and Physiology, 16th Edition by Gerard J....rightmanforbloodline
 
2024 May Patch Tuesday
2024 May Patch Tuesday2024 May Patch Tuesday
2024 May Patch TuesdayIvanti
 
Intro to Passkeys and the State of Passwordless.pptx
Intro to Passkeys and the State of Passwordless.pptxIntro to Passkeys and the State of Passwordless.pptx
Intro to Passkeys and the State of Passwordless.pptxFIDO Alliance
 
API Governance and Monetization - The evolution of API governance
API Governance and Monetization -  The evolution of API governanceAPI Governance and Monetization -  The evolution of API governance
API Governance and Monetization - The evolution of API governanceWSO2
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityWSO2
 
Observability Concepts EVERY Developer Should Know (DevOpsDays Seattle)
Observability Concepts EVERY Developer Should Know (DevOpsDays Seattle)Observability Concepts EVERY Developer Should Know (DevOpsDays Seattle)
Observability Concepts EVERY Developer Should Know (DevOpsDays Seattle)Paige Cruz
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Jeffrey Haguewood
 
ADP Passwordless Journey Case Study.pptx
ADP Passwordless Journey Case Study.pptxADP Passwordless Journey Case Study.pptx
ADP Passwordless Journey Case Study.pptxFIDO Alliance
 
Tales from a Passkey Provider Progress from Awareness to Implementation.pptx
Tales from a Passkey Provider  Progress from Awareness to Implementation.pptxTales from a Passkey Provider  Progress from Awareness to Implementation.pptx
Tales from a Passkey Provider Progress from Awareness to Implementation.pptxFIDO Alliance
 

Recently uploaded (20)

Design Guidelines for Passkeys 2024.pptx
Design Guidelines for Passkeys 2024.pptxDesign Guidelines for Passkeys 2024.pptx
Design Guidelines for Passkeys 2024.pptx
 
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptxHarnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
 
The Zero-ETL Approach: Enhancing Data Agility and Insight
The Zero-ETL Approach: Enhancing Data Agility and InsightThe Zero-ETL Approach: Enhancing Data Agility and Insight
The Zero-ETL Approach: Enhancing Data Agility and Insight
 
Quantum Leap in Next-Generation Computing
Quantum Leap in Next-Generation ComputingQuantum Leap in Next-Generation Computing
Quantum Leap in Next-Generation Computing
 
Portal Kombat : extension du réseau de propagande russe
Portal Kombat : extension du réseau de propagande russePortal Kombat : extension du réseau de propagande russe
Portal Kombat : extension du réseau de propagande russe
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 
Introduction to FIDO Authentication and Passkeys.pptx
Introduction to FIDO Authentication and Passkeys.pptxIntroduction to FIDO Authentication and Passkeys.pptx
Introduction to FIDO Authentication and Passkeys.pptx
 
ERP Contender Series: Acumatica vs. Sage Intacct
ERP Contender Series: Acumatica vs. Sage IntacctERP Contender Series: Acumatica vs. Sage Intacct
ERP Contender Series: Acumatica vs. Sage Intacct
 
TEST BANK For Principles of Anatomy and Physiology, 16th Edition by Gerard J....
TEST BANK For Principles of Anatomy and Physiology, 16th Edition by Gerard J....TEST BANK For Principles of Anatomy and Physiology, 16th Edition by Gerard J....
TEST BANK For Principles of Anatomy and Physiology, 16th Edition by Gerard J....
 
2024 May Patch Tuesday
2024 May Patch Tuesday2024 May Patch Tuesday
2024 May Patch Tuesday
 
Intro to Passkeys and the State of Passwordless.pptx
Intro to Passkeys and the State of Passwordless.pptxIntro to Passkeys and the State of Passwordless.pptx
Intro to Passkeys and the State of Passwordless.pptx
 
API Governance and Monetization - The evolution of API governance
API Governance and Monetization -  The evolution of API governanceAPI Governance and Monetization -  The evolution of API governance
API Governance and Monetization - The evolution of API governance
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
Observability Concepts EVERY Developer Should Know (DevOpsDays Seattle)
Observability Concepts EVERY Developer Should Know (DevOpsDays Seattle)Observability Concepts EVERY Developer Should Know (DevOpsDays Seattle)
Observability Concepts EVERY Developer Should Know (DevOpsDays Seattle)
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
ADP Passwordless Journey Case Study.pptx
ADP Passwordless Journey Case Study.pptxADP Passwordless Journey Case Study.pptx
ADP Passwordless Journey Case Study.pptx
 
Tales from a Passkey Provider Progress from Awareness to Implementation.pptx
Tales from a Passkey Provider  Progress from Awareness to Implementation.pptxTales from a Passkey Provider  Progress from Awareness to Implementation.pptx
Tales from a Passkey Provider Progress from Awareness to Implementation.pptx
 

Continuous Delivery

  • 1. continuous delivery @jezhumble Berlin, 4 october 2012 http://thoughtworks-studios.com/ Tuesday, October 9, 12
  • 2. agile 101 "Agile" team Analysis + Design Centralized QA IT Operations Development Integration + QA Release and operation Customer Testing + Showcase Iteration 0 1 2 3 4 The "last mile" Tuesday, October 9, 12
  • 3. social disrupting traditional businesses http://code.flickr.com/ Tuesday, October 9, 12
  • 4. releasing frequently 1. build the right thing Customer development Agile product development Eric Ries, “The Lean Startup” http://bit.ly/8ZoX5F Tuesday, October 9, 12
  • 5. innovate You 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 Tuesday, October 9, 12
  • 6. scientific method Ideas create hypothesis Learn Build deliver minimum viable product Data Code get feedback Measure (repeat) Eric Ries, “The Lean Startup” http://bit.ly/8ZoX5F Tuesday, October 9, 12
  • 7. 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. Tuesday, October 9, 12
  • 8. releasing frequently 1. build the right thing 2. reduce risk of release John Allspaw: “Ops Metametrics” http://slidesha.re/dsSZIr Tuesday, October 9, 12
  • 10. optimize for mtrs MTBF MTRS John Allspaw: “Building Resilience in Web Development and Operations” http://www.usievents.com/en/conferences/8-paris-usi-2011/sessions/968-john-allspaw Tuesday, October 9, 12
  • 11. releasing frequently 1. build the right thing 2. reduce risk of release 3. real project progress Tuesday, October 9, 12
  • 12. agile manifesto Our highest priority is to satisfy the customer through early and continuous delivery of valuable software Tuesday, October 9, 12
  • 13. production-ready software Fast, automated feedback on the production readiness of your applications every time there is a change - to code, infrastructure, or configuration Tuesday, October 9, 12
  • 14. continuous delivery Software always production ready Releases tied to business needs, not operational constraints Tuesday, October 9, 12
  • 15. continuous delivery automation patterns and practices collaboration Tuesday, October 9, 12
  • 16. ingredients configuration management continuous integration automated testing Tuesday, October 9, 12
  • 17. Local Develop Workstation Mainline Server Build pull Build Build ✔ Done! push Tuesday, October 9, 12
  • 18. Local Develop Workstation Everyone Commits Mainline Server Build To the pull Mainline Build Every Day Build ✔ Done! push Tuesday, October 9, 12
  • 19. build quality in “Cease dependence on mass inspection to achieve quality. Improve the process and build quality into the product in the first place” W. Edwards Deming Tuesday, October 9, 12
  • 20. different kinds of testing Business facing AUTOMATED MANUAL Showcases Support programming Functional acceptance Usability testing tests Critique project Exploratory testing Unit tests Non-functional Integration tests acceptance tests System tests (performance, scaling, ...) AUTOMATED MANUAL / AUTOMATED Technology facing Diagram invented by Brian Marick Tuesday, October 9, 12
  • 21. deployment pipeline an automated implementation of your system’s build, deploy, test, release process visibility feedback control Tuesday, October 9, 12
  • 22. deployment pipeline Delivery team Version control Build & unit Automated User acceptance Release tests acceptance tests tests Check in Trigger Feedback Check in Trigger Feedback Trigger Feedback Check in Trigger Feedback Trigger Feedback Approval Feedback Approval Tuesday, October 9, 12
  • 25. reducing release risk automate provisioning and deployment ensure devs, testers and ops collaborate throughout Tuesday, October 9, 12
  • 26. reducing release risk devops incrementalism decoupling deployment and release Tuesday, October 9, 12
  • 27. devops culture automation measurement sharing Tuesday, October 9, 12
  • 28. feature toggles blue-green deployments canary releases low risk releases are incremental dark launching production immune system Tuesday, October 9, 12
  • 29. DEPENDENT SERVICE 1.0 1.1 Database Abstraction layer Abstraction layer STATIC CONTENT /static/1.1 APPLICATION /static/1.0 Router / Load balancer Interwebs Tuesday, October 9, 12
  • 30. blue-green deployments Tuesday, October 9, 12
  • 31. router web app DB server server server Tuesday, October 9, 12
  • 32. v1.1 v1.1 v1.1 router web app DB server server server Tuesday, October 9, 12
  • 33. v1.1 v1.1 v1.1 router v1.2 v1.2 v1.2 web app DB server server server Tuesday, October 9, 12
  • 34. v1.1 v1.1 v1.1 router v1.2 v1.2 v1.2 web app DB server server server Tuesday, October 9, 12
  • 38. canary releasing Reduce risk of release Multi-variant testing Performance testing Tuesday, October 9, 12
  • 39. immune system what if someone replaced your “buy” button with spacer.gif? T cells http://www.flickr.com/photos/gehealthcare/3326186490/ Tuesday, October 9, 12
  • 40. release != deployment Tuesday, October 9, 12
  • 41. feature toggles Config File [featureToggles] wobblyFoobars: true some.php flightyForkHandles: false <?if ($wobblyFoobars) {?> ... various UI elements <?}?> other.php $fork_handle = ($featureConfig->isOn(‘flightlyForkHandles)) ? new flightyForkHander(aCandle) : new forkHandler(aCandle); Stolen from Martin Fowler http://martinfowler.com/bliki/FeatureToggle.html Tuesday, October 9, 12
  • 45. enterprise governance risk management SOX, ITIL, COBIT segregation of duties change management auditing and compliance Tuesday, October 9, 12
  • 46. people are the key Get everyone together at the beginning Keep meeting Make it easy for everyone to see what’s happening Continuous improvement (kaizen) Tuesday, October 9, 12
  • 47. questions @jezhumble | jez@thoughtworks.com http://continuousdelivery.com/ ThoughtWorks is hiring! http://jobs.thoughtworks.com/ Australia | Brazil | Canada | China Germany | India | Singapore | South Africa Uganda | UK | USA © 2012 ThoughtWorks, Inc. http://thoughtworks-studios.com/ Tuesday, October 9, 12