Beyond Continuous Delivery at ThoughtWorks North America Away Day
-
Upload
chris-hilton -
Category
Technology
-
view
445 -
download
0
Transcript of Beyond Continuous Delivery at ThoughtWorks North America Away Day
Continuous Delivery
• Frequent, automated releases
• Every check-in is a potential release
• Every change triggers feedback
• Feedback must be received as soon
as possible
• Automate almost everything
• Build quality in
Assumptions
• Trunk-based development
• Continuous
integration/delivery/deployment
• Cloud computing
– Cheap
– Unlimited
App WAR
A JAR
Common JAR
B JAR
Modular Development and
Dependency Management
App WAR
A JAR
Common JAR
B JAR
Dependency Management
and Modular Development
Base VM
Isolation Tests
IT Scripts
Env Scripts App WAR
A JAR
Common JAR
B JAR
Infrastructure as Code
Application InfrastructureIntegration
Base VM
Isolation Tests Isolation Tests
Integration Tests
Other App Env Scripts
IT Scripts
Env Scripts App WAR
A JAR
Common JAR
B JAR
Infrastructure as Code
Application InfrastructureIntegration
Base VM
Isolation Tests Isolation Tests
Production
Staging
Integration Tests
Other App Env Scripts
IT Scripts
Env Scripts App WAR
A JAR
Common JAR
B JAR
Infrastructure as Code
Application InfrastructureIntegration
Semi-Fluid Dependencies
Semi-Fluid Dependencies
Semi-Fluid Dependencies
Cloneable Pipelines
Application InfrastructureIntegration
Base VM
Isolation Tests Isolation Tests
Production
Staging
Integration Tests
Other App Env Scripts
IT Scripts
Env Scripts App WAR3.6
A JAR2.3
Common JAR4.3
B JAR1.4
2.3 : 2.0+ 1.4 : 1.0+
4.3 : 4.0+ 4.3 : 4.0+
Staging
Integration Tests
Isolation Tests
App WAR
A JAR B JAR
Common JAR
Pre-Flight Pipelines
Base VM
Isolation Tests Isolation Tests
Production
Staging
Integration Tests
Other App Env Scripts
IT Scripts
Env Scripts App WAR3.6
A JAR2.3
Common JAR4.3
B JAR1.4
2.3 : 2.0+ 1.4 : 1.0+
4.3 : 4.0+ 4.3 : 4.0+
Staging
Integration Tests
Isolation Tests
App WAR
A JAR B JAR
Common JAR
Application InfrastructureIntegration
Pre-Flight Pipelines
Base VM
Isolation Tests Isolation Tests
Production
Staging
Integration Tests
Other App Env Scripts
IT Scripts
Env Scripts App WAR3.6
A JAR2.3
Common JAR4.3
B JAR1.4
2.3 : 2.0+ 1.4 : 1.0+
4.3 : 4.0+ 4.3 : 4.0+
Staging
Integration Tests
Isolation Tests
App WAR
A JAR B JAR
Common JAR
Application InfrastructureIntegration
Pre-Flight Pipelines In Action
trunk
Pre-Flight Pipelines In Action
trunk
devops A
Pre-Flight Pipelines In Action
trunk
devops A
devops B
Pre-Flight Pipelines In Action
trunk
devops A
devops B
Pre-Flight Pipelines In Action
trunk
devops A
devops B
Pre-Flight Pipelines In Action
trunk
devops A
devops B
Pre-Flight Pipelines In Action
trunk
devops A
devops B
devops C
Pre-Flight Pipelines In Action
trunk
devops A
devops B
devops C
Evergreen Trunks
n
n + 1
Quantum Pipelines
n
n + 1
n + 2 n + 1 + 2
n + 2
Quantum Pipelines
n
n + 1
n + 2 n + 1 + 2
n + 2 -
Quantum Pipelines
n
n + 1
n + 2 n + 1 + 2
n + 2
n + 3 n + 1 + 2 + 3
n + 2 + 3
n + 1 + 3
n + 3
-
--
Evergreen Trunks
n
n + 1
n + 2 n + 1 + 2
n + 2
n + 3 n + 1 + 2 + 3
n + 2 + 3
n + 1 + 3
n + 3
-
--
-
Extreme Integration
trunk
extreme
workspace
Extreme Integration
trunk
extreme
workspace
Extreme Integration
trunk
extreme
workspace
Cloud IDE
IDE
Dev
QA
Ops
Prod
Project Manager
Prod
Project Manager
Prod
Project Manager
Infra
Prod
Operations
Infra
Prod
Operations
Infra
Prod
Operations
Infra
Prod
Operations
Infra
Prod
JAR
Back-end Developer
Infra
Prod
JAR
Back-end Developer
Infra
Prod
JAR
Back-end Developer
Infra
Prod
JAR
Back-end Developer
Infra WAR
Prod
JAR
Web Developer
Infra WAR
Prod
JAR
Web Developer
Infra WAR
Prod
JAR
Web Developer
Infra WAR
Prod
JAR
Web Developer
Infra WAR
Prod
JAR
Operations
Infra WAR
Prod
JAR
Operations
Infra WAR
Prod
JAR
Operations
Infra WAR
Prod
JAR
Operations
Beyond Continuous Delivery
Chris Hilton
@dirtyagile
Graphics: Matthew Tobiasz