an introduction to continuous delivery - c-spin chicago spin … · 2013-11-02 · an introduction...
TRANSCRIPT
![Page 1: An Introduction to Continuous Delivery - C-SPIN Chicago SPIN … · 2013-11-02 · An Introduction to Continuous Delivery rolf russell continuous delivery practice lead . conan the](https://reader033.vdocuments.us/reader033/viewer/2022042222/5ec91015659c4e0afb367b68/html5/thumbnails/1.jpg)
© 2011 All rights reserved.
An Introduction to Continuous Delivery
rolf russell continuous delivery practice lead
![Page 2: An Introduction to Continuous Delivery - C-SPIN Chicago SPIN … · 2013-11-02 · An Introduction to Continuous Delivery rolf russell continuous delivery practice lead . conan the](https://reader033.vdocuments.us/reader033/viewer/2022042222/5ec91015659c4e0afb367b68/html5/thumbnails/2.jpg)
![Page 3: An Introduction to Continuous Delivery - C-SPIN Chicago SPIN … · 2013-11-02 · An Introduction to Continuous Delivery rolf russell continuous delivery practice lead . conan the](https://reader033.vdocuments.us/reader033/viewer/2022042222/5ec91015659c4e0afb367b68/html5/thumbnails/3.jpg)
conan the deployer
![Page 4: An Introduction to Continuous Delivery - C-SPIN Chicago SPIN … · 2013-11-02 · An Introduction to Continuous Delivery rolf russell continuous delivery practice lead . conan the](https://reader033.vdocuments.us/reader033/viewer/2022042222/5ec91015659c4e0afb367b68/html5/thumbnails/4.jpg)
getting it in front of users quickly
http://code.flickr.com
![Page 5: An Introduction to Continuous Delivery - C-SPIN Chicago SPIN … · 2013-11-02 · An Introduction to Continuous Delivery rolf russell continuous delivery practice lead . conan the](https://reader033.vdocuments.us/reader033/viewer/2022042222/5ec91015659c4e0afb367b68/html5/thumbnails/5.jpg)
constant flow of new features into production
incremental release of small changes
time small feature chunks
![Page 6: An Introduction to Continuous Delivery - C-SPIN Chicago SPIN … · 2013-11-02 · An Introduction to Continuous Delivery rolf russell continuous delivery practice lead . conan the](https://reader033.vdocuments.us/reader033/viewer/2022042222/5ec91015659c4e0afb367b68/html5/thumbnails/6.jpg)
Why
![Page 7: An Introduction to Continuous Delivery - C-SPIN Chicago SPIN … · 2013-11-02 · An Introduction to Continuous Delivery rolf russell continuous delivery practice lead . conan the](https://reader033.vdocuments.us/reader033/viewer/2022042222/5ec91015659c4e0afb367b68/html5/thumbnails/7.jpg)
build the right thing
every business idea is
a hypothesis until you
get user feedback
![Page 8: An Introduction to Continuous Delivery - C-SPIN Chicago SPIN … · 2013-11-02 · An Introduction to Continuous Delivery rolf russell continuous delivery practice lead . conan the](https://reader033.vdocuments.us/reader033/viewer/2022042222/5ec91015659c4e0afb367b68/html5/thumbnails/8.jpg)
corollary: don’t waste money on the wrong thing
Never 45%
Rarely 19%
Sometimes 16%
Often 13%
Always 7%
Standish Group: how often features are used
![Page 9: An Introduction to Continuous Delivery - C-SPIN Chicago SPIN … · 2013-11-02 · An Introduction to Continuous Delivery rolf russell continuous delivery practice lead . conan the](https://reader033.vdocuments.us/reader033/viewer/2022042222/5ec91015659c4e0afb367b68/html5/thumbnails/9.jpg)
constant user connection
by releasing everyday:
your users can be delighted by new stuff all the time
your users get the feeling you are reacting to what they want
![Page 10: An Introduction to Continuous Delivery - C-SPIN Chicago SPIN … · 2013-11-02 · An Introduction to Continuous Delivery rolf russell continuous delivery practice lead . conan the](https://reader033.vdocuments.us/reader033/viewer/2022042222/5ec91015659c4e0afb367b68/html5/thumbnails/10.jpg)
ability to move quickly
react to the market
explore new revenue streams
![Page 11: An Introduction to Continuous Delivery - C-SPIN Chicago SPIN … · 2013-11-02 · An Introduction to Continuous Delivery rolf russell continuous delivery practice lead . conan the](https://reader033.vdocuments.us/reader033/viewer/2022042222/5ec91015659c4e0afb367b68/html5/thumbnails/11.jpg)
better aligned people
development & operations close to the business IT no longer perceived as the bottleneck
![Page 12: An Introduction to Continuous Delivery - C-SPIN Chicago SPIN … · 2013-11-02 · An Introduction to Continuous Delivery rolf russell continuous delivery practice lead . conan the](https://reader033.vdocuments.us/reader033/viewer/2022042222/5ec91015659c4e0afb367b68/html5/thumbnails/12.jpg)
reliability & stability
John Allspaw: “Ops Metametrics” http://slidesha.re/dsSZIr
![Page 13: An Introduction to Continuous Delivery - C-SPIN Chicago SPIN … · 2013-11-02 · An Introduction to Continuous Delivery rolf russell continuous delivery practice lead . conan the](https://reader033.vdocuments.us/reader033/viewer/2022042222/5ec91015659c4e0afb367b68/html5/thumbnails/13.jpg)
time
uh ohproblem happens
wheeewproblem solved
TTR (time to recover)
time to figure out cause of
problem
time to fix
problem >>
adapted from John Allspaw
![Page 14: An Introduction to Continuous Delivery - C-SPIN Chicago SPIN … · 2013-11-02 · An Introduction to Continuous Delivery rolf russell continuous delivery practice lead . conan the](https://reader033.vdocuments.us/reader033/viewer/2022042222/5ec91015659c4e0afb367b68/html5/thumbnails/14.jpg)
progress
![Page 15: An Introduction to Continuous Delivery - C-SPIN Chicago SPIN … · 2013-11-02 · An Introduction to Continuous Delivery rolf russell continuous delivery practice lead . conan the](https://reader033.vdocuments.us/reader033/viewer/2022042222/5ec91015659c4e0afb367b68/html5/thumbnails/15.jpg)
How
![Page 16: An Introduction to Continuous Delivery - C-SPIN Chicago SPIN … · 2013-11-02 · An Introduction to Continuous Delivery rolf russell continuous delivery practice lead . conan the](https://reader033.vdocuments.us/reader033/viewer/2022042222/5ec91015659c4e0afb367b68/html5/thumbnails/16.jpg)
fast, automated feedback on the production readiness of your applications every time there is a change whether code, infrastructure, configuration or database
Jez Humble
![Page 17: An Introduction to Continuous Delivery - C-SPIN Chicago SPIN … · 2013-11-02 · An Introduction to Continuous Delivery rolf russell continuous delivery practice lead . conan the](https://reader033.vdocuments.us/reader033/viewer/2022042222/5ec91015659c4e0afb367b68/html5/thumbnails/17.jpg)
continuous delivery
software always production ready releases tied to business needs, not IT constraints
minimize the lead time from idea to live
concept to cash
time small feature chunks
![Page 18: An Introduction to Continuous Delivery - C-SPIN Chicago SPIN … · 2013-11-02 · An Introduction to Continuous Delivery rolf russell continuous delivery practice lead . conan the](https://reader033.vdocuments.us/reader033/viewer/2022042222/5ec91015659c4e0afb367b68/html5/thumbnails/18.jpg)
systems thinking is [a philosophy] based on the belief that the component parts of a system can best be understood in the context of relationships with each other and with other systems, rather than in isolation.
![Page 19: An Introduction to Continuous Delivery - C-SPIN Chicago SPIN … · 2013-11-02 · An Introduction to Continuous Delivery rolf russell continuous delivery practice lead . conan the](https://reader033.vdocuments.us/reader033/viewer/2022042222/5ec91015659c4e0afb367b68/html5/thumbnails/19.jpg)
value stream mapping
process tool for improving the flow from a customer request to the fulfillment (concept to cash)
emphasis is on improving the whole not just the parts uses quantitative data to identify waste and inefficiency originally developed by toyota to assist in the improvement of
manufacturing and supply-chain processes
![Page 20: An Introduction to Continuous Delivery - C-SPIN Chicago SPIN … · 2013-11-02 · An Introduction to Continuous Delivery rolf russell continuous delivery practice lead . conan the](https://reader033.vdocuments.us/reader033/viewer/2022042222/5ec91015659c4e0afb367b68/html5/thumbnails/20.jpg)
value stream mapping
requirement discovery
lead-time 4 wks 4 wks 6 wks 1 wk 4 wks 1 wk 1wk
requirement definition
release
uat integration
testing automated testing
coding
value-add-time 2 days 1 wk 4 wks 2 days 1 wk 1 day 4 hrs complete & accurate 30% 50% 25% 40% 80% 90% 80%
![Page 21: An Introduction to Continuous Delivery - C-SPIN Chicago SPIN … · 2013-11-02 · An Introduction to Continuous Delivery rolf russell continuous delivery practice lead . conan the](https://reader033.vdocuments.us/reader033/viewer/2022042222/5ec91015659c4e0afb367b68/html5/thumbnails/21.jpg)
value stream mapping
requirement discovery
lead-time 4 wks 4 wks 6 wks 1 wk 4 wks 1 wk 1wk
requirement definition
release
uat integration
testing automated testing
coding
value-add-time 2 days 1 wk 4 wks 2 days 1 wk 1 day 4 hrs complete & accurate 60% 50% 25% 40% 80% 90% 80%
![Page 22: An Introduction to Continuous Delivery - C-SPIN Chicago SPIN … · 2013-11-02 · An Introduction to Continuous Delivery rolf russell continuous delivery practice lead . conan the](https://reader033.vdocuments.us/reader033/viewer/2022042222/5ec91015659c4e0afb367b68/html5/thumbnails/22.jpg)
while (true) {if (change checked into vcs) then build & testsleep 60
}
![Page 23: An Introduction to Continuous Delivery - C-SPIN Chicago SPIN … · 2013-11-02 · An Introduction to Continuous Delivery rolf russell continuous delivery practice lead . conan the](https://reader033.vdocuments.us/reader033/viewer/2022042222/5ec91015659c4e0afb367b68/html5/thumbnails/23.jpg)
step 1 - continuous integration
![Page 24: An Introduction to Continuous Delivery - C-SPIN Chicago SPIN … · 2013-11-02 · An Introduction to Continuous Delivery rolf russell continuous delivery practice lead . conan the](https://reader033.vdocuments.us/reader033/viewer/2022042222/5ec91015659c4e0afb367b68/html5/thumbnails/24.jpg)
Curre
nt St
ate
Developer build
Release planIteration kick-off
Check-in
CI fast
CI slow
Dry run Sign-o
ff
Deploym
ent
Product
ion
Manual testing
Regression testing
Release build
Automated
Functional Tests
Implement
planning
Batchsize
Measurement & Feedback
Map your deployment pipeline
are you ready to change?© ThoughtWorks, Inc 2011
full production pipeline
faster feedback
![Page 25: An Introduction to Continuous Delivery - C-SPIN Chicago SPIN … · 2013-11-02 · An Introduction to Continuous Delivery rolf russell continuous delivery practice lead . conan the](https://reader033.vdocuments.us/reader033/viewer/2022042222/5ec91015659c4e0afb367b68/html5/thumbnails/25.jpg)
full production pipeline
automated implementation of your system’s build, deploy, test, approval processes
! visibility ! traceability ! compliance
![Page 26: An Introduction to Continuous Delivery - C-SPIN Chicago SPIN … · 2013-11-02 · An Introduction to Continuous Delivery rolf russell continuous delivery practice lead . conan the](https://reader033.vdocuments.us/reader033/viewer/2022042222/5ec91015659c4e0afb367b68/html5/thumbnails/26.jpg)
treat everything like code
check in, automate, test in CI, promote in deployment pipeline
• database: DDL & static data
• deployment automation
• infrastructure/configuration mgmt
• monitoring configuration
![Page 27: An Introduction to Continuous Delivery - C-SPIN Chicago SPIN … · 2013-11-02 · An Introduction to Continuous Delivery rolf russell continuous delivery practice lead . conan the](https://reader033.vdocuments.us/reader033/viewer/2022042222/5ec91015659c4e0afb367b68/html5/thumbnails/27.jpg)
treat servers like cattle, not pets
![Page 28: An Introduction to Continuous Delivery - C-SPIN Chicago SPIN … · 2013-11-02 · An Introduction to Continuous Delivery rolf russell continuous delivery practice lead . conan the](https://reader033.vdocuments.us/reader033/viewer/2022042222/5ec91015659c4e0afb367b68/html5/thumbnails/28.jpg)
adhere to the test pyramid
Adapted from Mike Cohn (Automated Test Pyramid) and Lisa Crispin & Janet Gregory (Agile Testing)
![Page 29: An Introduction to Continuous Delivery - C-SPIN Chicago SPIN … · 2013-11-02 · An Introduction to Continuous Delivery rolf russell continuous delivery practice lead . conan the](https://reader033.vdocuments.us/reader033/viewer/2022042222/5ec91015659c4e0afb367b68/html5/thumbnails/29.jpg)
P1 P2
G2 G3G1 G4
P3 P4 P5
G5 G6
B1 B2
G1
G1
P1
P1B1
P2
B1
P1-2
G2
G2
P3
G2
P3
B2
P4
B2
G3
P3G3
G3
P4
P4 P5
P4-5
G4
G4 G5 G6
P2
Professor Plum
Reverend Green
Mainline
trunk based development
branches discourage refactoring branches delay integration and hide risk
merging wastes time and is tedious
![Page 30: An Introduction to Continuous Delivery - C-SPIN Chicago SPIN … · 2013-11-02 · An Introduction to Continuous Delivery rolf russell continuous delivery practice lead . conan the](https://reader033.vdocuments.us/reader033/viewer/2022042222/5ec91015659c4e0afb367b68/html5/thumbnails/30.jpg)
trunk based development
feature toggles let you deploy incomplete features turned off branch-by-abstraction lets you make architectural changes
![Page 31: An Introduction to Continuous Delivery - C-SPIN Chicago SPIN … · 2013-11-02 · An Introduction to Continuous Delivery rolf russell continuous delivery practice lead . conan the](https://reader033.vdocuments.us/reader033/viewer/2022042222/5ec91015659c4e0afb367b68/html5/thumbnails/31.jpg)
consistency from development to production
accidental inconsistency
necessary inconsistency >>
deployment process
environment configuration
testing tools
![Page 32: An Introduction to Continuous Delivery - C-SPIN Chicago SPIN … · 2013-11-02 · An Introduction to Continuous Delivery rolf russell continuous delivery practice lead . conan the](https://reader033.vdocuments.us/reader033/viewer/2022042222/5ec91015659c4e0afb367b68/html5/thumbnails/32.jpg)
pull itops onto the delivery team
sit together: biz, dev, qa & sysadmin
share KPIs for stability and change
same story wall and iterations
![Page 33: An Introduction to Continuous Delivery - C-SPIN Chicago SPIN … · 2013-11-02 · An Introduction to Continuous Delivery rolf russell continuous delivery practice lead . conan the](https://reader033.vdocuments.us/reader033/viewer/2022042222/5ec91015659c4e0afb367b68/html5/thumbnails/33.jpg)
“in production”? “live”?
what does “in production” mean today?
what does “live” mean? is it a binary state?
how can we take advantage of shades of grey in “live”?
![Page 34: An Introduction to Continuous Delivery - C-SPIN Chicago SPIN … · 2013-11-02 · An Introduction to Continuous Delivery rolf russell continuous delivery practice lead . conan the](https://reader033.vdocuments.us/reader033/viewer/2022042222/5ec91015659c4e0afb367b68/html5/thumbnails/34.jpg)
concerns
reliability & stability compliance & traceability
releasing 10 times/day • don’t need to, just keep your code always production releasable
complexity of my systems • its about continuous improvement. start with low hanging fruit
it will take investment • yes it will, but it will also start paying dividends quickly
![Page 35: An Introduction to Continuous Delivery - C-SPIN Chicago SPIN … · 2013-11-02 · An Introduction to Continuous Delivery rolf russell continuous delivery practice lead . conan the](https://reader033.vdocuments.us/reader033/viewer/2022042222/5ec91015659c4e0afb367b68/html5/thumbnails/35.jpg)
homework
how long would it take your organization to get a one line code change into production
using the normal process?
Mary & Tom Poppendieck Implementing Lean Software Development
![Page 36: An Introduction to Continuous Delivery - C-SPIN Chicago SPIN … · 2013-11-02 · An Introduction to Continuous Delivery rolf russell continuous delivery practice lead . conan the](https://reader033.vdocuments.us/reader033/viewer/2022042222/5ec91015659c4e0afb367b68/html5/thumbnails/36.jpg)
Q&A
![Page 37: An Introduction to Continuous Delivery - C-SPIN Chicago SPIN … · 2013-11-02 · An Introduction to Continuous Delivery rolf russell continuous delivery practice lead . conan the](https://reader033.vdocuments.us/reader033/viewer/2022042222/5ec91015659c4e0afb367b68/html5/thumbnails/37.jpg)
Thank you!
![Page 38: An Introduction to Continuous Delivery - C-SPIN Chicago SPIN … · 2013-11-02 · An Introduction to Continuous Delivery rolf russell continuous delivery practice lead . conan the](https://reader033.vdocuments.us/reader033/viewer/2022042222/5ec91015659c4e0afb367b68/html5/thumbnails/38.jpg)
extra credit: lean startup movement
approach to managing disruptive innovation
goal of startups is to learn • true for everyone early in the innovation cycle
learning should not be adhoc • be rigorous & use the scientific method • hypothesis -> experiment -> analysis