Download presentation
Presentation is loading. Please wait.
Published byDamion Ursery Modified over 9 years ago
1
Goal: Delight customer with frequent high-quality production releases. Scaled Agile Release Strategy Presented By: James Carpenter
2
Goal: Delight customer with frequent high-quality production releases.
3
Focus On the Goal
4
Hot Deploy Rollback Strategy Cadence Good Testing
5
Feature Toggles Stateless SOA Backward Compatible Protocols Independent Deployment Cadence?
6
Goal: Delight customer with frequent high-quality production releases. Feature Toggles Mainline (no toggles) Feature B Feature A Feature B Feature A Mainline (with toggles) If( cfg.isFeatureAEnabled() ) { //new behavior } else { //old behavior }
7
Goal: Delight customer with frequent high-quality production releases. Stateless Services Load Balancer Req. 1 Req. 2 Node Affinity Client Server Node 1 Server Node 2 Server Node 3
8
Wire Protocols V5 Older Server (v5) Older Client (v5) Goal: Delight customer with frequent high-quality production releases.
9
V5 Older Server (v5) Older Client (v5) Newer Server (v6) Newer Client (v6) V6 Goal: Delight customer with frequent high-quality production releases.
10
V5 Older Server (v5) Older Client (v5) Newer Server (v5&6) Newer Client (v6) V5 V6 Goal: Delight customer with frequent high-quality production releases.
11
Deployment Cadence
12
Scrum Team 1Scrum Team 2 System A Code System B Code Goal: Delight customer with frequent high-quality production releases.
13
Mainline System A DC-A 1.1 DC-A 1.2 DC-A 2.1 DC-A 2.2 DC-A 2.3 Scrum Team 1 & 2 Mainline System B DC-B 1.1 DC-B 1.2 Goal: Delight customer with frequent high-quality production releases.
14
Team 2 (Scrum) System A Code System B Code Team 3 (Kanban) Team 1 (Scrum) Team 4 (Waterfall) 3 rd Party 1 (Crazy) 3 rd Party 2 (RUP) Remote (XP) Team 8 (RUP)
15
Automated Unit Tests (5 minutes) Automated Integration Tests (1 hour) Automated GUI Tests (2 hours) Manual Smoke Test (3 hours) Automated Load Tests (1 day)
16
Mainline System A DC-A 1.1 DC-A 1.2 DC-A 2.1 DC-A 2.2 DC-A 2.3 All Teams Mainline System B DC-B 1.1 DC-B 1.2 RIP Goal: Delight customer with frequent high-quality production releases.
17
Mainline System A DC-A 1.1 DC-A 1.2 DC-A 2.1 DC-A 2.2 DC-A 2.3 RIP Mainline System A DC-A 1.1 DC-A 1.2 DC-A 2.1 DC-A 2.2 DC-A 2.3 Goal: Delight customer with frequent high-quality production releases.
19
Client LB X1 X2 X3 DB-X LB Y1 Y2 Y3 DB-Y LB Z1 Z2 Z3 DB-Z
20
Goal: Delight customer with frequent high-quality production releases. Client LB X1 X2 X3 DB-X System is Online With Old Version
21
Goal: Delight customer with frequent high-quality production releases. Client LB X1 X2 X3 DB-X Define Feature Toggle in Off Position
22
Goal: Delight customer with frequent high-quality production releases. Client LB X1 X2 X3 DB-X Execute Pre-Deploy DB Script
23
Goal: Delight customer with frequent high-quality production releases. Client LB X1 X2 X3 DB-X Remove X1 From Rotation
24
Goal: Delight customer with frequent high-quality production releases. Client LB X1 X2 X3 DB-X Shutdown X1
25
Goal: Delight customer with frequent high-quality production releases. Client LB X1 X2 X3 DB-X Upgrade X1
26
Goal: Delight customer with frequent high-quality production releases. Client LB X1 X2 X3 DB-X Startup X1
27
Goal: Delight customer with frequent high-quality production releases. Client LB X1 X2 X3 DB-X Place X1 Back Into Rotation
28
Goal: Delight customer with frequent high-quality production releases. Client LB X1 X2 X3 DB-X Remove X2 From Rotation
29
Goal: Delight customer with frequent high-quality production releases. Client LB X1 X2 X3 DB-X Shutdown X2
30
Goal: Delight customer with frequent high-quality production releases. Client LB X1 X2 X3 DB-X Upgrade X2
31
Goal: Delight customer with frequent high-quality production releases. Client LB X1 X2 X3 DB-X Startup X2
32
Goal: Delight customer with frequent high-quality production releases. Client LB X1 X2 X3 DB-X Place X2 Back Into Rotation
33
Goal: Delight customer with frequent high-quality production releases. Client LB X1 X2 X3 DB-X Remove X3 From Rotation
34
Goal: Delight customer with frequent high-quality production releases. Client LB X1 X2 X3 DB-X Shutdown X3
35
Goal: Delight customer with frequent high-quality production releases. Client LB X1 X2 X3 DB-X Upgrade X3
36
Goal: Delight customer with frequent high-quality production releases. Client LB X1 X2 X3 DB-X Startup X3
37
Goal: Delight customer with frequent high-quality production releases. Client LB X1 X2 X3 DB-X Place X3 Back Into Rotation
38
Goal: Delight customer with frequent high-quality production releases. Client LB X1 X2 X3 DB-X Execute Post-Deploy DB Script
39
Goal: Delight customer with frequent high-quality production releases. Client LB X1 X2 X3 DB-X Flip Feature Toggle to On Position
40
Goal: Delight customer with frequent high-quality production releases. Client LB X1 X2 X3 DB-X System is Online With New Version
41
1.Define Feature Toggles (Toggles: Off) 2.Execute Pre-Deploy DB Script 3.Per-Node Deployment a.Remove from rotation b.Shutdown c.Upgrade d.Startup e.Return to rotation 4.Execute Post-Deploy DB Script 5.Feature Toggles On
42
Partial Deployment Minimize Permutations Rollback Automation Momentum Abandoned Toggles
43
Questions? James Carpenter jcarpenter621@yahoo.com http://www.linkedin.com/in/jamescarpenter1
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.