it’s not continuous delivery - qcon london 2020 · 2016-04-05 · martin takes continuous...
TRANSCRIPT
![Page 1: IT’S NOT CONTINUOUS DELIVERY - QCon London 2020 · 2016-04-05 · Martin takes Continuous Integration mainstream TW takes the lead in creating CruiseControl 2004 Testing Tools:](https://reader036.vdocument.in/reader036/viewer/2022062505/5edf745cad6a402d666acd0c/html5/thumbnails/1.jpg)
IT’S NOT CONTINUOUS DELIVERYIf you can’t deploy to production right now
1
![Page 2: IT’S NOT CONTINUOUS DELIVERY - QCon London 2020 · 2016-04-05 · Martin takes Continuous Integration mainstream TW takes the lead in creating CruiseControl 2004 Testing Tools:](https://reader036.vdocument.in/reader036/viewer/2022062505/5edf745cad6a402d666acd0c/html5/thumbnails/2.jpg)
WHO AM I?
Ken Mugrage
ThoughtWorks Technology Evangelist
@kmugrage
2
![Page 3: IT’S NOT CONTINUOUS DELIVERY - QCon London 2020 · 2016-04-05 · Martin takes Continuous Integration mainstream TW takes the lead in creating CruiseControl 2004 Testing Tools:](https://reader036.vdocument.in/reader036/viewer/2022062505/5edf745cad6a402d666acd0c/html5/thumbnails/3.jpg)
THE THOUGHTWORKS STORY
3
2000Legendary
computer scientist
Martin Fowler joins
TW asChief
Scientist
FirstAgile project
delivered
2003Project forDixons, UK –
Distributed Agile across
UK, India, Canada, US,
Aus
2006ThoughtWorks Studios
started
2002Martin takesContinuous
Integration mainstream
TW takesthe lead in
creating CruiseControl
2004Testing Tools:
•Selenium,
•NUnit
Gartner on TW:
•�Enables users todothings they could not do
before�•�Has business impact;
not just technology forthe
sake ofit�
2008Cruise launch
Twist launch
300+ clients
16offices
Mingle customers in 25
countries
Forrester: TW isone of5
co�s tomakea
difference toAppDev
2001AgileManifesto
written byMartin&
others
2007Mingle launch
25th TWbook
published: TW
Anthology
2009Adaptive ALM™
Mingle 3.0
‘90sHundreds of
AppDev
projects2010Go launch
400 ThoughtWorks
Studios customers in
30+ countries
2013Mingle SaaS
launch
2014Snap launch
GoOpen
Sourced
2015Gauge
replaces
Twist
![Page 4: IT’S NOT CONTINUOUS DELIVERY - QCon London 2020 · 2016-04-05 · Martin takes Continuous Integration mainstream TW takes the lead in creating CruiseControl 2004 Testing Tools:](https://reader036.vdocument.in/reader036/viewer/2022062505/5edf745cad6a402d666acd0c/html5/thumbnails/4.jpg)
WHY THIS TALK
4
![Page 5: IT’S NOT CONTINUOUS DELIVERY - QCon London 2020 · 2016-04-05 · Martin takes Continuous Integration mainstream TW takes the lead in creating CruiseControl 2004 Testing Tools:](https://reader036.vdocument.in/reader036/viewer/2022062505/5edf745cad6a402d666acd0c/html5/thumbnails/5.jpg)
THERE IS NO TRY
5
![Page 6: IT’S NOT CONTINUOUS DELIVERY - QCon London 2020 · 2016-04-05 · Martin takes Continuous Integration mainstream TW takes the lead in creating CruiseControl 2004 Testing Tools:](https://reader036.vdocument.in/reader036/viewer/2022062505/5edf745cad6a402d666acd0c/html5/thumbnails/6.jpg)
WHY CONTINUOUS DELIVERY?
6
We follow these principles: Our highest priority is to satisfy the customer
through early and continuous delivery of valuable software.
Welcome changing requirements, even late in development. Agile processes harness change for
the customer's competitive advantage.
Deliver working software frequently, from a couple of weeks to a couple of months, with a
preference to the shorter timescale.
![Page 7: IT’S NOT CONTINUOUS DELIVERY - QCon London 2020 · 2016-04-05 · Martin takes Continuous Integration mainstream TW takes the lead in creating CruiseControl 2004 Testing Tools:](https://reader036.vdocument.in/reader036/viewer/2022062505/5edf745cad6a402d666acd0c/html5/thumbnails/7.jpg)
PARTIALLY “DONE” MIGHT STILL BE USEFUL
7
![Page 8: IT’S NOT CONTINUOUS DELIVERY - QCon London 2020 · 2016-04-05 · Martin takes Continuous Integration mainstream TW takes the lead in creating CruiseControl 2004 Testing Tools:](https://reader036.vdocument.in/reader036/viewer/2022062505/5edf745cad6a402d666acd0c/html5/thumbnails/8.jpg)
PARTIALLY “DONE” MIGHT STILL BE USEFUL
7
![Page 9: IT’S NOT CONTINUOUS DELIVERY - QCon London 2020 · 2016-04-05 · Martin takes Continuous Integration mainstream TW takes the lead in creating CruiseControl 2004 Testing Tools:](https://reader036.vdocument.in/reader036/viewer/2022062505/5edf745cad6a402d666acd0c/html5/thumbnails/9.jpg)
PARTIALLY “DONE” MIGHT STILL BE USEFUL
7
![Page 10: IT’S NOT CONTINUOUS DELIVERY - QCon London 2020 · 2016-04-05 · Martin takes Continuous Integration mainstream TW takes the lead in creating CruiseControl 2004 Testing Tools:](https://reader036.vdocument.in/reader036/viewer/2022062505/5edf745cad6a402d666acd0c/html5/thumbnails/10.jpg)
RESPOND TO SECURITY ISSUES
At the time of disclosure, some 17% (around half a million) of the Internet's secure web servers certified by trusted authorities were believed to be vulnerable to the attack, allowing theft of the servers' private keys and users' session cookies and passwords.
The Electronic Frontier Foundation, Ars Technica, and Bruce Schneier all deemed the Heartbleed bug "catastrophic". Forbes cybersecurity columnist Joseph Steinberg wrote, "Some might argue that [Heartbleed] is the worst vulnerability found (at least in terms of its potential impact) since commercial traffic began to flow on the Internet.
https://en.wikipedia.org/wiki/Heartbleed
8
![Page 11: IT’S NOT CONTINUOUS DELIVERY - QCon London 2020 · 2016-04-05 · Martin takes Continuous Integration mainstream TW takes the lead in creating CruiseControl 2004 Testing Tools:](https://reader036.vdocument.in/reader036/viewer/2022062505/5edf745cad6a402d666acd0c/html5/thumbnails/11.jpg)
CODE MANAGEMENTWorking with your version control system
9
![Page 12: IT’S NOT CONTINUOUS DELIVERY - QCon London 2020 · 2016-04-05 · Martin takes Continuous Integration mainstream TW takes the lead in creating CruiseControl 2004 Testing Tools:](https://reader036.vdocument.in/reader036/viewer/2022062505/5edf745cad6a402d666acd0c/html5/thumbnails/12.jpg)
FEATURE BRANCHING
10
http://martinfowler.com/bliki/FeatureBranch.html
![Page 13: IT’S NOT CONTINUOUS DELIVERY - QCon London 2020 · 2016-04-05 · Martin takes Continuous Integration mainstream TW takes the lead in creating CruiseControl 2004 Testing Tools:](https://reader036.vdocument.in/reader036/viewer/2022062505/5edf745cad6a402d666acd0c/html5/thumbnails/13.jpg)
FEATURE BRANCHING
11
http://martinfowler.com/bliki/FeatureBranch.html
![Page 14: IT’S NOT CONTINUOUS DELIVERY - QCon London 2020 · 2016-04-05 · Martin takes Continuous Integration mainstream TW takes the lead in creating CruiseControl 2004 Testing Tools:](https://reader036.vdocument.in/reader036/viewer/2022062505/5edf745cad6a402d666acd0c/html5/thumbnails/14.jpg)
FEATURE BRANCHING
12
http://martinfowler.com/bliki/FeatureBranch.html
![Page 15: IT’S NOT CONTINUOUS DELIVERY - QCon London 2020 · 2016-04-05 · Martin takes Continuous Integration mainstream TW takes the lead in creating CruiseControl 2004 Testing Tools:](https://reader036.vdocument.in/reader036/viewer/2022062505/5edf745cad6a402d666acd0c/html5/thumbnails/15.jpg)
CODE MANAGEMENT
Recommended CI practices
13
![Page 16: IT’S NOT CONTINUOUS DELIVERY - QCon London 2020 · 2016-04-05 · Martin takes Continuous Integration mainstream TW takes the lead in creating CruiseControl 2004 Testing Tools:](https://reader036.vdocument.in/reader036/viewer/2022062505/5edf745cad6a402d666acd0c/html5/thumbnails/16.jpg)
CODE MANAGEMENT
Recommended CI practices
Everyone commits to trunk at least daily
13
![Page 17: IT’S NOT CONTINUOUS DELIVERY - QCon London 2020 · 2016-04-05 · Martin takes Continuous Integration mainstream TW takes the lead in creating CruiseControl 2004 Testing Tools:](https://reader036.vdocument.in/reader036/viewer/2022062505/5edf745cad6a402d666acd0c/html5/thumbnails/17.jpg)
CODE MANAGEMENT
Recommended CI practices
Everyone commits to trunk at least dailyAutomated tests are run for every commit
13
![Page 18: IT’S NOT CONTINUOUS DELIVERY - QCon London 2020 · 2016-04-05 · Martin takes Continuous Integration mainstream TW takes the lead in creating CruiseControl 2004 Testing Tools:](https://reader036.vdocument.in/reader036/viewer/2022062505/5edf745cad6a402d666acd0c/html5/thumbnails/18.jpg)
CODE MANAGEMENT
Recommended CI practices
Everyone commits to trunk at least dailyAutomated tests are run for every commitAvoid branches
13
![Page 19: IT’S NOT CONTINUOUS DELIVERY - QCon London 2020 · 2016-04-05 · Martin takes Continuous Integration mainstream TW takes the lead in creating CruiseControl 2004 Testing Tools:](https://reader036.vdocument.in/reader036/viewer/2022062505/5edf745cad6a402d666acd0c/html5/thumbnails/19.jpg)
RELEASING INCOMPLETE WORKHow to deliver faster than you can finish a feature
14
![Page 20: IT’S NOT CONTINUOUS DELIVERY - QCon London 2020 · 2016-04-05 · Martin takes Continuous Integration mainstream TW takes the lead in creating CruiseControl 2004 Testing Tools:](https://reader036.vdocument.in/reader036/viewer/2022062505/5edf745cad6a402d666acd0c/html5/thumbnails/20.jpg)
FEATURE TOGGLES
15
![Page 21: IT’S NOT CONTINUOUS DELIVERY - QCon London 2020 · 2016-04-05 · Martin takes Continuous Integration mainstream TW takes the lead in creating CruiseControl 2004 Testing Tools:](https://reader036.vdocument.in/reader036/viewer/2022062505/5edf745cad6a402d666acd0c/html5/thumbnails/21.jpg)
FEATURE TOGGLES
15
before
function calculateTax(){ // current implementation lives here }
![Page 22: IT’S NOT CONTINUOUS DELIVERY - QCon London 2020 · 2016-04-05 · Martin takes Continuous Integration mainstream TW takes the lead in creating CruiseControl 2004 Testing Tools:](https://reader036.vdocument.in/reader036/viewer/2022062505/5edf745cad6a402d666acd0c/html5/thumbnails/22.jpg)
FEATURE TOGGLES
15
before
function calculateTax(){ // current implementation lives here }
after
function calculateTax(){ var useNewAlgorithm = false; // useNewAlgorithm = true; // UNCOMMENT IF YOU ARE WORKING ON THE NEW SR ALGORITHM if( useNewAlgorithm ){ return enhancedSplineReticulation(); }else{ return oldFashionedSplineReticulation(); } } function oldFashionedTaxCalculation(){ // current implementation lives here } function enhancedTaxCalculation(){ // TODO: implement better SR algorithm }
Pete Hodgson - http://martinfowler.com/articles/feature-toggles.html
![Page 23: IT’S NOT CONTINUOUS DELIVERY - QCon London 2020 · 2016-04-05 · Martin takes Continuous Integration mainstream TW takes the lead in creating CruiseControl 2004 Testing Tools:](https://reader036.vdocument.in/reader036/viewer/2022062505/5edf745cad6a402d666acd0c/html5/thumbnails/23.jpg)
FEATURE TOGGLES
16
Pete Hodgson - http://martinfowler.com/articles/feature-toggles.html
![Page 24: IT’S NOT CONTINUOUS DELIVERY - QCon London 2020 · 2016-04-05 · Martin takes Continuous Integration mainstream TW takes the lead in creating CruiseControl 2004 Testing Tools:](https://reader036.vdocument.in/reader036/viewer/2022062505/5edf745cad6a402d666acd0c/html5/thumbnails/24.jpg)
PIPELINES YOU SHOULD BE INCLUDING
17
![Page 25: IT’S NOT CONTINUOUS DELIVERY - QCon London 2020 · 2016-04-05 · Martin takes Continuous Integration mainstream TW takes the lead in creating CruiseControl 2004 Testing Tools:](https://reader036.vdocument.in/reader036/viewer/2022062505/5edf745cad6a402d666acd0c/html5/thumbnails/25.jpg)
SECURITY TESTING
18
![Page 26: IT’S NOT CONTINUOUS DELIVERY - QCon London 2020 · 2016-04-05 · Martin takes Continuous Integration mainstream TW takes the lead in creating CruiseControl 2004 Testing Tools:](https://reader036.vdocument.in/reader036/viewer/2022062505/5edf745cad6a402d666acd0c/html5/thumbnails/26.jpg)
SECURITY TESTING
Test before you commit
Have you included private keys? Authentication tokens?
18
![Page 27: IT’S NOT CONTINUOUS DELIVERY - QCon London 2020 · 2016-04-05 · Martin takes Continuous Integration mainstream TW takes the lead in creating CruiseControl 2004 Testing Tools:](https://reader036.vdocument.in/reader036/viewer/2022062505/5edf745cad6a402d666acd0c/html5/thumbnails/27.jpg)
SECURITY TESTING
Test before you commit
Have you included private keys? Authentication tokens?
Static Application Security Testing (SAST)
According to one Sonatype study “of the 106 component ‘parts’ used in a typical application, on average 24 have known cyber vulnerabilities, which are rated either critical or severe."
18
![Page 28: IT’S NOT CONTINUOUS DELIVERY - QCon London 2020 · 2016-04-05 · Martin takes Continuous Integration mainstream TW takes the lead in creating CruiseControl 2004 Testing Tools:](https://reader036.vdocument.in/reader036/viewer/2022062505/5edf745cad6a402d666acd0c/html5/thumbnails/28.jpg)
SECURITY TESTING
Test before you commit
Have you included private keys? Authentication tokens?
Static Application Security Testing (SAST)
According to one Sonatype study “of the 106 component ‘parts’ used in a typical application, on average 24 have known cyber vulnerabilities, which are rated either critical or severe."
Dynamic Application Security Testing (DAST)
Tools that run against your code are a good start, but they aren’t accessing the application like a user.
18
![Page 29: IT’S NOT CONTINUOUS DELIVERY - QCon London 2020 · 2016-04-05 · Martin takes Continuous Integration mainstream TW takes the lead in creating CruiseControl 2004 Testing Tools:](https://reader036.vdocument.in/reader036/viewer/2022062505/5edf745cad6a402d666acd0c/html5/thumbnails/29.jpg)
PERFORMANCE TESTING
19
https://en.wikipedia.org/wiki/Software_performance_testing
![Page 30: IT’S NOT CONTINUOUS DELIVERY - QCon London 2020 · 2016-04-05 · Martin takes Continuous Integration mainstream TW takes the lead in creating CruiseControl 2004 Testing Tools:](https://reader036.vdocument.in/reader036/viewer/2022062505/5edf745cad6a402d666acd0c/html5/thumbnails/30.jpg)
PERFORMANCE TESTING
Load testing
Load testing is the simplest form of performance testing. A load test is usually conducted to understand the behavior of the system under a specific expected load.
19
https://en.wikipedia.org/wiki/Software_performance_testing
![Page 31: IT’S NOT CONTINUOUS DELIVERY - QCon London 2020 · 2016-04-05 · Martin takes Continuous Integration mainstream TW takes the lead in creating CruiseControl 2004 Testing Tools:](https://reader036.vdocument.in/reader036/viewer/2022062505/5edf745cad6a402d666acd0c/html5/thumbnails/31.jpg)
PERFORMANCE TESTING
Load testing
Load testing is the simplest form of performance testing. A load test is usually conducted to understand the behavior of the system under a specific expected load.
Stress testing
Stress testing is normally used to understand the upper limits of capacity within the system.
19
https://en.wikipedia.org/wiki/Software_performance_testing
![Page 32: IT’S NOT CONTINUOUS DELIVERY - QCon London 2020 · 2016-04-05 · Martin takes Continuous Integration mainstream TW takes the lead in creating CruiseControl 2004 Testing Tools:](https://reader036.vdocument.in/reader036/viewer/2022062505/5edf745cad6a402d666acd0c/html5/thumbnails/32.jpg)
PERFORMANCE TESTING
Load testing
Load testing is the simplest form of performance testing. A load test is usually conducted to understand the behavior of the system under a specific expected load.
Stress testing
Stress testing is normally used to understand the upper limits of capacity within the system.
Soak testing
Soak testing, also known as endurance testing, is usually done to determine if the system can sustain the continuous expected load.
19
https://en.wikipedia.org/wiki/Software_performance_testing
![Page 33: IT’S NOT CONTINUOUS DELIVERY - QCon London 2020 · 2016-04-05 · Martin takes Continuous Integration mainstream TW takes the lead in creating CruiseControl 2004 Testing Tools:](https://reader036.vdocument.in/reader036/viewer/2022062505/5edf745cad6a402d666acd0c/html5/thumbnails/33.jpg)
PERFORMANCE TESTING
Load testing
Load testing is the simplest form of performance testing. A load test is usually conducted to understand the behavior of the system under a specific expected load.
Stress testing
Stress testing is normally used to understand the upper limits of capacity within the system.
Soak testing
Soak testing, also known as endurance testing, is usually done to determine if the system can sustain the continuous expected load.
Spike testing
Spike testing is done by suddenly increasing the load generated by a very large number of users, and observing the behavior of the system.
19
https://en.wikipedia.org/wiki/Software_performance_testing
![Page 34: IT’S NOT CONTINUOUS DELIVERY - QCon London 2020 · 2016-04-05 · Martin takes Continuous Integration mainstream TW takes the lead in creating CruiseControl 2004 Testing Tools:](https://reader036.vdocument.in/reader036/viewer/2022062505/5edf745cad6a402d666acd0c/html5/thumbnails/34.jpg)
PIPELINE STRATEGIES
Recommended practices
20
![Page 35: IT’S NOT CONTINUOUS DELIVERY - QCon London 2020 · 2016-04-05 · Martin takes Continuous Integration mainstream TW takes the lead in creating CruiseControl 2004 Testing Tools:](https://reader036.vdocument.in/reader036/viewer/2022062505/5edf745cad6a402d666acd0c/html5/thumbnails/35.jpg)
PIPELINE STRATEGIES
Recommended practices
20
Build (CI)
![Page 36: IT’S NOT CONTINUOUS DELIVERY - QCon London 2020 · 2016-04-05 · Martin takes Continuous Integration mainstream TW takes the lead in creating CruiseControl 2004 Testing Tools:](https://reader036.vdocument.in/reader036/viewer/2022062505/5edf745cad6a402d666acd0c/html5/thumbnails/36.jpg)
PIPELINE STRATEGIES
Recommended practices
20
Build (CI) Integrate
![Page 37: IT’S NOT CONTINUOUS DELIVERY - QCon London 2020 · 2016-04-05 · Martin takes Continuous Integration mainstream TW takes the lead in creating CruiseControl 2004 Testing Tools:](https://reader036.vdocument.in/reader036/viewer/2022062505/5edf745cad6a402d666acd0c/html5/thumbnails/37.jpg)
PIPELINE STRATEGIES
Recommended practices
20
Build (CI) Integrate Verify
![Page 38: IT’S NOT CONTINUOUS DELIVERY - QCon London 2020 · 2016-04-05 · Martin takes Continuous Integration mainstream TW takes the lead in creating CruiseControl 2004 Testing Tools:](https://reader036.vdocument.in/reader036/viewer/2022062505/5edf745cad6a402d666acd0c/html5/thumbnails/38.jpg)
PIPELINE STRATEGIES
Recommended practices
20
Build (CI) Integrate Verify Deploy
![Page 39: IT’S NOT CONTINUOUS DELIVERY - QCon London 2020 · 2016-04-05 · Martin takes Continuous Integration mainstream TW takes the lead in creating CruiseControl 2004 Testing Tools:](https://reader036.vdocument.in/reader036/viewer/2022062505/5edf745cad6a402d666acd0c/html5/thumbnails/39.jpg)
RUN AS MUCH AS POSSIBLE IN PARALLEL
21
UnitTest FunctionalTest
LoadTest
Staging Production
SpikeTest
StressTest
SoakTest
![Page 40: IT’S NOT CONTINUOUS DELIVERY - QCon London 2020 · 2016-04-05 · Martin takes Continuous Integration mainstream TW takes the lead in creating CruiseControl 2004 Testing Tools:](https://reader036.vdocument.in/reader036/viewer/2022062505/5edf745cad6a402d666acd0c/html5/thumbnails/40.jpg)
MANAGING RISK
22
![Page 41: IT’S NOT CONTINUOUS DELIVERY - QCon London 2020 · 2016-04-05 · Martin takes Continuous Integration mainstream TW takes the lead in creating CruiseControl 2004 Testing Tools:](https://reader036.vdocument.in/reader036/viewer/2022062505/5edf745cad6a402d666acd0c/html5/thumbnails/41.jpg)
DEPLOYMENT PATTERNS
23
![Page 42: IT’S NOT CONTINUOUS DELIVERY - QCon London 2020 · 2016-04-05 · Martin takes Continuous Integration mainstream TW takes the lead in creating CruiseControl 2004 Testing Tools:](https://reader036.vdocument.in/reader036/viewer/2022062505/5edf745cad6a402d666acd0c/html5/thumbnails/42.jpg)
DEPLOYMENT PATTERNS
Canary release
A technique to reduce the risk of introducing a new software version in production by slowly rolling out the change to a small subset of users before rolling it out to the entire infrastructure and making it available to everybody.
23
![Page 43: IT’S NOT CONTINUOUS DELIVERY - QCon London 2020 · 2016-04-05 · Martin takes Continuous Integration mainstream TW takes the lead in creating CruiseControl 2004 Testing Tools:](https://reader036.vdocument.in/reader036/viewer/2022062505/5edf745cad6a402d666acd0c/html5/thumbnails/43.jpg)
DEPLOYMENT PATTERNS
Canary release
A technique to reduce the risk of introducing a new software version in production by slowly rolling out the change to a small subset of users before rolling it out to the entire infrastructure and making it available to everybody.
Dark launching The practice of deploying the very first version of a service into its production environment, well before release, so that you can soak test it and find any bugs before you make its functionality available to users.
23
http://martinfowler.com/bliki/CanaryRelease.html
http://www.informit.com/articles/article.aspx?p=1833567&seqNum=2
![Page 44: IT’S NOT CONTINUOUS DELIVERY - QCon London 2020 · 2016-04-05 · Martin takes Continuous Integration mainstream TW takes the lead in creating CruiseControl 2004 Testing Tools:](https://reader036.vdocument.in/reader036/viewer/2022062505/5edf745cad6a402d666acd0c/html5/thumbnails/44.jpg)
FEEDBACK LOOPS
24
![Page 45: IT’S NOT CONTINUOUS DELIVERY - QCon London 2020 · 2016-04-05 · Martin takes Continuous Integration mainstream TW takes the lead in creating CruiseControl 2004 Testing Tools:](https://reader036.vdocument.in/reader036/viewer/2022062505/5edf745cad6a402d666acd0c/html5/thumbnails/45.jpg)
FEEDBACK LOOPS
Create useful logging for everything
24
![Page 46: IT’S NOT CONTINUOUS DELIVERY - QCon London 2020 · 2016-04-05 · Martin takes Continuous Integration mainstream TW takes the lead in creating CruiseControl 2004 Testing Tools:](https://reader036.vdocument.in/reader036/viewer/2022062505/5edf745cad6a402d666acd0c/html5/thumbnails/46.jpg)
FEEDBACK LOOPS
Create useful logging for everythingRun (some of) your tests against production
24
![Page 47: IT’S NOT CONTINUOUS DELIVERY - QCon London 2020 · 2016-04-05 · Martin takes Continuous Integration mainstream TW takes the lead in creating CruiseControl 2004 Testing Tools:](https://reader036.vdocument.in/reader036/viewer/2022062505/5edf745cad6a402d666acd0c/html5/thumbnails/47.jpg)
FEEDBACK LOOPS
Create useful logging for everythingRun (some of) your tests against production
Configure monitoring alerts to make sure people pay attention to them
24
![Page 48: IT’S NOT CONTINUOUS DELIVERY - QCon London 2020 · 2016-04-05 · Martin takes Continuous Integration mainstream TW takes the lead in creating CruiseControl 2004 Testing Tools:](https://reader036.vdocument.in/reader036/viewer/2022062505/5edf745cad6a402d666acd0c/html5/thumbnails/48.jpg)
OPTIMIZE FOR RECOVERY
25
![Page 49: IT’S NOT CONTINUOUS DELIVERY - QCon London 2020 · 2016-04-05 · Martin takes Continuous Integration mainstream TW takes the lead in creating CruiseControl 2004 Testing Tools:](https://reader036.vdocument.in/reader036/viewer/2022062505/5edf745cad6a402d666acd0c/html5/thumbnails/49.jpg)
OPTIMIZE FOR RECOVERY
Mean time between failures (MTBF) is the predicted elapsed time between inherent failures of a system during operation.
25
![Page 50: IT’S NOT CONTINUOUS DELIVERY - QCon London 2020 · 2016-04-05 · Martin takes Continuous Integration mainstream TW takes the lead in creating CruiseControl 2004 Testing Tools:](https://reader036.vdocument.in/reader036/viewer/2022062505/5edf745cad6a402d666acd0c/html5/thumbnails/50.jpg)
OPTIMIZE FOR RECOVERY
Mean time between failures (MTBF) is the predicted elapsed time between inherent failures of a system during operation.
Mean Time To Repair (MTTR) is a basic measure of the maintainability of repairable items. It represents the average time required to repair a failed component or device.
25
https://en.wikipedia.org/wiki/Mean_time_to_repairhttps://en.wikipedia.org/wiki/Mean_time_between_failures
![Page 51: IT’S NOT CONTINUOUS DELIVERY - QCon London 2020 · 2016-04-05 · Martin takes Continuous Integration mainstream TW takes the lead in creating CruiseControl 2004 Testing Tools:](https://reader036.vdocument.in/reader036/viewer/2022062505/5edf745cad6a402d666acd0c/html5/thumbnails/51.jpg)
SUMMARY
It’s not Continuous Delivery if you can’t deploy right now
Practice good CI habits
Use things like feature branches to deploy incomplete work
26
![Page 52: IT’S NOT CONTINUOUS DELIVERY - QCon London 2020 · 2016-04-05 · Martin takes Continuous Integration mainstream TW takes the lead in creating CruiseControl 2004 Testing Tools:](https://reader036.vdocument.in/reader036/viewer/2022062505/5edf745cad6a402d666acd0c/html5/thumbnails/52.jpg)
THANK YOUTo learn more about ThoughtWorks CD Productshttp://www.thoughtworks.com/products/
27