Upload
stimualnt
View
213
Download
0
Embed Size (px)
Citation preview
8/16/2019 Continuous Delivery.ppt
1/39
http://thoughtworks-studios.com
/
Continuous Delivery Jez Humble
@jezhumble
http://thoughtworks-studios.com/http://thoughtworks-studios.com/http://thoughtworks-studios.com/http://thoughtworks-studios.com/
8/16/2019 Continuous Delivery.ppt
2/39
agile 101
Iteration 0 1 2 3 4
Analysis + Design
Development
Testing + Showcase
Integration + QA Release and operation
Customer
Centralized QA IT Operations
"Agile" team
The "last mile"
8/16/2019 Continuous Delivery.ppt
3/39
web 2.0
disrupting traditional businesses
http://code.flickr.com/
http://code.flickr.com/http://code.flickr.com/
8/16/2019 Continuous Delivery.ppt
4/39
releasing frequently
1. build the right thing
Eric Ries, “The Lean Startup” http://bit.ly/8ZoX5F
Customer
development
Agile product
development
8/16/2019 Continuous Delivery.ppt
5/39
innovate
You can't just askcustomers what
they want and then
try to give that tothem.
By the time you getit built, they'll want
something new.Steve Jobs
8/16/2019 Continuous Delivery.ppt
6/39
scientific method
create hypothesis
deliver minimum
viable product
get feedback
(repeat)Eric Ries, The Lean Startup
Ideas
CodeData
Build
Measure
Learn
8/16/2019 Continuous Delivery.ppt
7/39
ask this question
“How long would it take your
organization to deploy a changethat involved just one single line
of code? Do you do this on a
repeatable, reliable basis?”
Mary and Tom Poppendieck, Implementing Lean Software Development, p59.
8/16/2019 Continuous Delivery.ppt
8/39
releasing frequently
1. build the right thing
2. reduce risk of release
John Allspaw: “Ops Metametrics” http://slidesha.re/dsSZIr
http://slidesha.re/dsSZIrhttp://slidesha.re/dsSZIr
8/16/2019 Continuous Delivery.ppt
9/39
releasing frequently
1. build the right thing
2. reduce risk of release
3. real project progress
8/16/2019 Continuous Delivery.ppt
10/39
agile manifesto
Our highest priority is to satisfythe customer through early
and continuous delivery of
valuable soware
8/16/2019 Continuous Delivery.ppt
11/39
Fast, automated feedback on
the production readiness ofyour applications every time
there is a change - to code,
infrastructure, or configuration
production-ready soware
8/16/2019 Continuous Delivery.ppt
12/39
Soware always production ready
Releases tied to business needs, not
operational constraints
Customer
Delivery teamConstant flow of new features into production
continuous delivery
8/16/2019 Continuous Delivery.ppt
13/39
automation
patterns and practices
collaboration
continuous delivery
8/16/2019 Continuous Delivery.ppt
14/39
configuration management
continuous integration
automated testing
ingredients
8/16/2019 Continuous Delivery.ppt
15/39
Mainline Server
Develop
Build
Build
pull
Local
Workstation
Build
push
!Done!
8/16/2019 Continuous Delivery.ppt
16/39
Everyone Commits
To the Mainline
Every Day
http://martinfowler.com/articles/continuousIntegration.html#EveryoneCommitsToTheMainlineEveryDayhttp://martinfowler.com/articles/continuousIntegration.html#EveryoneCommitsToTheMainlineEveryDayhttp://martinfowler.com/articles/continuousIntegration.html#EveryoneCommitsToTheMainlineEveryDayhttp://martinfowler.com/articles/continuousIntegration.html#EveryoneCommitsToTheMainlineEveryDayhttp://martinfowler.com/articles/continuousIntegration.html#EveryoneCommitsToTheMainlineEveryDayhttp://martinfowler.com/articles/continuousIntegration.html#EveryoneCommitsToTheMainlineEveryDayhttp://martinfowler.com/articles/continuousIntegration.html#EveryoneCommitsToTheMainlineEveryDayhttp://martinfowler.com/articles/continuousIntegration.html#EveryoneCommitsToTheMainlineEveryDay
8/16/2019 Continuous Delivery.ppt
17/39
build quality in
“Cease dependence on
mass inspection to achieve
quality. Improve theprocess and build quality
into the product in the first
place”
W. Edwards Deming
8/16/2019 Continuous Delivery.ppt
18/39
8/16/2019 Continuous Delivery.ppt
19/39
visibility
an automated implementation of your
system’s build, deploy, test, release process
control
feedback
deployment pipeline
8/16/2019 Continuous Delivery.ppt
20/39
deployment pipeline
Delivery team Version control Build & unittests
Automatedacceptance tests
User acceptancetests
Release
Check in
Feedback
Trigger
Check in
Feedback
Trigger
Trigger
Check in Trigger
Trigger
Approval
Approval
Feedback
Feedback
Feedback
Feedback
8/16/2019 Continuous Delivery.ppt
21/39
deployment pipeline
8/16/2019 Continuous Delivery.ppt
22/39
deployment pipeline
8/16/2019 Continuous Delivery.ppt
23/39
incrementalism
devops
decoupling deployment and release
reducing release risk
8/16/2019 Continuous Delivery.ppt
24/39
culture
automation
measurementsharing
devops
8/16/2019 Continuous Delivery.ppt
25/39
low risk releasesare incremental
blue-green deployments
canary releases
dark launching
production immune system
feature toggles
8/16/2019 Continuous Delivery.ppt
26/39
STATIC CONTENT
/static/1.1
/static/1.0
DEPENDENT SERVICE
1.0 1.1
Abstraction layer Abstraction layer
APPLICATION
Database
Router / Load balancer
Interwebs
8/16/2019 Continuous Delivery.ppt
27/39
blue-greendeployments
8/16/2019 Continuous Delivery.ppt
28/39
router
web
serverapp
server
DB
server
8/16/2019 Continuous Delivery.ppt
29/39
router
v1.1 v1.1 v1.1
web
serverapp
server
DB
server
8/16/2019 Continuous Delivery.ppt
30/39
router
v1.1 v1.1 v1.1
web
serverapp
server
DB
server
v1.2 v1.2 v1.2
8/16/2019 Continuous Delivery.ppt
31/39
router
v1.1 v1.1 v1.1
web
serverapp
server
DB
server
v1.2 v1.2 v1.2
8/16/2019 Continuous Delivery.ppt
32/39
release !=deployment
8/16/2019 Continuous Delivery.ppt
33/39
feature toggles
[featureToggles]
wobblyFoobars: true
flightyForkHandles: false
Config File
... various UI elements
some. h
$fork_handle = ($featureConfig->isOn(‘flightlyForkHandles)) ?
new flightyForkHander(aCandle) :
new forkHandler(aCandle);
other.php
Stolen from Martin Fowler http://martinfowler.com/bliki/FeatureToggle.html
http://martinfowler.com/bliki/FeatureToggle.htmlhttp://martinfowler.com/bliki/FeatureToggle.htmlhttp://martinfowler.com/bliki/FeatureToggle.html
8/16/2019 Continuous Delivery.ppt
34/39
Dark Launching
8/16/2019 Continuous Delivery.ppt
35/39
8/16/2019 Continuous Delivery.ppt
36/39
8/16/2019 Continuous Delivery.ppt
37/39
segregation of duties
risk management
SOX, ITIL, COBIT
auditing and compliance
change management
enterprise governance
8/16/2019 Continuous Delivery.ppt
38/39
big, visible displays
inceptions, showcases, retrospectives
rotate people, share the pain
continuous improvement (kaizen)
people are the key
8/16/2019 Continuous Delivery.ppt
39/39
h // h h k di /
questions
[email protected]://continuousdelivery.com/
@jezhumble #continuousdelivery
© 2011 ThoughtWorks, Inc.
http://thoughtworks-studios.com/http://thoughtworks-studios.com/http://thoughtworks-studios.com/http://continuousdelivery.com/http://continuousdelivery.com/mailto:[email protected]:[email protected]://thoughtworks-studios.com/