continuous delivery in practice
TRANSCRIPT
![Page 1: Continuous Delivery in Practice](https://reader033.vdocuments.us/reader033/viewer/2022052514/58eeec001a28ab1f198b45e3/html5/thumbnails/1.jpg)
Continuous DeliveryIn Practice
![Page 2: Continuous Delivery in Practice](https://reader033.vdocuments.us/reader033/viewer/2022052514/58eeec001a28ab1f198b45e3/html5/thumbnails/2.jpg)
Patric Fornasier
Marc Hofer
Software Engineer ThoughtWorks・Springer・Yelp・Swisscom ♥ people and building stuff
Software Engineer Zühlke ・ThoughtWorks・effective Agile
♥ to learn from mistakes
![Page 3: Continuous Delivery in Practice](https://reader033.vdocuments.us/reader033/viewer/2022052514/58eeec001a28ab1f198b45e3/html5/thumbnails/3.jpg)
Agendawhy? what? how?
![Page 4: Continuous Delivery in Practice](https://reader033.vdocuments.us/reader033/viewer/2022052514/58eeec001a28ab1f198b45e3/html5/thumbnails/4.jpg)
Why?
![Page 5: Continuous Delivery in Practice](https://reader033.vdocuments.us/reader033/viewer/2022052514/58eeec001a28ab1f198b45e3/html5/thumbnails/5.jpg)
STATE of DevOps report
![Page 6: Continuous Delivery in Practice](https://reader033.vdocuments.us/reader033/viewer/2022052514/58eeec001a28ab1f198b45e3/html5/thumbnails/6.jpg)
Higher IT performance
60x failures 168x recovery
30X deploys 200x lead times
![Page 7: Continuous Delivery in Practice](https://reader033.vdocuments.us/reader033/viewer/2022052514/58eeec001a28ab1f198b45e3/html5/thumbnails/7.jpg)
Higher organisational performance2x profitability
market share productivity
![Page 8: Continuous Delivery in Practice](https://reader033.vdocuments.us/reader033/viewer/2022052514/58eeec001a28ab1f198b45e3/html5/thumbnails/8.jpg)
Higher throughput & stability11.6 secs
amazon - may 2011
![Page 9: Continuous Delivery in Practice](https://reader033.vdocuments.us/reader033/viewer/2022052514/58eeec001a28ab1f198b45e3/html5/thumbnails/9.jpg)
Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.
‒ Agile Manifesto
“
![Page 10: Continuous Delivery in Practice](https://reader033.vdocuments.us/reader033/viewer/2022052514/58eeec001a28ab1f198b45e3/html5/thumbnails/10.jpg)
time
planspec
designcode
testdeploy
iteration 1 iteration 2iteration ...
![Page 11: Continuous Delivery in Practice](https://reader033.vdocuments.us/reader033/viewer/2022052514/58eeec001a28ab1f198b45e3/html5/thumbnails/11.jpg)
iteration / sprint
idea
![Page 12: Continuous Delivery in Practice](https://reader033.vdocuments.us/reader033/viewer/2022052514/58eeec001a28ab1f198b45e3/html5/thumbnails/12.jpg)
time
fall
planspec
testdeploy
SCRUM
ScrumWater
![Page 13: Continuous Delivery in Practice](https://reader033.vdocuments.us/reader033/viewer/2022052514/58eeec001a28ab1f198b45e3/html5/thumbnails/13.jpg)
When I come in one day and tell you the project will end in one week, you have to be ready to package up and deliver what you’ve got as the final product.
‒ Tom DeMarco
IEEE Software, 2009
“
![Page 14: Continuous Delivery in Practice](https://reader033.vdocuments.us/reader033/viewer/2022052514/58eeec001a28ab1f198b45e3/html5/thumbnails/14.jpg)
![Page 15: Continuous Delivery in Practice](https://reader033.vdocuments.us/reader033/viewer/2022052514/58eeec001a28ab1f198b45e3/html5/thumbnails/15.jpg)
IDEAS
CODEDATA
learn build
measure
![Page 16: Continuous Delivery in Practice](https://reader033.vdocuments.us/reader033/viewer/2022052514/58eeec001a28ab1f198b45e3/html5/thumbnails/16.jpg)
ReduceRISK
![Page 17: Continuous Delivery in Practice](https://reader033.vdocuments.us/reader033/viewer/2022052514/58eeec001a28ab1f198b45e3/html5/thumbnails/17.jpg)
chan
ge
timech
ange
time
big change= big risk
small change= small risk
![Page 18: Continuous Delivery in Practice](https://reader033.vdocuments.us/reader033/viewer/2022052514/58eeec001a28ab1f198b45e3/html5/thumbnails/18.jpg)
Mean Time To Recover168x
![Page 19: Continuous Delivery in Practice](https://reader033.vdocuments.us/reader033/viewer/2022052514/58eeec001a28ab1f198b45e3/html5/thumbnails/19.jpg)
TRACK real
PROGRESS
![Page 20: Continuous Delivery in Practice](https://reader033.vdocuments.us/reader033/viewer/2022052514/58eeec001a28ab1f198b45e3/html5/thumbnails/20.jpg)
What is real progress?
![Page 21: Continuous Delivery in Practice](https://reader033.vdocuments.us/reader033/viewer/2022052514/58eeec001a28ab1f198b45e3/html5/thumbnails/21.jpg)
WHAt?
![Page 22: Continuous Delivery in Practice](https://reader033.vdocuments.us/reader033/viewer/2022052514/58eeec001a28ab1f198b45e3/html5/thumbnails/22.jpg)
PracticesAutomation
Version ControlContinuous Integration
![Page 23: Continuous Delivery in Practice](https://reader033.vdocuments.us/reader033/viewer/2022052514/58eeec001a28ab1f198b45e3/html5/thumbnails/23.jpg)
Deployment Pipeline
dev to release
![Page 24: Continuous Delivery in Practice](https://reader033.vdocuments.us/reader033/viewer/2022052514/58eeec001a28ab1f198b45e3/html5/thumbnails/24.jpg)
Mindsetlean agile
devOps
![Page 25: Continuous Delivery in Practice](https://reader033.vdocuments.us/reader033/viewer/2022052514/58eeec001a28ab1f198b45e3/html5/thumbnails/25.jpg)
HOw?
![Page 26: Continuous Delivery in Practice](https://reader033.vdocuments.us/reader033/viewer/2022052514/58eeec001a28ab1f198b45e3/html5/thumbnails/26.jpg)
Value Stream Mapping
![Page 27: Continuous Delivery in Practice](https://reader033.vdocuments.us/reader033/viewer/2022052514/58eeec001a28ab1f198b45e3/html5/thumbnails/27.jpg)
PROCESS A
PROCESS B
PROCESS C
PROCESS D
supplier customer
information flows
material flows
![Page 28: Continuous Delivery in Practice](https://reader033.vdocuments.us/reader033/viewer/2022052514/58eeec001a28ab1f198b45e3/html5/thumbnails/28.jpg)
PROCESS A DEV RELEASE PROCESS
D
supplier customer
information flows
material flows
continuous deluvery
![Page 29: Continuous Delivery in Practice](https://reader033.vdocuments.us/reader033/viewer/2022052514/58eeec001a28ab1f198b45e3/html5/thumbnails/29.jpg)
How long would it take your organization to deploy a change that involved just one single line of code [...] on a repeatable, reliable basis?
‒ Mary and Tom Poppendieck
Implementing Lean Software Development, 2006
“
![Page 30: Continuous Delivery in Practice](https://reader033.vdocuments.us/reader033/viewer/2022052514/58eeec001a28ab1f198b45e3/html5/thumbnails/30.jpg)
Deployment Pipeline
![Page 31: Continuous Delivery in Practice](https://reader033.vdocuments.us/reader033/viewer/2022052514/58eeec001a28ab1f198b45e3/html5/thumbnails/31.jpg)
Build
commit
Acc.Tests Staging Prod
automaticpromotion gated
verify
store
time
![Page 32: Continuous Delivery in Practice](https://reader033.vdocuments.us/reader033/viewer/2022052514/58eeec001a28ab1f198b45e3/html5/thumbnails/32.jpg)
![Page 33: Continuous Delivery in Practice](https://reader033.vdocuments.us/reader033/viewer/2022052514/58eeec001a28ab1f198b45e3/html5/thumbnails/33.jpg)
![Page 34: Continuous Delivery in Practice](https://reader033.vdocuments.us/reader033/viewer/2022052514/58eeec001a28ab1f198b45e3/html5/thumbnails/34.jpg)
time
Build Acc.Tests
Staging Prod
component X
Build Acc.Tests
component YSys.
Tests
![Page 35: Continuous Delivery in Practice](https://reader033.vdocuments.us/reader033/viewer/2022052514/58eeec001a28ab1f198b45e3/html5/thumbnails/35.jpg)
![Page 36: Continuous Delivery in Practice](https://reader033.vdocuments.us/reader033/viewer/2022052514/58eeec001a28ab1f198b45e3/html5/thumbnails/36.jpg)
http://arojgeorge.ghost.io/
![Page 37: Continuous Delivery in Practice](https://reader033.vdocuments.us/reader033/viewer/2022052514/58eeec001a28ab1f198b45e3/html5/thumbnails/37.jpg)
time
Build
Acc.Tests: n
Staging ProdCDCTests
Sys.Tests
Acc.Tests: 1
PerfTests
![Page 38: Continuous Delivery in Practice](https://reader033.vdocuments.us/reader033/viewer/2022052514/58eeec001a28ab1f198b45e3/html5/thumbnails/38.jpg)
70,000 tests 350 runs 700 days
3,000 concurrent tests 200 machines1.5M docker containers
![Page 39: Continuous Delivery in Practice](https://reader033.vdocuments.us/reader033/viewer/2022052514/58eeec001a28ab1f198b45e3/html5/thumbnails/39.jpg)
time
Build Acc.Tests
Staging Prod
Build Acc.Tests
Staging Prod
Build Acc.Tests
Staging Prod
Build Acc.Tests
Staging Prod
Build Acc.Tests
Staging Prod#5
#4
#3
#2
#1
![Page 40: Continuous Delivery in Practice](https://reader033.vdocuments.us/reader033/viewer/2022052514/58eeec001a28ab1f198b45e3/html5/thumbnails/40.jpg)
https://medium.com/continuous-delivery/architecting-for-continuous-delivery-77890e139ef6
![Page 41: Continuous Delivery in Practice](https://reader033.vdocuments.us/reader033/viewer/2022052514/58eeec001a28ab1f198b45e3/html5/thumbnails/41.jpg)
VERSIONCONTROL
TEST
SYSTEM CONFIG
build scripts
APP CONFIGTOOLSgit
HG...
DB SCRIPTSCODE
DEPLOYMENT SCRIPTS
DEPS
INFRA CONFIG
DOCS
IDE CONFIG
ENCRYPTED (!!)SENSITIVE DATA
![Page 42: Continuous Delivery in Practice](https://reader033.vdocuments.us/reader033/viewer/2022052514/58eeec001a28ab1f198b45e3/html5/thumbnails/42.jpg)
Continuous Integration
...is more often than you think.
![Page 43: Continuous Delivery in Practice](https://reader033.vdocuments.us/reader033/viewer/2022052514/58eeec001a28ab1f198b45e3/html5/thumbnails/43.jpg)
develop
build
build
pull
push
time
![Page 44: Continuous Delivery in Practice](https://reader033.vdocuments.us/reader033/viewer/2022052514/58eeec001a28ab1f198b45e3/html5/thumbnails/44.jpg)
time
commit
pull
build
![Page 45: Continuous Delivery in Practice](https://reader033.vdocuments.us/reader033/viewer/2022052514/58eeec001a28ab1f198b45e3/html5/thumbnails/45.jpg)
build
pull
develop
build
push
pull
build
commit
![Page 46: Continuous Delivery in Practice](https://reader033.vdocuments.us/reader033/viewer/2022052514/58eeec001a28ab1f198b45e3/html5/thumbnails/46.jpg)
build
pull
develop
build
push
pull
build
commit
![Page 47: Continuous Delivery in Practice](https://reader033.vdocuments.us/reader033/viewer/2022052514/58eeec001a28ab1f198b45e3/html5/thumbnails/47.jpg)
BUILD Automation
FAST
GATE TO COmmit
AGREED W/TEAM
FEEDBACK
TOOLSMAKEBAZEL
GRADLERAKE ...
VERSION CONTROLLED
COMMANDLINE
SAME ON CI
COMPILE
TESTS
PACKAGE
CHECKS
...
![Page 48: Continuous Delivery in Practice](https://reader033.vdocuments.us/reader033/viewer/2022052514/58eeec001a28ab1f198b45e3/html5/thumbnails/48.jpg)
test automation
![Page 49: Continuous Delivery in Practice](https://reader033.vdocuments.us/reader033/viewer/2022052514/58eeec001a28ab1f198b45e3/html5/thumbnails/49.jpg)
find bugs prevent bugs
MANUAL TESTS
AUTOMATIONSUITES
UNIT
# tests# testscon
fiden
ce
FUNCTIONAL
SYS
INTEGRATION
UNIT
confid
ence
![Page 50: Continuous Delivery in Practice](https://reader033.vdocuments.us/reader033/viewer/2022052514/58eeec001a28ab1f198b45e3/html5/thumbnails/50.jpg)
time
Unittests
inttests
acc.tests
trigger
feedback
![Page 51: Continuous Delivery in Practice](https://reader033.vdocuments.us/reader033/viewer/2022052514/58eeec001a28ab1f198b45e3/html5/thumbnails/51.jpg)
![Page 52: Continuous Delivery in Practice](https://reader033.vdocuments.us/reader033/viewer/2022052514/58eeec001a28ab1f198b45e3/html5/thumbnails/52.jpg)
![Page 53: Continuous Delivery in Practice](https://reader033.vdocuments.us/reader033/viewer/2022052514/58eeec001a28ab1f198b45e3/html5/thumbnails/53.jpg)
infra & environment automation
![Page 54: Continuous Delivery in Practice](https://reader033.vdocuments.us/reader033/viewer/2022052514/58eeec001a28ab1f198b45e3/html5/thumbnails/54.jpg)
Deployment automation
![Page 55: Continuous Delivery in Practice](https://reader033.vdocuments.us/reader033/viewer/2022052514/58eeec001a28ab1f198b45e3/html5/thumbnails/55.jpg)
1) install and boot new version 2) run health checks 3) route traffic 4) monitor 5) repeat
App B
App C
App A
App A'
routeLOADBALANCER/
DNS
inboundtraffic
![Page 56: Continuous Delivery in Practice](https://reader033.vdocuments.us/reader033/viewer/2022052514/58eeec001a28ab1f198b45e3/html5/thumbnails/56.jpg)
Week 12Week 1
![Page 57: Continuous Delivery in Practice](https://reader033.vdocuments.us/reader033/viewer/2022052514/58eeec001a28ab1f198b45e3/html5/thumbnails/57.jpg)
RELEASING
![Page 58: Continuous Delivery in Practice](https://reader033.vdocuments.us/reader033/viewer/2022052514/58eeec001a28ab1f198b45e3/html5/thumbnails/58.jpg)
Deployment != Release… Experiment
… Dark Launching
![Page 59: Continuous Delivery in Practice](https://reader033.vdocuments.us/reader033/viewer/2022052514/58eeec001a28ab1f198b45e3/html5/thumbnails/59.jpg)
RECAP
![Page 60: Continuous Delivery in Practice](https://reader033.vdocuments.us/reader033/viewer/2022052514/58eeec001a28ab1f198b45e3/html5/thumbnails/60.jpg)
don't ignore the data
![Page 61: Continuous Delivery in Practice](https://reader033.vdocuments.us/reader033/viewer/2022052514/58eeec001a28ab1f198b45e3/html5/thumbnails/61.jpg)
Automate
![Page 62: Continuous Delivery in Practice](https://reader033.vdocuments.us/reader033/viewer/2022052514/58eeec001a28ab1f198b45e3/html5/thumbnails/62.jpg)
Automate
![Page 63: Continuous Delivery in Practice](https://reader033.vdocuments.us/reader033/viewer/2022052514/58eeec001a28ab1f198b45e3/html5/thumbnails/63.jpg)
Automate
![Page 64: Continuous Delivery in Practice](https://reader033.vdocuments.us/reader033/viewer/2022052514/58eeec001a28ab1f198b45e3/html5/thumbnails/64.jpg)
it's stuff you do...
![Page 65: Continuous Delivery in Practice](https://reader033.vdocuments.us/reader033/viewer/2022052514/58eeec001a28ab1f198b45e3/html5/thumbnails/65.jpg)
Thanks@patforna @mhoefi