SlideShare une entreprise Scribd logo
1  sur  47
Télécharger pour lire hors ligne
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

Contenu connexe

Tendances

Un Voyage dans le Cloud: Qu'est-ce que AWS?
Un Voyage dans le Cloud: Qu'est-ce que AWS?Un Voyage dans le Cloud: Qu'est-ce que AWS?
Un Voyage dans le Cloud: Qu'est-ce que AWS?Amazon Web Services
 
CI/CD Pipeline Security: Advanced Continuous Delivery Recommendations
CI/CD Pipeline Security: Advanced Continuous Delivery RecommendationsCI/CD Pipeline Security: Advanced Continuous Delivery Recommendations
CI/CD Pipeline Security: Advanced Continuous Delivery RecommendationsAmazon Web Services
 
[OpenInfra Days Korea 2018] (Track 4) - FreeIPA와 함께 SSO 구성
[OpenInfra Days Korea 2018] (Track 4) - FreeIPA와 함께 SSO 구성[OpenInfra Days Korea 2018] (Track 4) - FreeIPA와 함께 SSO 구성
[OpenInfra Days Korea 2018] (Track 4) - FreeIPA와 함께 SSO 구성OpenStack Korea Community
 
[OpenStack Days Korea 2016] Track1 - Monasca를 이용한 Cloud 모니터링
[OpenStack Days Korea 2016] Track1 - Monasca를 이용한 Cloud 모니터링[OpenStack Days Korea 2016] Track1 - Monasca를 이용한 Cloud 모니터링
[OpenStack Days Korea 2016] Track1 - Monasca를 이용한 Cloud 모니터링OpenStack Korea Community
 
서버학개론(백엔드 서버 개발자를 위한)
서버학개론(백엔드 서버 개발자를 위한)서버학개론(백엔드 서버 개발자를 위한)
서버학개론(백엔드 서버 개발자를 위한)수보 김
 
Creating AWS infrastructure using Terraform
Creating AWS infrastructure using TerraformCreating AWS infrastructure using Terraform
Creating AWS infrastructure using TerraformKnoldus Inc.
 
Introduction to DevSecOps
Introduction to DevSecOpsIntroduction to DevSecOps
Introduction to DevSecOpsSetu Parimi
 
K8s on AWS - Introducing Amazon EKS
K8s on AWS - Introducing Amazon EKSK8s on AWS - Introducing Amazon EKS
K8s on AWS - Introducing Amazon EKSAmazon Web Services
 
Continuous Integration, Build Pipelines and Continuous Deployment
Continuous Integration, Build Pipelines and Continuous DeploymentContinuous Integration, Build Pipelines and Continuous Deployment
Continuous Integration, Build Pipelines and Continuous DeploymentChristopher Read
 
Slide DevSecOps Microservices
Slide DevSecOps Microservices Slide DevSecOps Microservices
Slide DevSecOps Microservices Hendri Karisma
 
Platform engineering 101
Platform engineering 101Platform engineering 101
Platform engineering 101Sander Knape
 
DevOps : mission [im]possible ?
DevOps : mission [im]possible ?DevOps : mission [im]possible ?
DevOps : mission [im]possible ?rfelden
 
DevSecOps and the CI/CD Pipeline
 DevSecOps and the CI/CD Pipeline DevSecOps and the CI/CD Pipeline
DevSecOps and the CI/CD PipelineJames Wickett
 

Tendances (20)

Un Voyage dans le Cloud: Qu'est-ce que AWS?
Un Voyage dans le Cloud: Qu'est-ce que AWS?Un Voyage dans le Cloud: Qu'est-ce que AWS?
Un Voyage dans le Cloud: Qu'est-ce que AWS?
 
CI/CD Pipeline Security: Advanced Continuous Delivery Recommendations
CI/CD Pipeline Security: Advanced Continuous Delivery RecommendationsCI/CD Pipeline Security: Advanced Continuous Delivery Recommendations
CI/CD Pipeline Security: Advanced Continuous Delivery Recommendations
 
DevOps explained
DevOps explainedDevOps explained
DevOps explained
 
[OpenInfra Days Korea 2018] (Track 4) - FreeIPA와 함께 SSO 구성
[OpenInfra Days Korea 2018] (Track 4) - FreeIPA와 함께 SSO 구성[OpenInfra Days Korea 2018] (Track 4) - FreeIPA와 함께 SSO 구성
[OpenInfra Days Korea 2018] (Track 4) - FreeIPA와 함께 SSO 구성
 
Introduction to DevOps
Introduction to DevOpsIntroduction to DevOps
Introduction to DevOps
 
[OpenStack Days Korea 2016] Track1 - Monasca를 이용한 Cloud 모니터링
[OpenStack Days Korea 2016] Track1 - Monasca를 이용한 Cloud 모니터링[OpenStack Days Korea 2016] Track1 - Monasca를 이용한 Cloud 모니터링
[OpenStack Days Korea 2016] Track1 - Monasca를 이용한 Cloud 모니터링
 
From Monolith to Microservices
From Monolith to MicroservicesFrom Monolith to Microservices
From Monolith to Microservices
 
서버학개론(백엔드 서버 개발자를 위한)
서버학개론(백엔드 서버 개발자를 위한)서버학개론(백엔드 서버 개발자를 위한)
서버학개론(백엔드 서버 개발자를 위한)
 
Creating AWS infrastructure using Terraform
Creating AWS infrastructure using TerraformCreating AWS infrastructure using Terraform
Creating AWS infrastructure using Terraform
 
DevSecOps What Why and How
DevSecOps What Why and HowDevSecOps What Why and How
DevSecOps What Why and How
 
DevOps Best Practices
DevOps Best PracticesDevOps Best Practices
DevOps Best Practices
 
Azure devops
Azure devopsAzure devops
Azure devops
 
Introduction to DevSecOps
Introduction to DevSecOpsIntroduction to DevSecOps
Introduction to DevSecOps
 
DevOps: Infrastructure as Code
DevOps: Infrastructure as CodeDevOps: Infrastructure as Code
DevOps: Infrastructure as Code
 
K8s on AWS - Introducing Amazon EKS
K8s on AWS - Introducing Amazon EKSK8s on AWS - Introducing Amazon EKS
K8s on AWS - Introducing Amazon EKS
 
Continuous Integration, Build Pipelines and Continuous Deployment
Continuous Integration, Build Pipelines and Continuous DeploymentContinuous Integration, Build Pipelines and Continuous Deployment
Continuous Integration, Build Pipelines and Continuous Deployment
 
Slide DevSecOps Microservices
Slide DevSecOps Microservices Slide DevSecOps Microservices
Slide DevSecOps Microservices
 
Platform engineering 101
Platform engineering 101Platform engineering 101
Platform engineering 101
 
DevOps : mission [im]possible ?
DevOps : mission [im]possible ?DevOps : mission [im]possible ?
DevOps : mission [im]possible ?
 
DevSecOps and the CI/CD Pipeline
 DevSecOps and the CI/CD Pipeline DevSecOps and the CI/CD Pipeline
DevSecOps and the CI/CD Pipeline
 

Similaire à 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
 

Similaire à 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
 

Plus de 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
 
Devops Scorecard
Devops ScorecardDevops Scorecard
Devops ScorecardJez 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
 

Plus de Jez Humble (8)

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)
 
Devops Scorecard
Devops ScorecardDevops Scorecard
Devops Scorecard
 
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
 

Dernier

The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationKnoldus Inc.
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentPim van der Noll
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch TuesdayIvanti
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Hiroshi SHIBATA
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Farhan Tariq
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterMydbops
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfpanagenda
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsNathaniel Shimoni
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI AgeCprime
 

Dernier (20)

The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog Presentation
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch Tuesday
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL Router
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directions
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI Age
 

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