Continous Delivery in Action
-
date post
21-Oct-2014 -
Category
Technology
-
view
1.348 -
download
2
description
Transcript of Continous Delivery in Action
![Page 1: Continous Delivery in Action](https://reader034.fdocuments.in/reader034/viewer/2022051512/5445ce24afaf9fef2a8b4687/html5/thumbnails/1.jpg)
CONTINUOUS DELIVERY
in Action
by Hu Zhenbo (Andy) ThoughtWorks
Friday, April 27, 2012
![Page 2: Continous Delivery in Action](https://reader034.fdocuments.in/reader034/viewer/2022051512/5445ce24afaf9fef2a8b4687/html5/thumbnails/2.jpg)
History
Friday, April 27, 2012
![Page 3: Continous Delivery in Action](https://reader034.fdocuments.in/reader034/viewer/2022051512/5445ce24afaf9fef2a8b4687/html5/thumbnails/3.jpg)
years
4
Friday, April 27, 2012
![Page 4: Continous Delivery in Action](https://reader034.fdocuments.in/reader034/viewer/2022051512/5445ce24afaf9fef2a8b4687/html5/thumbnails/4.jpg)
Millions
0
25
50
75
100
2008 2009 2010 2011
Page Views/Day
Friday, April 27, 2012
![Page 5: Continous Delivery in Action](https://reader034.fdocuments.in/reader034/viewer/2022051512/5445ce24afaf9fef2a8b4687/html5/thumbnails/5.jpg)
0
17.5
35
52.5
70
2008 2009 2010 2011
Team Size70+
Friday, April 27, 2012
![Page 6: Continous Delivery in Action](https://reader034.fdocuments.in/reader034/viewer/2022051512/5445ce24afaf9fef2a8b4687/html5/thumbnails/6.jpg)
2008 2009 2010 2011
Features Delivered Days between major releases
Friday, April 27, 2012
![Page 7: Continous Delivery in Action](https://reader034.fdocuments.in/reader034/viewer/2022051512/5445ce24afaf9fef2a8b4687/html5/thumbnails/7.jpg)
major releases per year
3
Friday, April 27, 2012
![Page 8: Continous Delivery in Action](https://reader034.fdocuments.in/reader034/viewer/2022051512/5445ce24afaf9fef2a8b4687/html5/thumbnails/8.jpg)
days to deploy
20
Friday, April 27, 2012
![Page 9: Continous Delivery in Action](https://reader034.fdocuments.in/reader034/viewer/2022051512/5445ce24afaf9fef2a8b4687/html5/thumbnails/9.jpg)
people involved in deployment
30
Friday, April 27, 2012
![Page 10: Continous Delivery in Action](https://reader034.fdocuments.in/reader034/viewer/2022051512/5445ce24afaf9fef2a8b4687/html5/thumbnails/10.jpg)
Angry CustomerFriday, April 27, 2012
![Page 11: Continous Delivery in Action](https://reader034.fdocuments.in/reader034/viewer/2022051512/5445ce24afaf9fef2a8b4687/html5/thumbnails/11.jpg)
Sad TeamFriday, April 27, 2012
![Page 12: Continous Delivery in Action](https://reader034.fdocuments.in/reader034/viewer/2022051512/5445ce24afaf9fef2a8b4687/html5/thumbnails/12.jpg)
Why?
Friday, April 27, 2012
![Page 13: Continous Delivery in Action](https://reader034.fdocuments.in/reader034/viewer/2022051512/5445ce24afaf9fef2a8b4687/html5/thumbnails/13.jpg)
RequirementFriday, April 27, 2012
![Page 14: Continous Delivery in Action](https://reader034.fdocuments.in/reader034/viewer/2022051512/5445ce24afaf9fef2a8b4687/html5/thumbnails/14.jpg)
Fragile SystemFriday, April 27, 2012
![Page 15: Continous Delivery in Action](https://reader034.fdocuments.in/reader034/viewer/2022051512/5445ce24afaf9fef2a8b4687/html5/thumbnails/15.jpg)
Deploy to DeathFriday, April 27, 2012
![Page 16: Continous Delivery in Action](https://reader034.fdocuments.in/reader034/viewer/2022051512/5445ce24afaf9fef2a8b4687/html5/thumbnails/16.jpg)
2008 2009 2010 2011 2012
Features Delivered Days between major releases
Friday, April 27, 2012
![Page 17: Continous Delivery in Action](https://reader034.fdocuments.in/reader034/viewer/2022051512/5445ce24afaf9fef2a8b4687/html5/thumbnails/17.jpg)
delivery frequency
every 1 or 2 week
Friday, April 27, 2012
![Page 18: Continous Delivery in Action](https://reader034.fdocuments.in/reader034/viewer/2022051512/5445ce24afaf9fef2a8b4687/html5/thumbnails/18.jpg)
days to deploy
0.5
Friday, April 27, 2012
![Page 19: Continous Delivery in Action](https://reader034.fdocuments.in/reader034/viewer/2022051512/5445ce24afaf9fef2a8b4687/html5/thumbnails/19.jpg)
person dedicated for deployment
1
Friday, April 27, 2012
![Page 20: Continous Delivery in Action](https://reader034.fdocuments.in/reader034/viewer/2022051512/5445ce24afaf9fef2a8b4687/html5/thumbnails/20.jpg)
How’d we do it?
Friday, April 27, 2012
![Page 21: Continous Delivery in Action](https://reader034.fdocuments.in/reader034/viewer/2022051512/5445ce24afaf9fef2a8b4687/html5/thumbnails/21.jpg)
One TeamFriday, April 27, 2012
![Page 22: Continous Delivery in Action](https://reader034.fdocuments.in/reader034/viewer/2022051512/5445ce24afaf9fef2a8b4687/html5/thumbnails/22.jpg)
CollaborationFriday, April 27, 2012
![Page 23: Continous Delivery in Action](https://reader034.fdocuments.in/reader034/viewer/2022051512/5445ce24afaf9fef2a8b4687/html5/thumbnails/23.jpg)
Friday, April 27, 2012
![Page 24: Continous Delivery in Action](https://reader034.fdocuments.in/reader034/viewer/2022051512/5445ce24afaf9fef2a8b4687/html5/thumbnails/24.jpg)
Friday, April 27, 2012
![Page 25: Continous Delivery in Action](https://reader034.fdocuments.in/reader034/viewer/2022051512/5445ce24afaf9fef2a8b4687/html5/thumbnails/25.jpg)
Incremental Developing
Decode 4 types of data
21 pts
Friday, April 27, 2012
![Page 26: Continous Delivery in Action](https://reader034.fdocuments.in/reader034/viewer/2022051512/5445ce24afaf9fef2a8b4687/html5/thumbnails/26.jpg)
Incremental Developing
Decode 4 types of data
21 pts
Design
5 pts
Framework
8 pts
Decode Data
8 pts
Friday, April 27, 2012
![Page 27: Continous Delivery in Action](https://reader034.fdocuments.in/reader034/viewer/2022051512/5445ce24afaf9fef2a8b4687/html5/thumbnails/27.jpg)
Incremental Developing
Decode 4 types of data
21 pts
Decode Data A
8 pts
Decode Data C
5 pts
Decode Data B
5 pts
Decode Data D
3 pts
Friday, April 27, 2012
![Page 28: Continous Delivery in Action](https://reader034.fdocuments.in/reader034/viewer/2022051512/5445ce24afaf9fef2a8b4687/html5/thumbnails/28.jpg)
Feature ToggleFriday, April 27, 2012
![Page 29: Continous Delivery in Action](https://reader034.fdocuments.in/reader034/viewer/2022051512/5445ce24afaf9fef2a8b4687/html5/thumbnails/29.jpg)
Feature ToggleFriday, April 27, 2012
![Page 30: Continous Delivery in Action](https://reader034.fdocuments.in/reader034/viewer/2022051512/5445ce24afaf9fef2a8b4687/html5/thumbnails/30.jpg)
Feature Toggle
# Feature TogglenonRealTimeRecharge = truerealTimeRecharge = false
Config File #if( $nonRealTimeRecharge )
<div>非即时到帐</div><div> ...
#end
#if( $realTimeRecharge ) <div>即时到帐</div> <div> ...#end
Page File
Friday, April 27, 2012
![Page 31: Continous Delivery in Action](https://reader034.fdocuments.in/reader034/viewer/2022051512/5445ce24afaf9fef2a8b4687/html5/thumbnails/31.jpg)
Deployment Pipeline
Commit Stagecompileanalysisunit test
...
Acceptance Test Stage
User Acceptance Testing
exploratory test...
Non-Functional Testing
performance test...
Production
Increasing confidence in build’s production readiness
Environment become more production-like
Slower Feedback
Friday, April 27, 2012
![Page 32: Continous Delivery in Action](https://reader034.fdocuments.in/reader034/viewer/2022051512/5445ce24afaf9fef2a8b4687/html5/thumbnails/32.jpg)
Deployment PipelineFriday, April 27, 2012
![Page 33: Continous Delivery in Action](https://reader034.fdocuments.in/reader034/viewer/2022051512/5445ce24afaf9fef2a8b4687/html5/thumbnails/33.jpg)
Auto-Deploy
Code Change
JarCommit
Jar
Update Portal
DependenZIP Upload
Stop Server
Unzip ConfigCreate
Log FileStart
ServerBackup
Friday, April 27, 2012
![Page 34: Continous Delivery in Action](https://reader034.fdocuments.in/reader034/viewer/2022051512/5445ce24afaf9fef2a8b4687/html5/thumbnails/34.jpg)
Auto-Deploy
Code Change
JarCommit
Jar
Update Portal
DependenZIP Upload
Stop Server
Unzip ConfigCreate
Log FileStart
ServerBackup
Friday, April 27, 2012
![Page 35: Continous Delivery in Action](https://reader034.fdocuments.in/reader034/viewer/2022051512/5445ce24afaf9fef2a8b4687/html5/thumbnails/35.jpg)
Auto-Deploy
Code Change
JarCommit
Jar
Update Portal
DependenZIP Upload
Stop Server
Unzip ConfigCreate
Log FileStart
ServerBackup
One-click Deploy
Friday, April 27, 2012
![Page 36: Continous Delivery in Action](https://reader034.fdocuments.in/reader034/viewer/2022051512/5445ce24afaf9fef2a8b4687/html5/thumbnails/36.jpg)
Components & Dependencies
Common Core
Payment
Account
Order
Portal
Admin
Mobile
Friday, April 27, 2012
![Page 37: Continous Delivery in Action](https://reader034.fdocuments.in/reader034/viewer/2022051512/5445ce24afaf9fef2a8b4687/html5/thumbnails/37.jpg)
Components & Dependencies
Common Core
Payment
Account
Order
Portal
Admin
Mobile
Friday, April 27, 2012
![Page 38: Continous Delivery in Action](https://reader034.fdocuments.in/reader034/viewer/2022051512/5445ce24afaf9fef2a8b4687/html5/thumbnails/38.jpg)
Components & Dependencies
Common Core
Payment
Account
Order
Portal
Admin
Mobile
Friday, April 27, 2012
![Page 39: Continous Delivery in Action](https://reader034.fdocuments.in/reader034/viewer/2022051512/5445ce24afaf9fef2a8b4687/html5/thumbnails/39.jpg)
Components & Dependencies
Common Core
Payment
Account
Order
Portal
Admin
Mobile
Friday, April 27, 2012
![Page 40: Continous Delivery in Action](https://reader034.fdocuments.in/reader034/viewer/2022051512/5445ce24afaf9fef2a8b4687/html5/thumbnails/40.jpg)
Components & Dependencies
Common Core
Payment
Account
Order
Portal
Admin
Mobile
Friday, April 27, 2012
![Page 41: Continous Delivery in Action](https://reader034.fdocuments.in/reader034/viewer/2022051512/5445ce24afaf9fef2a8b4687/html5/thumbnails/41.jpg)
Components & Dependencies
Common Core
Payment
Account
Order
Portal
Admin
Mobile
Friday, April 27, 2012
![Page 42: Continous Delivery in Action](https://reader034.fdocuments.in/reader034/viewer/2022051512/5445ce24afaf9fef2a8b4687/html5/thumbnails/42.jpg)
Test QuadrantsFriday, April 27, 2012
![Page 43: Continous Delivery in Action](https://reader034.fdocuments.in/reader034/viewer/2022051512/5445ce24afaf9fef2a8b4687/html5/thumbnails/43.jpg)
Test Pyramid
AutomatedGUI Tests
API Tests
Integration Tests
Component Tests
Automated Unit Tests
ManualSessionBasedTesting
Friday, April 27, 2012
![Page 44: Continous Delivery in Action](https://reader034.fdocuments.in/reader034/viewer/2022051512/5445ce24afaf9fef2a8b4687/html5/thumbnails/44.jpg)
Deployment Test system configuration component communication service is up and running ...
Acceptance Test
Friday, April 27, 2012
![Page 45: Continous Delivery in Action](https://reader034.fdocuments.in/reader034/viewer/2022051512/5445ce24afaf9fef2a8b4687/html5/thumbnails/45.jpg)
Performance TestFriday, April 27, 2012
![Page 46: Continous Delivery in Action](https://reader034.fdocuments.in/reader034/viewer/2022051512/5445ce24afaf9fef2a8b4687/html5/thumbnails/46.jpg)
Blue-Green Deploy
WebServer
AppServer
DBServer
Router
Friday, April 27, 2012
![Page 47: Continous Delivery in Action](https://reader034.fdocuments.in/reader034/viewer/2022051512/5445ce24afaf9fef2a8b4687/html5/thumbnails/47.jpg)
Blue-Green Deploy
WebServer
AppServer
DBServer
v5.1 v5.1 v5.1
Router
Friday, April 27, 2012
![Page 48: Continous Delivery in Action](https://reader034.fdocuments.in/reader034/viewer/2022051512/5445ce24afaf9fef2a8b4687/html5/thumbnails/48.jpg)
Blue-Green Deploy
WebServer
AppServer
DBServer
v5.1 v5.1 v5.1
Router
Friday, April 27, 2012
![Page 49: Continous Delivery in Action](https://reader034.fdocuments.in/reader034/viewer/2022051512/5445ce24afaf9fef2a8b4687/html5/thumbnails/49.jpg)
Blue-Green Deploy
WebServer
AppServer
DBServer
v5.1 v5.1 v5.1
v5.2 v5.2 v5.2
Router
Friday, April 27, 2012
![Page 50: Continous Delivery in Action](https://reader034.fdocuments.in/reader034/viewer/2022051512/5445ce24afaf9fef2a8b4687/html5/thumbnails/50.jpg)
Blue-Green Deploy
WebServer
AppServer
DBServer
v5.1 v5.1 v5.1
v5.2 v5.2 v5.2
Router
Friday, April 27, 2012
![Page 51: Continous Delivery in Action](https://reader034.fdocuments.in/reader034/viewer/2022051512/5445ce24afaf9fef2a8b4687/html5/thumbnails/51.jpg)
Data Migration
migrate - 001_create_products_table.sql - 002_add_column_to_products.sql - 003_update_data_for_products.sql
rollback - 001_create_products_table.sql - 002_add_column_to_products.sql - 003_update_data_for_products.sql
Friday, April 27, 2012
![Page 52: Continous Delivery in Action](https://reader034.fdocuments.in/reader034/viewer/2022051512/5445ce24afaf9fef2a8b4687/html5/thumbnails/52.jpg)
Green Database
v5.1
Friday, April 27, 2012
![Page 53: Continous Delivery in Action](https://reader034.fdocuments.in/reader034/viewer/2022051512/5445ce24afaf9fef2a8b4687/html5/thumbnails/53.jpg)
Green Database
v5.1readonly
Friday, April 27, 2012
![Page 54: Continous Delivery in Action](https://reader034.fdocuments.in/reader034/viewer/2022051512/5445ce24afaf9fef2a8b4687/html5/thumbnails/54.jpg)
Green Database
v5.1 v5.1
Backup
readonly
Friday, April 27, 2012
![Page 55: Continous Delivery in Action](https://reader034.fdocuments.in/reader034/viewer/2022051512/5445ce24afaf9fef2a8b4687/html5/thumbnails/55.jpg)
Green Database
v5.1 v5.1
Backup
v5.2
Migrate
readonly
Friday, April 27, 2012
![Page 56: Continous Delivery in Action](https://reader034.fdocuments.in/reader034/viewer/2022051512/5445ce24afaf9fef2a8b4687/html5/thumbnails/56.jpg)
Decouple App & Database
v5.1 v5.2 v5.3
v5.2 v5.3
compatible with db 5.1 & 5.2 compatible with db 5.2 & 5.3
Friday, April 27, 2012
![Page 57: Continous Delivery in Action](https://reader034.fdocuments.in/reader034/viewer/2022051512/5445ce24afaf9fef2a8b4687/html5/thumbnails/57.jpg)
Production Monitoring
HardwareOS
MiddlewareApplication
Voltage
Fan Speed
Temperature
CPU
Memory
HTTP
Disk
DB
DNS
SMTP
Friday, April 27, 2012
![Page 58: Continous Delivery in Action](https://reader034.fdocuments.in/reader034/viewer/2022051512/5445ce24afaf9fef2a8b4687/html5/thumbnails/58.jpg)
Production MonitoringFriday, April 27, 2012
![Page 59: Continous Delivery in Action](https://reader034.fdocuments.in/reader034/viewer/2022051512/5445ce24afaf9fef2a8b4687/html5/thumbnails/59.jpg)
Cross Functional TeamContinuous IntegrationIncremental Developing
Feature ToggleAutomate DeploymentDeployment Pipeline
Blue-Green DeploymentDatabase Migration
Production Monitoring...
Weekly Release
Friday, April 27, 2012
![Page 60: Continous Delivery in Action](https://reader034.fdocuments.in/reader034/viewer/2022051512/5445ce24afaf9fef2a8b4687/html5/thumbnails/60.jpg)
Good Enough?
Friday, April 27, 2012
![Page 61: Continous Delivery in Action](https://reader034.fdocuments.in/reader034/viewer/2022051512/5445ce24afaf9fef2a8b4687/html5/thumbnails/61.jpg)
A Long Way to Go
http://code.flickr.com/
Friday, April 27, 2012
![Page 62: Continous Delivery in Action](https://reader034.fdocuments.in/reader034/viewer/2022051512/5445ce24afaf9fef2a8b4687/html5/thumbnails/62.jpg)
Big ReleaseFriday, April 27, 2012
![Page 63: Continous Delivery in Action](https://reader034.fdocuments.in/reader034/viewer/2022051512/5445ce24afaf9fef2a8b4687/html5/thumbnails/63.jpg)
Continuous DeliveryFriday, April 27, 2012
![Page 64: Continous Delivery in Action](https://reader034.fdocuments.in/reader034/viewer/2022051512/5445ce24afaf9fef2a8b4687/html5/thumbnails/64.jpg)
blue-green deployment
canary releases
data management
dark launch
build pipeline
automatic deployment
branch by abstraction
DevOps
acceptancetest
virtualization
configurationmanagement
Version ControlSystem
could computinginfrastructure as code
Friday, April 27, 2012
![Page 65: Continous Delivery in Action](https://reader034.fdocuments.in/reader034/viewer/2022051512/5445ce24afaf9fef2a8b4687/html5/thumbnails/65.jpg)
Q & A
weibo: @HuZhenbo
Friday, April 27, 2012