SlideShare a Scribd company logo
§Continuous delivery
1. Antipatterns
2. Proposed model
3. Common delivery issues
Agenda
§Antipatterns
Deploying software manually
• production of extensive, detailed documentation that describes the steps to be
taken and the ways in which the steps may go wrong
• reliance on manual testing to confirm that the application is running correctly
• frequent calls to the development team to explain why a deployment is going
wrong on a release day
• frequent corrections to the release process during the course of a release
• environments in a cluster that differ in their configuration
• releases that take more than a few minutes to perform
• unpredictable releases that often have to be rolled back or run into unforeseen
problems
Deploying to a production-like environment
only after development complete
• testers, if involved by this stage, have tested the system on development
machines
• releasing into staging is the first time that operations people interact with the
new release
• dev team assembles the correct installers, configuration files, db migrations and
deployment documentation to pass to the deployment team without having tested
them in an environment that looks like production or staging
• little/no collaboration between the dev and deployment teams
Manual configuration management of
production environments
• having deployed successfully many times to staging, the deployment into
production fails
• different members of a cluster behave differently
• operations team take a long time to prepare an environment for a release
• cannot step back to an earlier configuration of your system
• servers in clusters have, unintentionally, different versions of OS, 3rd party
infrastructure, libraries or patch levels
§Proposed model
Software delivery principles
 Create a repeatable, reliable release process
 Automate almost everything
 Keep everything in version control
 If it hurts, do it more frequently and bring the pain forward
 Build quality in
 Done means released
 Everybody is responsible for delivery process
 Continuous improvement
The deployment pipeline
- deployment pipeline = an automated implementation of your application’s build,
deploy, test, and release process
- makes every part of the process of building, deploying, testing, and releasing software
visible to everybody involved
- improves feedback so that problems are identified and resolved as early as possible
- enables teams to deploy and release any version of their software to any environment
at will through a fully automated process
Blue-Green Deployments
- blue and green = 2 identical versions of production environment
- deploy new version to the blue environment
- when ready, change the router to point to blue – blue becomes production
- if something goes wrong, switch the router back to green
- careful with the db!
- if budget allows, blue and green can be completely separate replicas
- if not, use 2 copies of your application running side by side on the same environment
as blue and green
Canary Releasing
§
Common delivery issues
Infrequent/buggy deployments - symptoms
Problem - long time to deploy the build, brittle deployment process
Symptoms
• long time for bugs to be closed by testers
• long time for stories to be tested or signed off by the customer
• testers are finding bugs that developers fixed a long time ago
• nobody trusts the UAT, performance, or CI environments, and people are
skeptical as to when a release will be available
• showcases rarely happen
• the application can rarely be demonstrated to be working
• the team’s velocity (rate of progress) is slower than expected
Infrequent/buggy deployments - causes
• deployment process not automated
• not enough hardware available
• hardware and OS configuration not managed correctly
• deployment process depends on systems outside the team’s control
• not enough people understand the build and deployment process
• testers, developers, analysts, and operations personnel not collaborating
sufficiently during development
• developers not disciplined about keeping the application working by making
small, incremental changes, and so frequently break existing functionality
Poor application quality - symptoms
Problem - Delivery teams failing to implement an effective testing strategy
Symptoms
• regression bugs keep popping up
• the defect number keeps increasing even when your team spends most of its
time fixing them
• customers complain of a poor-quality product
• developers groan and look horrified whenever a new feature request arrives
• developers complain about the maintainability of the code
• an ever-increasing amount of time to implement new functionality, the team
starts falling behind
Poor application quality - causes
• testers do not collaborate with developers during feature development
• stories or features “DONE” without comprehensive automated tests, being signed
off by testers, or being showcased to users from a production-like environment
• defects routinely entered into a backlog without being fixed on the spot with an
automated test to detect regression problems
• developers or testers without enough experience developing automated test
suites
• team doesn’t understand the most effective types of tests to write for the
technology or platform
• developers working without enough test coverage
Poorly managed CI - symptoms
Problem - build process not properly managed
Symptoms
• developers don’t check in often enough (at least once a day)
• commit stage permanently broken
• high number of defects
• long integration phase before each release
Poorly managed CI - causes
• automated tests take too long to run
• commit stage takes too long to run (ideally under 5 minutes, more than 10
minutes unacceptable)
• automated tests fail intermittently, giving false positives
• nobody empowered to revert check-ins
• not enough people understand and can change the CI process
Poor configuration management - symptoms
Problem - environments can’t be commissioned, and applications installed
reliably, using an automated process
Symptoms
• mysterious failures in production environments
• new deployments are tense, scary events
• large teams dedicated to environment configuration and management
• deployments to production often have to be rolled back or patched
• unacceptable downtime of production environment
Poor configuration management - causes
• UAT and production environments are different
• poor or badly enforced change management process for making changes to
production and staging environments
• insufficient collaboration between operations, data management and delivery
teams
• ineffective monitoring of production and staging environments to detect
incidents
• insufficient instrumentation and logging built into applications
• insufficient testing of the non-functional requirements of applications
§
Thanks!

More Related Content

What's hot

Ncerc rlmca202 adm m3 ssm
Ncerc rlmca202  adm m3 ssmNcerc rlmca202  adm m3 ssm
Ncerc rlmca202 adm m3 ssm
ssmarar
 
Automated testing san francisco oct 2013
Automated testing san francisco oct 2013Automated testing san francisco oct 2013
Automated testing san francisco oct 2013
Solano Labs
 
Boston MeetUp 10.10
Boston MeetUp 10.10Boston MeetUp 10.10
Boston MeetUp 10.10
Solano Labs
 
Automated Database Deployment at SQL Rally
Automated Database Deployment at SQL RallyAutomated Database Deployment at SQL Rally
Automated Database Deployment at SQL Rally
Grant Fritchey
 
DevOps Roadtrip Final Speaking Deck
DevOps Roadtrip Final Speaking Deck DevOps Roadtrip Final Speaking Deck
DevOps Roadtrip Final Speaking Deck
VictorOps
 
DevOps: A Practical Guide
DevOps: A Practical GuideDevOps: A Practical Guide
DevOps: A Practical Guide
VictorOps
 
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
MassTLC
 
How google-tests-software
How google-tests-softwareHow google-tests-software
How google-tests-software
Bhawna Tuteja
 
Dev ops chapter 4 final
Dev ops chapter 4 finalDev ops chapter 4 final
Dev ops chapter 4 final
Sebastián Lagoueyte
 
Continuous testing in agile projects 2015
Continuous testing in agile projects 2015Continuous testing in agile projects 2015
Continuous testing in agile projects 2015
Fabricio Epaminondas
 
Continuous Delivery in the Enterprise
Continuous Delivery in the EnterpriseContinuous Delivery in the Enterprise
Continuous Delivery in the Enterprise
Michael Medin
 
Actionable Continuous Delivery Metrics - QCon San Francisco November 2018
Actionable Continuous Delivery Metrics - QCon San Francisco November 2018 Actionable Continuous Delivery Metrics - QCon San Francisco November 2018
Actionable Continuous Delivery Metrics - QCon San Francisco November 2018
Suzie Prince
 
Tracking through kanban
Tracking through kanbanTracking through kanban
Microsoft Testing Tour - Setting up a Test Environment
Microsoft Testing Tour - Setting up a Test EnvironmentMicrosoft Testing Tour - Setting up a Test Environment
Microsoft Testing Tour - Setting up a Test Environment
Angela Dugan
 
Code Reviews
Code ReviewsCode Reviews
Code Reviews
phildenoncourt
 
Setting up Continuous Delivery Culture for a Large Scale Mobile App
Setting up Continuous Delivery Culture for a Large Scale Mobile AppSetting up Continuous Delivery Culture for a Large Scale Mobile App
Setting up Continuous Delivery Culture for a Large Scale Mobile App
Naresh Jain
 
Defect Prevention & Predictive Analytics - XBOSoft Webinar
Defect Prevention & Predictive Analytics - XBOSoft WebinarDefect Prevention & Predictive Analytics - XBOSoft Webinar
Defect Prevention & Predictive Analytics - XBOSoft Webinar
XBOSoft
 
The Journey Towards Continuous Integration
The Journey Towards Continuous IntegrationThe Journey Towards Continuous Integration
The Journey Towards Continuous Integration
Sebastian Marek
 
Continuous Integration Introduction
Continuous Integration IntroductionContinuous Integration Introduction
Continuous Integration Introduction
Fáber D. Giraldo
 
Se 381 - lec 28 -- 34 - 12 jun12 - testing 1 of 2
Se 381 -  lec 28 -- 34 - 12 jun12 - testing 1 of 2Se 381 -  lec 28 -- 34 - 12 jun12 - testing 1 of 2
Se 381 - lec 28 -- 34 - 12 jun12 - testing 1 of 2
babak danyal
 

What's hot (20)

Ncerc rlmca202 adm m3 ssm
Ncerc rlmca202  adm m3 ssmNcerc rlmca202  adm m3 ssm
Ncerc rlmca202 adm m3 ssm
 
Automated testing san francisco oct 2013
Automated testing san francisco oct 2013Automated testing san francisco oct 2013
Automated testing san francisco oct 2013
 
Boston MeetUp 10.10
Boston MeetUp 10.10Boston MeetUp 10.10
Boston MeetUp 10.10
 
Automated Database Deployment at SQL Rally
Automated Database Deployment at SQL RallyAutomated Database Deployment at SQL Rally
Automated Database Deployment at SQL Rally
 
DevOps Roadtrip Final Speaking Deck
DevOps Roadtrip Final Speaking Deck DevOps Roadtrip Final Speaking Deck
DevOps Roadtrip Final Speaking Deck
 
DevOps: A Practical Guide
DevOps: A Practical GuideDevOps: A Practical Guide
DevOps: A Practical Guide
 
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
 
How google-tests-software
How google-tests-softwareHow google-tests-software
How google-tests-software
 
Dev ops chapter 4 final
Dev ops chapter 4 finalDev ops chapter 4 final
Dev ops chapter 4 final
 
Continuous testing in agile projects 2015
Continuous testing in agile projects 2015Continuous testing in agile projects 2015
Continuous testing in agile projects 2015
 
Continuous Delivery in the Enterprise
Continuous Delivery in the EnterpriseContinuous Delivery in the Enterprise
Continuous Delivery in the Enterprise
 
Actionable Continuous Delivery Metrics - QCon San Francisco November 2018
Actionable Continuous Delivery Metrics - QCon San Francisco November 2018 Actionable Continuous Delivery Metrics - QCon San Francisco November 2018
Actionable Continuous Delivery Metrics - QCon San Francisco November 2018
 
Tracking through kanban
Tracking through kanbanTracking through kanban
Tracking through kanban
 
Microsoft Testing Tour - Setting up a Test Environment
Microsoft Testing Tour - Setting up a Test EnvironmentMicrosoft Testing Tour - Setting up a Test Environment
Microsoft Testing Tour - Setting up a Test Environment
 
Code Reviews
Code ReviewsCode Reviews
Code Reviews
 
Setting up Continuous Delivery Culture for a Large Scale Mobile App
Setting up Continuous Delivery Culture for a Large Scale Mobile AppSetting up Continuous Delivery Culture for a Large Scale Mobile App
Setting up Continuous Delivery Culture for a Large Scale Mobile App
 
Defect Prevention & Predictive Analytics - XBOSoft Webinar
Defect Prevention & Predictive Analytics - XBOSoft WebinarDefect Prevention & Predictive Analytics - XBOSoft Webinar
Defect Prevention & Predictive Analytics - XBOSoft Webinar
 
The Journey Towards Continuous Integration
The Journey Towards Continuous IntegrationThe Journey Towards Continuous Integration
The Journey Towards Continuous Integration
 
Continuous Integration Introduction
Continuous Integration IntroductionContinuous Integration Introduction
Continuous Integration Introduction
 
Se 381 - lec 28 -- 34 - 12 jun12 - testing 1 of 2
Se 381 -  lec 28 -- 34 - 12 jun12 - testing 1 of 2Se 381 -  lec 28 -- 34 - 12 jun12 - testing 1 of 2
Se 381 - lec 28 -- 34 - 12 jun12 - testing 1 of 2
 

Viewers also liked

Continuous deployment in 15 minutes
Continuous deployment in 15 minutesContinuous deployment in 15 minutes
Continuous deployment in 15 minutes
Christophe Marchal
 
The Secrets of High Performance IT, Featuring Jez Humble
The Secrets of High Performance IT, Featuring Jez HumbleThe Secrets of High Performance IT, Featuring Jez Humble
The Secrets of High Performance IT, Featuring Jez HumbleSerena Software
 
Voxxed Days Thessaloniki 2016 - Continuous Delivery: Jenkins, Docker and Spri...
Voxxed Days Thessaloniki 2016 - Continuous Delivery: Jenkins, Docker and Spri...Voxxed Days Thessaloniki 2016 - Continuous Delivery: Jenkins, Docker and Spri...
Voxxed Days Thessaloniki 2016 - Continuous Delivery: Jenkins, Docker and Spri...
Voxxed Days Thessaloniki
 
VoxxedDays LU 2016 - Thoughtworks Go - Continuous Deployment made easy and free
VoxxedDays LU 2016 - Thoughtworks Go - Continuous Deployment made easy and freeVoxxedDays LU 2016 - Thoughtworks Go - Continuous Deployment made easy and free
VoxxedDays LU 2016 - Thoughtworks Go - Continuous Deployment made easy and free
yohanbeschi
 
Continuous Delivery Distilled
Continuous Delivery DistilledContinuous Delivery Distilled
Continuous Delivery Distilled
Matt Callanan
 
One Does Not Simply Walk Into Devops
One Does Not Simply Walk Into Devops One Does Not Simply Walk Into Devops
One Does Not Simply Walk Into Devops
Uri Cohen
 
How Continuous Delivery and Lean Management Make your DevOps Amazeballs
How Continuous Delivery and Lean Management Make your DevOps AmazeballsHow Continuous Delivery and Lean Management Make your DevOps Amazeballs
How Continuous Delivery and Lean Management Make your DevOps Amazeballs
Nicole Forsgren
 
cdSummit Austin - Jez Humble: CD Architecture
cdSummit Austin - Jez Humble: CD ArchitecturecdSummit Austin - Jez Humble: CD Architecture
cdSummit Austin - Jez Humble: CD Architecture
Miles Blatstein
 
Top Lessons Learned While Researching and Writing The DevOps Handbook
Top Lessons Learned While Researching and Writing The DevOps HandbookTop Lessons Learned While Researching and Writing The DevOps Handbook
Top Lessons Learned While Researching and Writing The DevOps Handbook
Dynatrace
 
Toyota Kata Puzzle Experience Workshop
Toyota Kata Puzzle Experience WorkshopToyota Kata Puzzle Experience Workshop
Toyota Kata Puzzle Experience Workshop
Håkan Forss
 
2016 State of DevOps Report Webinar
2016 State of DevOps Report Webinar2016 State of DevOps Report Webinar
2016 State of DevOps Report Webinar
Puppet
 
Burnout
BurnoutBurnout
Burnout
C4Media
 
2013 Velocity DevOps Metrics -- It's Not Just For WebOps Any More!
2013 Velocity DevOps Metrics -- It's Not Just For WebOps Any More!2013 Velocity DevOps Metrics -- It's Not Just For WebOps Any More!
2013 Velocity DevOps Metrics -- It's Not Just For WebOps Any More!
Gene Kim
 
Real world continuous delivery
Real world continuous deliveryReal world continuous delivery
Real world continuous delivery
Seb Rose
 
8 Tips for an Awesome Powerpoint Presentation
8 Tips for an Awesome Powerpoint Presentation8 Tips for an Awesome Powerpoint Presentation
8 Tips for an Awesome Powerpoint Presentation
Slides | Presentation Design Agency
 

Viewers also liked (15)

Continuous deployment in 15 minutes
Continuous deployment in 15 minutesContinuous deployment in 15 minutes
Continuous deployment in 15 minutes
 
The Secrets of High Performance IT, Featuring Jez Humble
The Secrets of High Performance IT, Featuring Jez HumbleThe Secrets of High Performance IT, Featuring Jez Humble
The Secrets of High Performance IT, Featuring Jez Humble
 
Voxxed Days Thessaloniki 2016 - Continuous Delivery: Jenkins, Docker and Spri...
Voxxed Days Thessaloniki 2016 - Continuous Delivery: Jenkins, Docker and Spri...Voxxed Days Thessaloniki 2016 - Continuous Delivery: Jenkins, Docker and Spri...
Voxxed Days Thessaloniki 2016 - Continuous Delivery: Jenkins, Docker and Spri...
 
VoxxedDays LU 2016 - Thoughtworks Go - Continuous Deployment made easy and free
VoxxedDays LU 2016 - Thoughtworks Go - Continuous Deployment made easy and freeVoxxedDays LU 2016 - Thoughtworks Go - Continuous Deployment made easy and free
VoxxedDays LU 2016 - Thoughtworks Go - Continuous Deployment made easy and free
 
Continuous Delivery Distilled
Continuous Delivery DistilledContinuous Delivery Distilled
Continuous Delivery Distilled
 
One Does Not Simply Walk Into Devops
One Does Not Simply Walk Into Devops One Does Not Simply Walk Into Devops
One Does Not Simply Walk Into Devops
 
How Continuous Delivery and Lean Management Make your DevOps Amazeballs
How Continuous Delivery and Lean Management Make your DevOps AmazeballsHow Continuous Delivery and Lean Management Make your DevOps Amazeballs
How Continuous Delivery and Lean Management Make your DevOps Amazeballs
 
cdSummit Austin - Jez Humble: CD Architecture
cdSummit Austin - Jez Humble: CD ArchitecturecdSummit Austin - Jez Humble: CD Architecture
cdSummit Austin - Jez Humble: CD Architecture
 
Top Lessons Learned While Researching and Writing The DevOps Handbook
Top Lessons Learned While Researching and Writing The DevOps HandbookTop Lessons Learned While Researching and Writing The DevOps Handbook
Top Lessons Learned While Researching and Writing The DevOps Handbook
 
Toyota Kata Puzzle Experience Workshop
Toyota Kata Puzzle Experience WorkshopToyota Kata Puzzle Experience Workshop
Toyota Kata Puzzle Experience Workshop
 
2016 State of DevOps Report Webinar
2016 State of DevOps Report Webinar2016 State of DevOps Report Webinar
2016 State of DevOps Report Webinar
 
Burnout
BurnoutBurnout
Burnout
 
2013 Velocity DevOps Metrics -- It's Not Just For WebOps Any More!
2013 Velocity DevOps Metrics -- It's Not Just For WebOps Any More!2013 Velocity DevOps Metrics -- It's Not Just For WebOps Any More!
2013 Velocity DevOps Metrics -- It's Not Just For WebOps Any More!
 
Real world continuous delivery
Real world continuous deliveryReal world continuous delivery
Real world continuous delivery
 
8 Tips for an Awesome Powerpoint Presentation
8 Tips for an Awesome Powerpoint Presentation8 Tips for an Awesome Powerpoint Presentation
8 Tips for an Awesome Powerpoint Presentation
 

Similar to Continuous delivery - takeaways

Continuous delivery
Continuous deliveryContinuous delivery
Continuous delivery
Masas Dani
 
Agile Acceptance testing with Fitnesse
Agile Acceptance testing with FitnesseAgile Acceptance testing with Fitnesse
Agile Acceptance testing with Fitnesse
ClareMcLennan
 
testing strategies and tactics
 testing strategies and tactics testing strategies and tactics
testing strategies and tactics
Preeti Mishra
 
Architecting for the cloud storage build test
Architecting for the cloud storage build testArchitecting for the cloud storage build test
Architecting for the cloud storage build test
Len Bass
 
Devops as a service
Devops as a serviceDevops as a service
Devops as a service
Saravanan Subburayal
 
Continuous Deployment of Rails Applications
Continuous Deployment of Rails ApplicationsContinuous Deployment of Rails Applications
Continuous Deployment of Rails Applications
Diane Cessna
 
The QA/Testing Process
The QA/Testing ProcessThe QA/Testing Process
The QA/Testing Process
Synerzip
 
Effective Patch and Software Update Management
Effective Patch and Software Update ManagementEffective Patch and Software Update Management
Effective Patch and Software Update Management
Quest
 
Continuos Delivery
Continuos DeliveryContinuos Delivery
Continuos Delivery
Andrés Callejas González
 
Road to Continuous Delivery - Wix.com
Road to Continuous Delivery - Wix.comRoad to Continuous Delivery - Wix.com
Road to Continuous Delivery - Wix.com
Aviran Mordo
 
Lecture3.se.pptx
Lecture3.se.pptxLecture3.se.pptx
Lecture3.se.pptx
Amna Ch
 
SENG202-v-and-v-modeling_121810.pptx
SENG202-v-and-v-modeling_121810.pptxSENG202-v-and-v-modeling_121810.pptx
SENG202-v-and-v-modeling_121810.pptx
MinsasWorld
 
Test Strategies in Microservices
Test Strategies in MicroservicesTest Strategies in Microservices
Test Strategies in Microservices
Mesut Özen
 
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
Moataz Mahmoud
 
5 Steps to Jump Start Your Test Automation
5 Steps to Jump Start Your Test Automation5 Steps to Jump Start Your Test Automation
5 Steps to Jump Start Your Test Automation
Sauce Labs
 
Best Practices for DevOps in Mobile App Testing
Best Practices for DevOps in Mobile App TestingBest Practices for DevOps in Mobile App Testing
Best Practices for DevOps in Mobile App Testing
Bitbar
 
So you-want-to-go-faster
So you-want-to-go-fasterSo you-want-to-go-faster
So you-want-to-go-faster
Ooblioob
 
Software testing-and-analysis
Software testing-and-analysisSoftware testing-and-analysis
Software testing-and-analysis
WBUTTUTORIALS
 
Context Driven Automation Gtac 2008
Context Driven Automation Gtac 2008Context Driven Automation Gtac 2008
Context Driven Automation Gtac 2008
Pete Schneider
 

Similar to Continuous delivery - takeaways (20)

Continuous delivery
Continuous deliveryContinuous delivery
Continuous delivery
 
Agile Acceptance testing with Fitnesse
Agile Acceptance testing with FitnesseAgile Acceptance testing with Fitnesse
Agile Acceptance testing with Fitnesse
 
testing strategies and tactics
 testing strategies and tactics testing strategies and tactics
testing strategies and tactics
 
Architecting for the cloud storage build test
Architecting for the cloud storage build testArchitecting for the cloud storage build test
Architecting for the cloud storage build test
 
Devops as a service
Devops as a serviceDevops as a service
Devops as a service
 
Continuous Deployment of Rails Applications
Continuous Deployment of Rails ApplicationsContinuous Deployment of Rails Applications
Continuous Deployment of Rails Applications
 
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
 
The QA/Testing Process
The QA/Testing ProcessThe QA/Testing Process
The QA/Testing Process
 
Effective Patch and Software Update Management
Effective Patch and Software Update ManagementEffective Patch and Software Update Management
Effective Patch and Software Update Management
 
Continuos Delivery
Continuos DeliveryContinuos Delivery
Continuos Delivery
 
Road to Continuous Delivery - Wix.com
Road to Continuous Delivery - Wix.comRoad to Continuous Delivery - Wix.com
Road to Continuous Delivery - Wix.com
 
Lecture3.se.pptx
Lecture3.se.pptxLecture3.se.pptx
Lecture3.se.pptx
 
SENG202-v-and-v-modeling_121810.pptx
SENG202-v-and-v-modeling_121810.pptxSENG202-v-and-v-modeling_121810.pptx
SENG202-v-and-v-modeling_121810.pptx
 
Test Strategies in Microservices
Test Strategies in MicroservicesTest Strategies in Microservices
Test Strategies in Microservices
 
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
 
5 Steps to Jump Start Your Test Automation
5 Steps to Jump Start Your Test Automation5 Steps to Jump Start Your Test Automation
5 Steps to Jump Start Your Test Automation
 
Best Practices for DevOps in Mobile App Testing
Best Practices for DevOps in Mobile App TestingBest Practices for DevOps in Mobile App Testing
Best Practices for DevOps in Mobile App Testing
 
So you-want-to-go-faster
So you-want-to-go-fasterSo you-want-to-go-faster
So you-want-to-go-faster
 
Software testing-and-analysis
Software testing-and-analysisSoftware testing-and-analysis
Software testing-and-analysis
 
Context Driven Automation Gtac 2008
Context Driven Automation Gtac 2008Context Driven Automation Gtac 2008
Context Driven Automation Gtac 2008
 

More from Manuela Grindei

TDD Training
TDD TrainingTDD Training
TDD Training
Manuela Grindei
 
Java 104
Java 104Java 104
Java 104
Manuela Grindei
 
Java 103
Java 103Java 103
Java 103
Manuela Grindei
 
Java 102
Java 102Java 102
Java 102
Manuela Grindei
 
Java 101
Java 101Java 101
Java 101
Manuela Grindei
 
Release it! - Takeaways
Release it! - TakeawaysRelease it! - Takeaways
Release it! - Takeaways
Manuela Grindei
 
Exceptions and errors in Java
Exceptions and errors in JavaExceptions and errors in Java
Exceptions and errors in Java
Manuela Grindei
 

More from Manuela Grindei (7)

TDD Training
TDD TrainingTDD Training
TDD Training
 
Java 104
Java 104Java 104
Java 104
 
Java 103
Java 103Java 103
Java 103
 
Java 102
Java 102Java 102
Java 102
 
Java 101
Java 101Java 101
Java 101
 
Release it! - Takeaways
Release it! - TakeawaysRelease it! - Takeaways
Release it! - Takeaways
 
Exceptions and errors in Java
Exceptions and errors in JavaExceptions and errors in Java
Exceptions and errors in Java
 

Recently uploaded

WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2
 
De mooiste recreatieve routes ontdekken met RouteYou en FME
De mooiste recreatieve routes ontdekken met RouteYou en FMEDe mooiste recreatieve routes ontdekken met RouteYou en FME
De mooiste recreatieve routes ontdekken met RouteYou en FME
Jelle | Nordend
 
GlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote sessionGlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote session
Globus
 
A Comprehensive Look at Generative AI in Retail App Testing.pdf
A Comprehensive Look at Generative AI in Retail App Testing.pdfA Comprehensive Look at Generative AI in Retail App Testing.pdf
A Comprehensive Look at Generative AI in Retail App Testing.pdf
kalichargn70th171
 
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoamOpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
takuyayamamoto1800
 
Using IESVE for Room Loads Analysis - Australia & New Zealand
Using IESVE for Room Loads Analysis - Australia & New ZealandUsing IESVE for Room Loads Analysis - Australia & New Zealand
Using IESVE for Room Loads Analysis - Australia & New Zealand
IES VE
 
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Globus
 
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, BetterWebinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
XfilesPro
 
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data AnalysisProviding Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
Globus
 
Advanced Flow Concepts Every Developer Should Know
Advanced Flow Concepts Every Developer Should KnowAdvanced Flow Concepts Every Developer Should Know
Advanced Flow Concepts Every Developer Should Know
Peter Caitens
 
Lecture 1 Introduction to games development
Lecture 1 Introduction to games developmentLecture 1 Introduction to games development
Lecture 1 Introduction to games development
abdulrafaychaudhry
 
Enhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdfEnhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdf
Globus
 
Accelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with PlatformlessAccelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with Platformless
WSO2
 
How to Position Your Globus Data Portal for Success Ten Good Practices
How to Position Your Globus Data Portal for Success Ten Good PracticesHow to Position Your Globus Data Portal for Success Ten Good Practices
How to Position Your Globus Data Portal for Success Ten Good Practices
Globus
 
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Globus
 
Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024
Globus
 
Multiple Your Crypto Portfolio with the Innovative Features of Advanced Crypt...
Multiple Your Crypto Portfolio with the Innovative Features of Advanced Crypt...Multiple Your Crypto Portfolio with the Innovative Features of Advanced Crypt...
Multiple Your Crypto Portfolio with the Innovative Features of Advanced Crypt...
Hivelance Technology
 
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
Juraj Vysvader
 
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdfDominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
AMB-Review
 
Into the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdfInto the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdf
Ortus Solutions, Corp
 

Recently uploaded (20)

WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
 
De mooiste recreatieve routes ontdekken met RouteYou en FME
De mooiste recreatieve routes ontdekken met RouteYou en FMEDe mooiste recreatieve routes ontdekken met RouteYou en FME
De mooiste recreatieve routes ontdekken met RouteYou en FME
 
GlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote sessionGlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote session
 
A Comprehensive Look at Generative AI in Retail App Testing.pdf
A Comprehensive Look at Generative AI in Retail App Testing.pdfA Comprehensive Look at Generative AI in Retail App Testing.pdf
A Comprehensive Look at Generative AI in Retail App Testing.pdf
 
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoamOpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
 
Using IESVE for Room Loads Analysis - Australia & New Zealand
Using IESVE for Room Loads Analysis - Australia & New ZealandUsing IESVE for Room Loads Analysis - Australia & New Zealand
Using IESVE for Room Loads Analysis - Australia & New Zealand
 
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
 
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, BetterWebinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
 
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data AnalysisProviding Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
 
Advanced Flow Concepts Every Developer Should Know
Advanced Flow Concepts Every Developer Should KnowAdvanced Flow Concepts Every Developer Should Know
Advanced Flow Concepts Every Developer Should Know
 
Lecture 1 Introduction to games development
Lecture 1 Introduction to games developmentLecture 1 Introduction to games development
Lecture 1 Introduction to games development
 
Enhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdfEnhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdf
 
Accelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with PlatformlessAccelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with Platformless
 
How to Position Your Globus Data Portal for Success Ten Good Practices
How to Position Your Globus Data Portal for Success Ten Good PracticesHow to Position Your Globus Data Portal for Success Ten Good Practices
How to Position Your Globus Data Portal for Success Ten Good Practices
 
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
 
Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024
 
Multiple Your Crypto Portfolio with the Innovative Features of Advanced Crypt...
Multiple Your Crypto Portfolio with the Innovative Features of Advanced Crypt...Multiple Your Crypto Portfolio with the Innovative Features of Advanced Crypt...
Multiple Your Crypto Portfolio with the Innovative Features of Advanced Crypt...
 
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
 
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdfDominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
 
Into the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdfInto the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdf
 

Continuous delivery - takeaways

  • 2.
  • 3. 1. Antipatterns 2. Proposed model 3. Common delivery issues Agenda
  • 5. Deploying software manually • production of extensive, detailed documentation that describes the steps to be taken and the ways in which the steps may go wrong • reliance on manual testing to confirm that the application is running correctly • frequent calls to the development team to explain why a deployment is going wrong on a release day • frequent corrections to the release process during the course of a release • environments in a cluster that differ in their configuration • releases that take more than a few minutes to perform • unpredictable releases that often have to be rolled back or run into unforeseen problems
  • 6. Deploying to a production-like environment only after development complete • testers, if involved by this stage, have tested the system on development machines • releasing into staging is the first time that operations people interact with the new release • dev team assembles the correct installers, configuration files, db migrations and deployment documentation to pass to the deployment team without having tested them in an environment that looks like production or staging • little/no collaboration between the dev and deployment teams
  • 7. Manual configuration management of production environments • having deployed successfully many times to staging, the deployment into production fails • different members of a cluster behave differently • operations team take a long time to prepare an environment for a release • cannot step back to an earlier configuration of your system • servers in clusters have, unintentionally, different versions of OS, 3rd party infrastructure, libraries or patch levels
  • 9. Software delivery principles  Create a repeatable, reliable release process  Automate almost everything  Keep everything in version control  If it hurts, do it more frequently and bring the pain forward  Build quality in  Done means released  Everybody is responsible for delivery process  Continuous improvement
  • 10. The deployment pipeline - deployment pipeline = an automated implementation of your application’s build, deploy, test, and release process - makes every part of the process of building, deploying, testing, and releasing software visible to everybody involved - improves feedback so that problems are identified and resolved as early as possible - enables teams to deploy and release any version of their software to any environment at will through a fully automated process
  • 11. Blue-Green Deployments - blue and green = 2 identical versions of production environment - deploy new version to the blue environment - when ready, change the router to point to blue – blue becomes production - if something goes wrong, switch the router back to green - careful with the db! - if budget allows, blue and green can be completely separate replicas - if not, use 2 copies of your application running side by side on the same environment as blue and green
  • 14. Infrequent/buggy deployments - symptoms Problem - long time to deploy the build, brittle deployment process Symptoms • long time for bugs to be closed by testers • long time for stories to be tested or signed off by the customer • testers are finding bugs that developers fixed a long time ago • nobody trusts the UAT, performance, or CI environments, and people are skeptical as to when a release will be available • showcases rarely happen • the application can rarely be demonstrated to be working • the team’s velocity (rate of progress) is slower than expected
  • 15. Infrequent/buggy deployments - causes • deployment process not automated • not enough hardware available • hardware and OS configuration not managed correctly • deployment process depends on systems outside the team’s control • not enough people understand the build and deployment process • testers, developers, analysts, and operations personnel not collaborating sufficiently during development • developers not disciplined about keeping the application working by making small, incremental changes, and so frequently break existing functionality
  • 16. Poor application quality - symptoms Problem - Delivery teams failing to implement an effective testing strategy Symptoms • regression bugs keep popping up • the defect number keeps increasing even when your team spends most of its time fixing them • customers complain of a poor-quality product • developers groan and look horrified whenever a new feature request arrives • developers complain about the maintainability of the code • an ever-increasing amount of time to implement new functionality, the team starts falling behind
  • 17. Poor application quality - causes • testers do not collaborate with developers during feature development • stories or features “DONE” without comprehensive automated tests, being signed off by testers, or being showcased to users from a production-like environment • defects routinely entered into a backlog without being fixed on the spot with an automated test to detect regression problems • developers or testers without enough experience developing automated test suites • team doesn’t understand the most effective types of tests to write for the technology or platform • developers working without enough test coverage
  • 18. Poorly managed CI - symptoms Problem - build process not properly managed Symptoms • developers don’t check in often enough (at least once a day) • commit stage permanently broken • high number of defects • long integration phase before each release
  • 19. Poorly managed CI - causes • automated tests take too long to run • commit stage takes too long to run (ideally under 5 minutes, more than 10 minutes unacceptable) • automated tests fail intermittently, giving false positives • nobody empowered to revert check-ins • not enough people understand and can change the CI process
  • 20. Poor configuration management - symptoms Problem - environments can’t be commissioned, and applications installed reliably, using an automated process Symptoms • mysterious failures in production environments • new deployments are tense, scary events • large teams dedicated to environment configuration and management • deployments to production often have to be rolled back or patched • unacceptable downtime of production environment
  • 21. Poor configuration management - causes • UAT and production environments are different • poor or badly enforced change management process for making changes to production and staging environments • insufficient collaboration between operations, data management and delivery teams • ineffective monitoring of production and staging environments to detect incidents • insufficient instrumentation and logging built into applications • insufficient testing of the non-functional requirements of applications