1 / 43

Goal: Delight customer with frequent high-quality production releases.

Goal: Delight customer with frequent high-quality production releases. Scaled Agile Release Strategy. Presented By: James Carpenter. Goal: Delight customer with frequent high-quality production releases. Focus On the Goal. Hot Deploy Rollback Strategy Cadence Good Testing.

kinsey
Download Presentation

Goal: Delight customer with frequent high-quality production releases.

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

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. Feature Toggles Goal: Delight customer with frequent high-quality production releases. Mainline (no toggles) Mainline (with toggles) Feature A Feature A Feature B Feature B If( cfg.isFeatureAEnabled() ) { //new behavior } else { //old behavior }

  7. Stateless Services Goal: Delight customer with frequent high-quality production releases. Server Node 1 Req. 1 Node Affinity Req. 2 Client Server Node 2 Load Balancer Server Node 3

  8. Wire Protocols V5 Older Server (v5) Older Client (v5) V5 Goal: Delight customer with frequent high-quality production releases.

  9. V5 Older Server (v5) Older Client (v5) V5 V6 Newer Server (v6) Newer Client (v6) V6 Goal: Delight customer with frequent high-quality production releases.

  10. V5 Older Server (v5) Older Client (v5) V5 V5 V6 V5 Newer Server (v5&6) Newer Client (v6) V6 Goal: Delight customer with frequent high-quality production releases.

  11. Deployment Cadence

  12. Scrum Team 1 Scrum Team 2 System B Code System A Code Goal: Delight customer with frequent high-quality production releases.

  13. Mainline System A Mainline System B DC-A 2.3 Scrum Team 1 & 2 DC-A 2.2 DC-A 2.1 DC-A 1.2 DC-A 1.1 DC-B 1.2 DC-B 1.1 Goal: Delight customer with frequent high-quality production releases.

  14. Team 2 (Scrum) Team 4 (Waterfall) Team 1 (Scrum) Team 3 (Kanban) System A Code System B Code 3rd Party 2 (RUP) Remote (XP) Team 8 (RUP) 3rd Party 1 (Crazy)

  15. Automated Load Tests (1 day) Manual Smoke Test (3 hours) Automated GUI Tests (2 hours) Automated Integration Tests (1 hour) Automated Unit Tests (5 minutes)

  16. Mainline System A Mainline System B DC-A 2.3 All Teams DC-A 2.2 DC-A 2.1 DC-A 1.2 RIP RIP RIP DC-B 1.2 DC-A 1.1 DC-B 1.1 Goal: Delight customer with frequent high-quality production releases.

  17. Mainline System A Mainline System A DC-A 2.3 DC-A 2.3 DC-A 2.2 DC-A 2.2 DC-A 2.1 DC-A 2.1 DC-A 1.2 RIP RIP DC-A 1.2 DC-A 1.1 DC-A 1.1 Goal: Delight customer with frequent high-quality production releases.

  18. Goal: Delight customer with frequent high-quality production releases. Y1 Client Y2 DB-Y LB X1 Z1 Y3 X2 Z2 DB-X DB-Z LB LB X3 Z3

  19. Goal: Delight customer with frequent high-quality production releases. System is Online With Old Version X1 X2 DB-X Client LB X3

  20. Goal: Delight customer with frequent high-quality production releases. X1 Define Feature Toggle in Off Position X2 DB-X Client LB X3

  21. Goal: Delight customer with frequent high-quality production releases. Execute Pre-Deploy DB Script X1 X2 DB-X Client LB X3

  22. Goal: Delight customer with frequent high-quality production releases. Remove X1 From Rotation X1 X2 DB-X Client LB X3

  23. Goal: Delight customer with frequent high-quality production releases. Shutdown X1 X1 X2 DB-X Client LB X3

  24. Goal: Delight customer with frequent high-quality production releases. Upgrade X1 X1 X2 DB-X Client LB X3

  25. Goal: Delight customer with frequent high-quality production releases. Startup X1 X1 X2 DB-X Client LB X3

  26. Goal: Delight customer with frequent high-quality production releases. Place X1 Back Into Rotation X1 X2 DB-X Client LB X3

  27. Goal: Delight customer with frequent high-quality production releases. Remove X2 From Rotation X1 X2 DB-X Client LB X3

  28. Goal: Delight customer with frequent high-quality production releases. X1 Shutdown X2 X2 DB-X Client LB X3

  29. Goal: Delight customer with frequent high-quality production releases. X1 Upgrade X2 X2 DB-X Client LB X3

  30. Goal: Delight customer with frequent high-quality production releases. X1 Startup X2 X2 DB-X Client LB X3

  31. Goal: Delight customer with frequent high-quality production releases. Place X2 Back Into Rotation X1 X2 DB-X Client LB X3

  32. Goal: Delight customer with frequent high-quality production releases. Remove X3 From Rotation X1 X2 DB-X Client LB X3

  33. Goal: Delight customer with frequent high-quality production releases. X1 X2 DB-X Client LB Shutdown X3 X3

  34. Goal: Delight customer with frequent high-quality production releases. X1 X2 DB-X Client LB Upgrade X3 X3

  35. Goal: Delight customer with frequent high-quality production releases. X1 X2 DB-X Client LB Startup X3 X3

  36. Goal: Delight customer with frequent high-quality production releases. Place X3 Back Into Rotation X1 X2 DB-X Client LB X3

  37. Goal: Delight customer with frequent high-quality production releases. Execute Post-Deploy DB Script X1 X2 DB-X Client LB X3

  38. Goal: Delight customer with frequent high-quality production releases. X1 Flip Feature Toggle to On Position X2 DB-X Client LB X3

  39. Goal: Delight customer with frequent high-quality production releases. System is Online With New Version X1 X2 DB-X Client LB X3

  40. Define Feature Toggles (Toggles: Off) • Execute Pre-Deploy DB Script • Per-Node Deployment • Remove from rotation • Shutdown • Upgrade • Startup • Return to rotation • Execute Post-Deploy DB Script • Feature Toggles On

  41. Partial Deployment • Minimize Permutations • Rollback • Automation • Momentum • Abandoned Toggles

  42. Questions? James Carpenter jcarpenter621@yahoo.com http://www.linkedin.com/in/jamescarpenter1

More Related