SlideShare a Scribd company logo
1 of 31
Introduction to Continuous Delivery
André Meurer
@themeurer
Head of Software Engineering @ Olympic
How long would it take to get a
one line code change
into production using the current process?
Idea
Funding
Analysis
Test
Deploy
Water-scrum-fall
The last mile
The “tail period” or “last mile”
• Time from code freeze to release
– Beta & regression testing
– Code integration & integration testing
– Documentation
– Bug fixing
– Deployments
Continuous Delivery is about
reducing risk of releases
and making deployments boring
Reduce risk of releases
Fast, automated feedback on the production
readiness of your application every time there is a
change
Constant flow of
small increments into production
Software always production ready
Key Principles
• Constant flow of small incremental changes into prod
• Software always production ready
• Automate almost everything
• Build, deploy, test, release, repeat
• Use humans for high value stuff
• Manual testing, approvals
• Keep everything in source control
• If it hurts, do it more often, and bring the pain forward
• Done means released in production
• Continuous improvement – don’t try to do it all at once
Build the right thing
• Every business idea is just a hypotesis
• Most features are rarely or never used
• Don’t ask customers what they want: try it out
• Release a minimum viable product
• Can respond quickly to market demands
• Hypotesis – MVP – Analyse – Repeat
Failure will happen
Faster feedback
Delivery Pipeline
Testing & promoting
Continuous integration
• Early integration
• Everyone’s changes integrated frequently in the same place
• Build & test at every check-in
• Rapid feedback
• It’s a practice, not a tool
The software testing pyramid
GUI
Acceptance
tests
Unit & component
tests
More business-facing
Less stable
More realistic
Lower cost
Easier maintenance
More stable
Faster feedback
Exploratory/
manual
The software testing cupcake anti-pattern
Trunk based development
• Check-in or merge into trunk at least once per day
• Feature branches should be short lived
• Branches discourage refactoring
– People don’t know what code other team members are touching, so
they are hesitant to refactor for risk of impact
• Branches delay integration and hide risk
• Merging wastes time and is tedious
Inside out development
• Build from the bottom
– DB – Business Logic – UI
• Feature not accessible until full development is complete
• Small slices/stories to enable fast feedback
Feature toggles/switches
• Deploy incomplete features switched off
– Be aware of feature switch madness
– Switches need to be deleted as the feature is in production
• Control who can see the new feature
– Test it with a small group of users
– Ensure it handles the load
– Gradually increase group of users if appropriate
• Separate deployments from releases
Feature switches
Dev
Smaller
Many
Short
Operations Business
Larger
Few
Long
Granularity
Numbers
Lifetime
Branch by abstraction
• Parallel routes
• Make architectural changes
– Interface to create abstraction
– Abstraction layers with two working implementations
– Swap bit by bit of the code to the new architecture until complete
– Old implementation can be removed once no longer used
• DB changes
– No breaking schema changes until code is ready to deal with new
schema
Roll Forward
• Rollback strategy is complex & risky
• Easier to fix something and get it through the pipeline
Canary Releases
• Release features to smaller groups/clusters
• Test/verify stability/performance/etc.
• Roll out to more/rest of users
Blue Green deployments
• Two instances of the production environment
– Current PROD (blue)
– Upgrade environment (green)
• Start routing small groups/clusters of people to Green
environment
• Swap them
Quality
• QA inspects quality
• Everyone is responsible for quality
• QA represents the user
IT ops team close to dev team
• Sit together: Dev, QA, and Ops
• Have sysadmin as part of the development team
• Deploy to all environments the same way we deploy to
production
Delivery Pipeline Tools
• Orchestration/CI
– Team City
– Jenkins
– Bamboo
• Delivery Manager
– LiveRebel
– OctopusDeploy
• Infrastructure Automation
– Chef
– Puppet
– Bcfg2
– CFEngine
Where do I start?
• Why do you want to do it?
• It will take time, start now
• CI is first step
• Get the architecture right
• Culture of continuous improvement
• It will need investment
It’s a journey
• Fundamental change to the way most organisations ship
software
• Releases tied to business needs, not IT constraints
• Minimise lead time from idea to live (concept to cash)
• IT no longer the bottleneck
• Buy-in from client is critical
Resources
• Jez Humble: Continuous Delivery
• Patrick Kua: Implementing Continuous Delivery
• Facebook: Moving fast at scale
• John Allspaw: 10 deploys per day, dev and ops cooperation at Flickr
• David Cramer: Practicing Continuous Delivery
• Sam Newman: The path to continuous delivery
• Rolf Russell: Introduction to Continuous Delivery

More Related Content

What's hot

Audrys Kažukauskas - Introduction into Extreme Programming
Audrys Kažukauskas - Introduction into Extreme ProgrammingAudrys Kažukauskas - Introduction into Extreme Programming
Audrys Kažukauskas - Introduction into Extreme ProgrammingAgile Lietuva
 
Continuous Delivery: why ? where to start ? how to scale ?
Continuous Delivery: why ? where to start ? how to scale ?Continuous Delivery: why ? where to start ? how to scale ?
Continuous Delivery: why ? where to start ? how to scale ?Jean-Philippe Briend
 
From Agile Development to Agile Operations (QCon SF 2009)
From Agile Development to Agile Operations (QCon SF 2009)From Agile Development to Agile Operations (QCon SF 2009)
From Agile Development to Agile Operations (QCon SF 2009)Stuart Charlton
 
Ncerc rlmca202 adm m1 ssm
Ncerc rlmca202 adm m1 ssmNcerc rlmca202 adm m1 ssm
Ncerc rlmca202 adm m1 ssmssmarar
 
Continuous delivery is not finished
Continuous delivery is not finishedContinuous delivery is not finished
Continuous delivery is not finishedMiel Donkers
 
Practicing Agile through Scrum
Practicing Agile through ScrumPracticing Agile through Scrum
Practicing Agile through ScrumNaveen Kumar Singh
 
Operation and Support using Agile
Operation and Support using AgileOperation and Support using Agile
Operation and Support using AgileTal Aviv
 
The Bottleneck Game – Jad Harb
The Bottleneck Game – Jad HarbThe Bottleneck Game – Jad Harb
The Bottleneck Game – Jad HarbAgile Tour Beirut
 
(Agile) engineering best practices - What every project manager should know
(Agile) engineering best practices - What every project manager should know(Agile) engineering best practices - What every project manager should know
(Agile) engineering best practices - What every project manager should knowRichard Cheng
 
Success recipe for new IT projects-Agile way. Fail Fast, Fail Early
Success recipe for new IT projects-Agile way. Fail Fast, Fail EarlySuccess recipe for new IT projects-Agile way. Fail Fast, Fail Early
Success recipe for new IT projects-Agile way. Fail Fast, Fail EarlyJoseph Vargheese PMP CSM CSP
 
A glance at a scrum team in real software company
A glance at a scrum team in real software companyA glance at a scrum team in real software company
A glance at a scrum team in real software companyPin-Ying Tu
 
Implementing Continuous Product Delivery
Implementing Continuous Product DeliveryImplementing Continuous Product Delivery
Implementing Continuous Product DeliveryJeremy Horn
 
Being a Professional Software Developer
Being a Professional Software DeveloperBeing a Professional Software Developer
Being a Professional Software DeveloperAnton Keks
 
Continuous delivery using jenkins
Continuous delivery using jenkinsContinuous delivery using jenkins
Continuous delivery using jenkinsLeena N
 
Making software development processes to work for you
Making software development processes to work for youMaking software development processes to work for you
Making software development processes to work for youAmbientia
 
Scrum take quality to the next level
Scrum   take quality to the next levelScrum   take quality to the next level
Scrum take quality to the next levelIndium Software
 
Technical Capabilities as enabler for Agile and DevOps
Technical Capabilities as enabler for Agile and DevOpsTechnical Capabilities as enabler for Agile and DevOps
Technical Capabilities as enabler for Agile and DevOpsNelis Boucké
 
DevOps Torino Meetup - SRE Concepts
DevOps Torino Meetup - SRE ConceptsDevOps Torino Meetup - SRE Concepts
DevOps Torino Meetup - SRE ConceptsRauno De Pasquale
 
Continuous Integration
Continuous IntegrationContinuous Integration
Continuous Integrationdrluckyspin
 

What's hot (20)

Audrys Kažukauskas - Introduction into Extreme Programming
Audrys Kažukauskas - Introduction into Extreme ProgrammingAudrys Kažukauskas - Introduction into Extreme Programming
Audrys Kažukauskas - Introduction into Extreme Programming
 
Continuous Delivery: why ? where to start ? how to scale ?
Continuous Delivery: why ? where to start ? how to scale ?Continuous Delivery: why ? where to start ? how to scale ?
Continuous Delivery: why ? where to start ? how to scale ?
 
From Agile Development to Agile Operations (QCon SF 2009)
From Agile Development to Agile Operations (QCon SF 2009)From Agile Development to Agile Operations (QCon SF 2009)
From Agile Development to Agile Operations (QCon SF 2009)
 
Extreme programming
Extreme programmingExtreme programming
Extreme programming
 
Ncerc rlmca202 adm m1 ssm
Ncerc rlmca202 adm m1 ssmNcerc rlmca202 adm m1 ssm
Ncerc rlmca202 adm m1 ssm
 
Continuous delivery is not finished
Continuous delivery is not finishedContinuous delivery is not finished
Continuous delivery is not finished
 
Practicing Agile through Scrum
Practicing Agile through ScrumPracticing Agile through Scrum
Practicing Agile through Scrum
 
Operation and Support using Agile
Operation and Support using AgileOperation and Support using Agile
Operation and Support using Agile
 
The Bottleneck Game – Jad Harb
The Bottleneck Game – Jad HarbThe Bottleneck Game – Jad Harb
The Bottleneck Game – Jad Harb
 
(Agile) engineering best practices - What every project manager should know
(Agile) engineering best practices - What every project manager should know(Agile) engineering best practices - What every project manager should know
(Agile) engineering best practices - What every project manager should know
 
Success recipe for new IT projects-Agile way. Fail Fast, Fail Early
Success recipe for new IT projects-Agile way. Fail Fast, Fail EarlySuccess recipe for new IT projects-Agile way. Fail Fast, Fail Early
Success recipe for new IT projects-Agile way. Fail Fast, Fail Early
 
A glance at a scrum team in real software company
A glance at a scrum team in real software companyA glance at a scrum team in real software company
A glance at a scrum team in real software company
 
Implementing Continuous Product Delivery
Implementing Continuous Product DeliveryImplementing Continuous Product Delivery
Implementing Continuous Product Delivery
 
Being a Professional Software Developer
Being a Professional Software DeveloperBeing a Professional Software Developer
Being a Professional Software Developer
 
Continuous delivery using jenkins
Continuous delivery using jenkinsContinuous delivery using jenkins
Continuous delivery using jenkins
 
Making software development processes to work for you
Making software development processes to work for youMaking software development processes to work for you
Making software development processes to work for you
 
Scrum take quality to the next level
Scrum   take quality to the next levelScrum   take quality to the next level
Scrum take quality to the next level
 
Technical Capabilities as enabler for Agile and DevOps
Technical Capabilities as enabler for Agile and DevOpsTechnical Capabilities as enabler for Agile and DevOps
Technical Capabilities as enabler for Agile and DevOps
 
DevOps Torino Meetup - SRE Concepts
DevOps Torino Meetup - SRE ConceptsDevOps Torino Meetup - SRE Concepts
DevOps Torino Meetup - SRE Concepts
 
Continuous Integration
Continuous IntegrationContinuous Integration
Continuous Integration
 

Similar to Introduction to continuous delivery

Road to Continuous Delivery - Wix.com
Road to Continuous Delivery - Wix.comRoad to Continuous Delivery - Wix.com
Road to Continuous Delivery - Wix.comAviran Mordo
 
Testing in the new age of DevOps
Testing in the new age of DevOpsTesting in the new age of DevOps
Testing in the new age of DevOpsMoataz Mahmoud
 
Solano Labs presented at MassTLC's automated testing
Solano Labs presented at MassTLC's automated testingSolano Labs presented at MassTLC's automated testing
Solano Labs presented at MassTLC's automated testingMassTLC
 
Automated testing san francisco oct 2013
Automated testing san francisco oct 2013Automated testing san francisco oct 2013
Automated testing san francisco oct 2013Solano Labs
 
Павел Чуняев - State of Continuous Delivery in 2015
Павел Чуняев - State of Continuous Delivery in 2015Павел Чуняев - State of Continuous Delivery in 2015
Павел Чуняев - State of Continuous Delivery in 2015ITSpringBY
 
State of continuous delivery in 2015 - Minsk 15-5-2015
State of continuous delivery in 2015 - Minsk 15-5-2015State of continuous delivery in 2015 - Minsk 15-5-2015
State of continuous delivery in 2015 - Minsk 15-5-2015Pavel Chunyayev
 
Continuous Delivery Distilled
Continuous Delivery DistilledContinuous Delivery Distilled
Continuous Delivery DistilledMatt Callanan
 
DevOps Workshops Fall 2016
DevOps Workshops Fall 2016DevOps Workshops Fall 2016
DevOps Workshops Fall 2016Kelly Looney
 
Continuous everything
Continuous everythingContinuous everything
Continuous everythingTEST Huddle
 
[DPE Summit] How Improving the Testing Experience Goes Beyond Quality: A Deve...
[DPE Summit] How Improving the Testing Experience Goes Beyond Quality: A Deve...[DPE Summit] How Improving the Testing Experience Goes Beyond Quality: A Deve...
[DPE Summit] How Improving the Testing Experience Goes Beyond Quality: A Deve...Roberto Pérez Alcolea
 
Scaling Up Continuous Deployment
Scaling Up Continuous DeploymentScaling Up Continuous Deployment
Scaling Up Continuous DeploymentTimothy Fitz
 
When agility meets software quality
When agility meets software qualityWhen agility meets software quality
When agility meets software qualityBabak Khorrami
 
Enterprise Agile - Hybrid of Methods
Enterprise Agile - Hybrid of MethodsEnterprise Agile - Hybrid of Methods
Enterprise Agile - Hybrid of MethodsMaris Prabhakaran M
 

Similar to Introduction to continuous delivery (20)

Agile
AgileAgile
Agile
 
Road to Continuous Delivery - Wix.com
Road to Continuous Delivery - Wix.comRoad to Continuous Delivery - Wix.com
Road to Continuous Delivery - Wix.com
 
Testing in the new age of DevOps
Testing in the new age of DevOpsTesting in the new age of DevOps
Testing in the new age of DevOps
 
what-is-devops.ppt
what-is-devops.pptwhat-is-devops.ppt
what-is-devops.ppt
 
Solano Labs presented at MassTLC's automated testing
Solano Labs presented at MassTLC's automated testingSolano Labs presented at MassTLC's automated testing
Solano Labs presented at MassTLC's automated testing
 
Automated testing san francisco oct 2013
Automated testing san francisco oct 2013Automated testing san francisco oct 2013
Automated testing san francisco oct 2013
 
Павел Чуняев - State of Continuous Delivery in 2015
Павел Чуняев - State of Continuous Delivery in 2015Павел Чуняев - State of Continuous Delivery in 2015
Павел Чуняев - State of Continuous Delivery in 2015
 
State of continuous delivery in 2015 - Minsk 15-5-2015
State of continuous delivery in 2015 - Minsk 15-5-2015State of continuous delivery in 2015 - Minsk 15-5-2015
State of continuous delivery in 2015 - Minsk 15-5-2015
 
Devops Mindset Essentials
Devops Mindset EssentialsDevops Mindset Essentials
Devops Mindset Essentials
 
Continuous Delivery Distilled
Continuous Delivery DistilledContinuous Delivery Distilled
Continuous Delivery Distilled
 
DevOps Workshops Fall 2016
DevOps Workshops Fall 2016DevOps Workshops Fall 2016
DevOps Workshops Fall 2016
 
Continuous everything
Continuous everythingContinuous everything
Continuous everything
 
[DPE Summit] How Improving the Testing Experience Goes Beyond Quality: A Deve...
[DPE Summit] How Improving the Testing Experience Goes Beyond Quality: A Deve...[DPE Summit] How Improving the Testing Experience Goes Beyond Quality: A Deve...
[DPE Summit] How Improving the Testing Experience Goes Beyond Quality: A Deve...
 
Journey to the center of DevOps - v6
Journey to the center of DevOps - v6Journey to the center of DevOps - v6
Journey to the center of DevOps - v6
 
Scaling Up Continuous Deployment
Scaling Up Continuous DeploymentScaling Up Continuous Deployment
Scaling Up Continuous Deployment
 
When agility meets software quality
When agility meets software qualityWhen agility meets software quality
When agility meets software quality
 
DevOps 101
DevOps 101DevOps 101
DevOps 101
 
Continuous Delivery
Continuous DeliveryContinuous Delivery
Continuous Delivery
 
Isec
IsecIsec
Isec
 
Enterprise Agile - Hybrid of Methods
Enterprise Agile - Hybrid of MethodsEnterprise Agile - Hybrid of Methods
Enterprise Agile - Hybrid of Methods
 

Recently uploaded

introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfVishalKumarJha10
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsAlberto González Trastoy
 
Sector 18, Noida Call girls :8448380779 Model Escorts | 100% verified
Sector 18, Noida Call girls :8448380779 Model Escorts | 100% verifiedSector 18, Noida Call girls :8448380779 Model Escorts | 100% verified
Sector 18, Noida Call girls :8448380779 Model Escorts | 100% verifiedDelhi Call girls
 
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdfPayment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdfkalichargn70th171
 
The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is insideshinachiaurasa2
 
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdfAzure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdfryanfarris8
 
BUS PASS MANGEMENT SYSTEM USING PHP.pptx
BUS PASS MANGEMENT SYSTEM USING PHP.pptxBUS PASS MANGEMENT SYSTEM USING PHP.pptx
BUS PASS MANGEMENT SYSTEM USING PHP.pptxalwaysnagaraju26
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisamasabamasaba
 
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park %in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park masabamasaba
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...Health
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfonteinmasabamasaba
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️Delhi Call girls
 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park masabamasaba
 
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...Jittipong Loespradit
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsArshad QA
 
ManageIQ - Sprint 236 Review - Slide Deck
ManageIQ - Sprint 236 Review - Slide DeckManageIQ - Sprint 236 Review - Slide Deck
ManageIQ - Sprint 236 Review - Slide DeckManageIQ
 
Define the academic and professional writing..pdf
Define the academic and professional writing..pdfDefine the academic and professional writing..pdf
Define the academic and professional writing..pdfPearlKirahMaeRagusta1
 
10 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 202410 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 2024Mind IT Systems
 

Recently uploaded (20)

introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
Sector 18, Noida Call girls :8448380779 Model Escorts | 100% verified
Sector 18, Noida Call girls :8448380779 Model Escorts | 100% verifiedSector 18, Noida Call girls :8448380779 Model Escorts | 100% verified
Sector 18, Noida Call girls :8448380779 Model Escorts | 100% verified
 
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdfPayment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
 
The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is inside
 
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdfAzure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
 
BUS PASS MANGEMENT SYSTEM USING PHP.pptx
BUS PASS MANGEMENT SYSTEM USING PHP.pptxBUS PASS MANGEMENT SYSTEM USING PHP.pptx
BUS PASS MANGEMENT SYSTEM USING PHP.pptx
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park %in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
 
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
ManageIQ - Sprint 236 Review - Slide Deck
ManageIQ - Sprint 236 Review - Slide DeckManageIQ - Sprint 236 Review - Slide Deck
ManageIQ - Sprint 236 Review - Slide Deck
 
Define the academic and professional writing..pdf
Define the academic and professional writing..pdfDefine the academic and professional writing..pdf
Define the academic and professional writing..pdf
 
10 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 202410 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 2024
 

Introduction to continuous delivery

  • 1. Introduction to Continuous Delivery André Meurer @themeurer Head of Software Engineering @ Olympic
  • 2. How long would it take to get a one line code change into production using the current process?
  • 5. The “tail period” or “last mile” • Time from code freeze to release – Beta & regression testing – Code integration & integration testing – Documentation – Bug fixing – Deployments
  • 6. Continuous Delivery is about reducing risk of releases and making deployments boring
  • 7. Reduce risk of releases
  • 8. Fast, automated feedback on the production readiness of your application every time there is a change Constant flow of small increments into production Software always production ready
  • 9. Key Principles • Constant flow of small incremental changes into prod • Software always production ready • Automate almost everything • Build, deploy, test, release, repeat • Use humans for high value stuff • Manual testing, approvals • Keep everything in source control • If it hurts, do it more often, and bring the pain forward • Done means released in production • Continuous improvement – don’t try to do it all at once
  • 10. Build the right thing • Every business idea is just a hypotesis • Most features are rarely or never used • Don’t ask customers what they want: try it out • Release a minimum viable product • Can respond quickly to market demands • Hypotesis – MVP – Analyse – Repeat
  • 14. Continuous integration • Early integration • Everyone’s changes integrated frequently in the same place • Build & test at every check-in • Rapid feedback • It’s a practice, not a tool
  • 15.
  • 16. The software testing pyramid GUI Acceptance tests Unit & component tests More business-facing Less stable More realistic Lower cost Easier maintenance More stable Faster feedback Exploratory/ manual
  • 17. The software testing cupcake anti-pattern
  • 18. Trunk based development • Check-in or merge into trunk at least once per day • Feature branches should be short lived • Branches discourage refactoring – People don’t know what code other team members are touching, so they are hesitant to refactor for risk of impact • Branches delay integration and hide risk • Merging wastes time and is tedious
  • 19. Inside out development • Build from the bottom – DB – Business Logic – UI • Feature not accessible until full development is complete • Small slices/stories to enable fast feedback
  • 20. Feature toggles/switches • Deploy incomplete features switched off – Be aware of feature switch madness – Switches need to be deleted as the feature is in production • Control who can see the new feature – Test it with a small group of users – Ensure it handles the load – Gradually increase group of users if appropriate • Separate deployments from releases
  • 22. Branch by abstraction • Parallel routes • Make architectural changes – Interface to create abstraction – Abstraction layers with two working implementations – Swap bit by bit of the code to the new architecture until complete – Old implementation can be removed once no longer used • DB changes – No breaking schema changes until code is ready to deal with new schema
  • 23. Roll Forward • Rollback strategy is complex & risky • Easier to fix something and get it through the pipeline
  • 24. Canary Releases • Release features to smaller groups/clusters • Test/verify stability/performance/etc. • Roll out to more/rest of users
  • 25. Blue Green deployments • Two instances of the production environment – Current PROD (blue) – Upgrade environment (green) • Start routing small groups/clusters of people to Green environment • Swap them
  • 26. Quality • QA inspects quality • Everyone is responsible for quality • QA represents the user
  • 27. IT ops team close to dev team • Sit together: Dev, QA, and Ops • Have sysadmin as part of the development team • Deploy to all environments the same way we deploy to production
  • 28. Delivery Pipeline Tools • Orchestration/CI – Team City – Jenkins – Bamboo • Delivery Manager – LiveRebel – OctopusDeploy • Infrastructure Automation – Chef – Puppet – Bcfg2 – CFEngine
  • 29. Where do I start? • Why do you want to do it? • It will take time, start now • CI is first step • Get the architecture right • Culture of continuous improvement • It will need investment
  • 30. It’s a journey • Fundamental change to the way most organisations ship software • Releases tied to business needs, not IT constraints • Minimise lead time from idea to live (concept to cash) • IT no longer the bottleneck • Buy-in from client is critical
  • 31. Resources • Jez Humble: Continuous Delivery • Patrick Kua: Implementing Continuous Delivery • Facebook: Moving fast at scale • John Allspaw: 10 deploys per day, dev and ops cooperation at Flickr • David Cramer: Practicing Continuous Delivery • Sam Newman: The path to continuous delivery • Rolf Russell: Introduction to Continuous Delivery

Editor's Notes

  1. Reliability & Stability Shorter mean time to recovery If you have a small set of changes in your release, the set of possible causes is also small Enables you to figure out what the problem is & resolve it very quickly If something is really hard (i.e., releasing software), do it again and again until it becomes second nature. Don’t live with the pain: do it over and over until you are very good at it
  2. The faster you get feedback, the faster you can fix the problem – the cost of fixing the mistake is minimal
  3. Trade off Not everything can be a unit test But try to minimise the number of tests towards the top of the pyramid, focusing on as many tests as possible towards the bottom of the pyramid