Presentation is loading. Please wait.

Presentation is loading. Please wait.

Goal: Delight customer with frequent high-quality production releases. Scaled Agile Release Strategy Presented By: James Carpenter.

Similar presentations


Presentation on theme: "Goal: Delight customer with frequent high-quality production releases. Scaled Agile Release Strategy Presented By: James Carpenter."— Presentation transcript:

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.

18

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


Download ppt "Goal: Delight customer with frequent high-quality production releases. Scaled Agile Release Strategy Presented By: James Carpenter."

Similar presentations


Ads by Google