Patterns forCONTINUOUS DELIVERY                      @patkua
ProgrammerMe!Tech Lead                Agile Coach
ProgrammerMe!                                    http://tiny.cc/retrobookTech Lead                Agile Coach             ...
Continuous DeliveryAgile Project Management           Agile Testing
Continuous Delivery      Primer
What isContinuous Delivery Primer
What is  The capability to release  software into production  on demandContinuous Delivery Primer
What is               confidently  The capability to release  software into production  on demandContinuous Delivery Primer
Continuous Delivery Primer
Continuous Delivery Primer
Continuous Delivery Primer
Continuous Delivery Primer
Continuous Deployment is          not          the same as Continuous                             DeliveryContinuous Deliv...
Addressing the Last MileContinuous Delivery Primer
Addressing the Last MileContinuous Delivery Primer
Addressing the Last Mile        Continuous IntegrationContinuous Delivery Primer
Addressing the Last Mile        Continuous Integration   Reliable?                                 Repeatable?            ...
Patterns forCONTINUOUS DELIVERY
Architectural & Development                  Patterns for          CONTINUOUS DELIVERY
Architectural &                                 Organisational Development                  Patterns for          CONTINUO...
Architectural &                                  Organisational Development                  Patterns for          CONTINU...
Architecture andDevelopment Patterns
Pipelined BuildsArchitectural and Development Patterns
Pipelined Builds                                         ProductionArchitectural and Development Patterns
Pipelined Builds                 Automated      Automated                           Business Approval       Compile       ...
Pipelined Builds                 Automated      Automated                           Business Approval       Compile       ...
Versioned ArtefactsArchitectural and Development Patterns
Versioned ArtefactsArchitectural and Development Patterns
Versioned Artefacts                                 Continuous             Source Control                    Versioned Art...
Versioned Artefacts                                               v0.0.147                                 Continuous     ...
Versioned Artefacts                                               v0.0.147                                               v...
Versioned Artefacts                                               v0.0.147                                               v...
Versioned ArtefactsArchitectural and Development Patterns
Versioned Artefacts           v0.0.149          v0.0.149    v0.0.149    v0.0.149           v0.0.149          v0.0.149    v...
Versioned Artefacts           v0.0.149          v0.0.149    v0.0.149    v0.0.149           v0.0.149          v0.0.149    v...
External Environment            ConfigurationArchitectural and Development Patterns
External Environment            ConfigurationArchitectural and Development Patterns
External Environment            Configuration                                Build                               Process   ...
External Environment            Configuration                                Build                                         ...
External Environment            Configuration                                Build                                         ...
External Environment            Configuration                                Build                                         ...
External Environment            ConfigurationArchitectural and Development Patterns
External Environment            Configuration                                   Build                                  Proc...
External Environment            Configuration                                   Build                                  Proc...
External Environment            Configuration                                   Build                                  Proc...
Zero Downtime DeployArchitectural and Development Patterns
Zero Downtime DeployArchitectural and Development Patterns
Zero Downtime DeployArchitectural and Development Patterns
Zero Downtime DeployArchitectural and Development Patterns
Zero Downtime DeployArchitectural and Development Patterns
Products that Play WellArchitectural and Development Patterns
Products that Play WellArchitectural and Development Patterns
Products that Play Well    A Case Study:                                         http://slidesha.re/UcmR6NArchitectural an...
Products that Play Well    A Case Study:                                          http://slidesha.re/UcmR6N         Well-k...
Products that Play Well    A Case Study:                                              http://slidesha.re/UcmR6N         We...
Source Controlled               InfrastructureArchitectural and Development Patterns - Infrastructure
Scripted InfrastructureArchitectural and Development Patterns - Infrastructure
Tracer Bullet DeploymentsArchitectural and Development Patterns - Deployment
Tracer Bullet Deployments      Dev               Test             Staging      ProductionArchitectural and Development Pat...
Tracer Bullet Deployments   v0.0.1            v0.0.1             v0.0.1         v0.0.1        Dev               Test      ...
Canary ReleasesArchitectural and Development Patterns - Deployment
Canary Releases                                Router        R1        R1         R1         R1            R1   R1        ...
Canary Releases                                Router        R1        R1         R1         R1            R2   R2        ...
Blue Green DeploymentsArchitectural and Development Patterns - Deployment
Blue Green Deployments                                Router            Release N       Blue Environment                  ...
Blue Green Deployments                                Router            Release N                        Release N + 1    ...
Blue Green Deployments                                Router            Release N                        Release N + 1    ...
Blue Green Deployments                                Router            Release N                        Release N + 1    ...
Blue Green Deployments                                Router                                             Release N + 1    ...
Blue Green Deployments                                Router           Release N+2                       Release N + 1    ...
Blue Green Deployments                                Router           Release N+2                       Release N + 1    ...
Blue Green Deployments                                Router           Release N+2                       Release N + 1    ...
Push Button ReleaseArchitectural and Development Patterns - Deployment
Push Button Release        Release Steps                  1. ...                  2. ...                  3. ...          ...
Push Button Release        Release Steps                  1. ...                  2. ...                                  ...
Separate Deployments           from ReleasesArchitectural and Development Patterns - Deployment
Roll ForwardArchitectural and Development Patterns - Deployment
Short Lived Feature BranchesArchitectural and Development Patterns - Development
Short Lived Feature BranchesArchitectural and Development Patterns - Development
Short Lived Feature BranchesTrunkArchitectural and Development Patterns - Development
Short Lived Feature BranchesTrunkArchitectural and Development Patterns - Development
Short Lived Feature Branches                                   Merge            Merge                                     ...
Short Lived Feature Branches                                   Merge            Merge                                     ...
Inside Out DevelopmentArchitectural and Development Patterns - Development
Inside Out DevelopmentArchitectural and Development Patterns - Development
Inside Out Development                               DatabaseArchitectural and Development Patterns - Development
Inside Out Development                             Business Logic                               DatabaseArchitectural and ...
Inside Out Development                             Configuration                             Business Logic                ...
Inside Out Development                                   UI                             Configuration                      ...
Don’t Push Until DoneArchitectural and Development Patterns - Development
Don’t Push Until Done                                                                               ern                   ...
Parallel RoutesArchitectural and Development Patterns - Development
Parallel Routes                              Application          Current LogicArchitectural and Development Patterns - De...
Parallel Routes                              Application                  Interface          Current LogicArchitectural an...
Parallel Routes                              Application                  Interface          Current LogicArchitectural an...
Parallel Routes                              Application                  Interface          Current Logic                ...
Parallel Routes                              Application                  Interface                                       ...
Feature TogglesArchitectural and Development Patterns - Development
Feature Toggles                   Dev            Operations           BusinessGranularity       Smaller                   ...
Feature Toggles                   Dev            Operations                BusinessGranularity       Smaller              ...
Organisational Patterns
Regular VisitsOrganisational - DevOps
Pairing CultureOrganisational - DevOps
Developers Doing           Production SupportOrganisational - DevOps
Operations StakeholderOrganisational - Requirements
Small SlicesOrganisational - Requirements
Small SlicesOrganisational - Requirements
Small Slices                                                                      Business Flow            Story     Story...
Production Metric         Driven RequirementsOrganisational - Requirements
Production Metric         Driven RequirementsOrganisational - Requirements
Production Metric         Driven RequirementsOrganisational - Requirements
Anti Patterns
Livin’ On A PrayerAnti Patterns
DevOps DepartmentAnti Patterns
Labour Intensive                Release ProcessAnti Patterns
Last Minute Operations            InvolvementAnti Patterns
Snowflake ServersAnti Patterns
Concluding...           Patterns for      CONTINUOUS DELIVERY                            @patkua
@patkua
1. CD Capability done well is a competitive advantage                                                 @patkua
1. CD Capability done well is a competitive advantage2. Continuous Delivery takes effort                                  ...
1. CD Capability done well is a competitive advantage2. Continuous Delivery takes effort3. Patterns help avoid common pitf...
1. CD Capability done well is a competitive advantage2. Continuous Delivery takes effort3. Patterns help avoid common pitf...
Photo CreditsUnder the creative commons licenceU-Bahn picture: http://www.flickr.com/photos/twicepix/886124191/sizes/o/Trai...
Patterns for Continuous Delivery
Patterns for Continuous Delivery
Patterns for Continuous Delivery
Patterns for Continuous Delivery
Patterns for Continuous Delivery
Patterns for Continuous Delivery
Upcoming SlideShare
Loading in …5
×

Patterns for Continuous Delivery

3,184 views

Published on

Delivered at OOP Conference 2013

Published in: Technology

Patterns for Continuous Delivery

  1. 1. Patterns forCONTINUOUS DELIVERY @patkua
  2. 2. ProgrammerMe!Tech Lead Agile Coach
  3. 3. ProgrammerMe! http://tiny.cc/retrobookTech Lead Agile Coach Author
  4. 4. Continuous DeliveryAgile Project Management Agile Testing
  5. 5. Continuous Delivery Primer
  6. 6. What isContinuous Delivery Primer
  7. 7. What is The capability to release software into production on demandContinuous Delivery Primer
  8. 8. What is confidently The capability to release software into production on demandContinuous Delivery Primer
  9. 9. Continuous Delivery Primer
  10. 10. Continuous Delivery Primer
  11. 11. Continuous Delivery Primer
  12. 12. Continuous Delivery Primer
  13. 13. Continuous Deployment is not the same as Continuous DeliveryContinuous Delivery Primer
  14. 14. Addressing the Last MileContinuous Delivery Primer
  15. 15. Addressing the Last MileContinuous Delivery Primer
  16. 16. Addressing the Last Mile Continuous IntegrationContinuous Delivery Primer
  17. 17. Addressing the Last Mile Continuous Integration Reliable? Repeatable? Rapid? Recurring?Continuous Delivery Primer
  18. 18. Patterns forCONTINUOUS DELIVERY
  19. 19. Architectural & Development Patterns for CONTINUOUS DELIVERY
  20. 20. Architectural & Organisational Development Patterns for CONTINUOUS DELIVERY
  21. 21. Architectural & Organisational Development Patterns for CONTINUOUS DELIVERY Anti Patterns
  22. 22. Architecture andDevelopment Patterns
  23. 23. Pipelined BuildsArchitectural and Development Patterns
  24. 24. Pipelined Builds ProductionArchitectural and Development Patterns
  25. 25. Pipelined Builds Automated Automated Business Approval Compile Deployment Tests Unit Tests Acceptance Tests ProductionArchitectural and Development Patterns
  26. 26. Pipelined Builds Automated Automated Business Approval Compile Deployment Tests Unit Tests Acceptance Tests ProductionArchitectural and Development Patterns
  27. 27. Versioned ArtefactsArchitectural and Development Patterns
  28. 28. Versioned ArtefactsArchitectural and Development Patterns
  29. 29. Versioned Artefacts Continuous Source Control Versioned Artefacts IntegrationArchitectural and Development Patterns
  30. 30. Versioned Artefacts v0.0.147 Continuous Source Control Versioned Artefacts IntegrationArchitectural and Development Patterns
  31. 31. Versioned Artefacts v0.0.147 v0.0.148 Continuous Source Control Versioned Artefacts IntegrationArchitectural and Development Patterns
  32. 32. Versioned Artefacts v0.0.147 v0.0.148 v0.0.149 Continuous Source Control Versioned Artefacts IntegrationArchitectural and Development Patterns
  33. 33. Versioned ArtefactsArchitectural and Development Patterns
  34. 34. Versioned Artefacts v0.0.149 v0.0.149 v0.0.149 v0.0.149 v0.0.149 v0.0.149 v0.0.147 v0.0.149 v0.0.149 v0.0.149 v0.0.149 v0.0.149Architectural and Development Patterns
  35. 35. Versioned Artefacts v0.0.149 v0.0.149 v0.0.149 v0.0.149 v0.0.149 v0.0.149 v0.0.147 v0.0.149 v0.0.149 v0.0.149 v0.0.149 v0.0.149Architectural and Development Patterns
  36. 36. External Environment ConfigurationArchitectural and Development Patterns
  37. 37. External Environment ConfigurationArchitectural and Development Patterns
  38. 38. External Environment Configuration Build Process DevArchitectural and Development Patterns
  39. 39. External Environment Configuration Build Dev Process QAArchitectural and Development Patterns
  40. 40. External Environment Configuration Build Dev Process QA ProdArchitectural and Development Patterns
  41. 41. External Environment Configuration Build Dev Process QA ProdArchitectural and Development Patterns
  42. 42. External Environment ConfigurationArchitectural and Development Patterns
  43. 43. External Environment Configuration Build ProcessArchitectural and Development Patterns
  44. 44. External Environment Configuration Build Process DevArchitectural and Development Patterns
  45. 45. External Environment Configuration Build Process QAArchitectural and Development Patterns
  46. 46. Zero Downtime DeployArchitectural and Development Patterns
  47. 47. Zero Downtime DeployArchitectural and Development Patterns
  48. 48. Zero Downtime DeployArchitectural and Development Patterns
  49. 49. Zero Downtime DeployArchitectural and Development Patterns
  50. 50. Zero Downtime DeployArchitectural and Development Patterns
  51. 51. Products that Play WellArchitectural and Development Patterns
  52. 52. Products that Play WellArchitectural and Development Patterns
  53. 53. Products that Play Well A Case Study: http://slidesha.re/UcmR6NArchitectural and Development Patterns
  54. 54. Products that Play Well A Case Study: http://slidesha.re/UcmR6N Well-known monolithic business rules engine Costly to build, deploy, configure, testArchitectural and Development Patterns
  55. 55. Products that Play Well A Case Study: http://slidesha.re/UcmR6N Well-known monolithic business rules engine Costly to build, deploy, configure, test ...Being replacedArchitectural and Development Patterns
  56. 56. Source Controlled InfrastructureArchitectural and Development Patterns - Infrastructure
  57. 57. Scripted InfrastructureArchitectural and Development Patterns - Infrastructure
  58. 58. Tracer Bullet DeploymentsArchitectural and Development Patterns - Deployment
  59. 59. Tracer Bullet Deployments Dev Test Staging ProductionArchitectural and Development Patterns - Deployment
  60. 60. Tracer Bullet Deployments v0.0.1 v0.0.1 v0.0.1 v0.0.1 Dev Test Staging ProductionArchitectural and Development Patterns - Deployment
  61. 61. Canary ReleasesArchitectural and Development Patterns - Deployment
  62. 62. Canary Releases Router R1 R1 R1 R1 R1 R1 R1 R1 R1 R1 R1 R1 R1 R1 R1 R1 R1 R1Architectural and Development Patterns - Deployment
  63. 63. Canary Releases Router R1 R1 R1 R1 R2 R2 R1 R1 R1 R1 R1 R1 R1 R1 R1 R1 R1 R1Architectural and Development Patterns - Deployment
  64. 64. Blue Green DeploymentsArchitectural and Development Patterns - Deployment
  65. 65. Blue Green Deployments Router Release N Blue Environment Green EnvironmentArchitectural and Development Patterns - Deployment
  66. 66. Blue Green Deployments Router Release N Release N + 1 Blue Environment Green EnvironmentArchitectural and Development Patterns - Deployment
  67. 67. Blue Green Deployments Router Release N Release N + 1 Blue Environment Green EnvironmentArchitectural and Development Patterns - Deployment
  68. 68. Blue Green Deployments Router Release N Release N + 1 Blue Environment Green EnvironmentArchitectural and Development Patterns - Deployment
  69. 69. Blue Green Deployments Router Release N + 1 Blue Environment Green EnvironmentArchitectural and Development Patterns - Deployment
  70. 70. Blue Green Deployments Router Release N+2 Release N + 1 Blue Environment Green EnvironmentArchitectural and Development Patterns - Deployment
  71. 71. Blue Green Deployments Router Release N+2 Release N + 1 Blue Environment Green EnvironmentArchitectural and Development Patterns - Deployment
  72. 72. Blue Green Deployments Router Release N+2 Release N + 1 Blue Environment Green EnvironmentArchitectural and Development Patterns - Deployment
  73. 73. Push Button ReleaseArchitectural and Development Patterns - Deployment
  74. 74. Push Button Release Release Steps 1. ... 2. ... 3. ... 4. ...Architectural and Development Patterns - Deployment
  75. 75. Push Button Release Release Steps 1. ... 2. ... Deploy 3. ... 4. ...Architectural and Development Patterns - Deployment
  76. 76. Separate Deployments from ReleasesArchitectural and Development Patterns - Deployment
  77. 77. Roll ForwardArchitectural and Development Patterns - Deployment
  78. 78. Short Lived Feature BranchesArchitectural and Development Patterns - Development
  79. 79. Short Lived Feature BranchesArchitectural and Development Patterns - Development
  80. 80. Short Lived Feature BranchesTrunkArchitectural and Development Patterns - Development
  81. 81. Short Lived Feature BranchesTrunkArchitectural and Development Patterns - Development
  82. 82. Short Lived Feature Branches Merge Merge MergeTrunk MergeArchitectural and Development Patterns - Development
  83. 83. Short Lived Feature Branches Merge Merge MergeTrunk Merge ern att ti-P = An 1 day >Architectural and Development Patterns - Development
  84. 84. Inside Out DevelopmentArchitectural and Development Patterns - Development
  85. 85. Inside Out DevelopmentArchitectural and Development Patterns - Development
  86. 86. Inside Out Development DatabaseArchitectural and Development Patterns - Development
  87. 87. Inside Out Development Business Logic DatabaseArchitectural and Development Patterns - Development
  88. 88. Inside Out Development Configuration Business Logic DatabaseArchitectural and Development Patterns - Development
  89. 89. Inside Out Development UI Configuration Business Logic DatabaseArchitectural and Development Patterns - Development
  90. 90. Don’t Push Until DoneArchitectural and Development Patterns - Development
  91. 91. Don’t Push Until Done ern att ti-P = An 1 day >Architectural and Development Patterns - Development
  92. 92. Parallel RoutesArchitectural and Development Patterns - Development
  93. 93. Parallel Routes Application Current LogicArchitectural and Development Patterns - Development
  94. 94. Parallel Routes Application Interface Current LogicArchitectural and Development Patterns - Development
  95. 95. Parallel Routes Application Interface Current LogicArchitectural and Development Patterns - Development
  96. 96. Parallel Routes Application Interface Current Logic New LogicArchitectural and Development Patterns - Development
  97. 97. Parallel Routes Application Interface New LogicArchitectural and Development Patterns - Development
  98. 98. Feature TogglesArchitectural and Development Patterns - Development
  99. 99. Feature Toggles Dev Operations BusinessGranularity Smaller Larger Numbers Many Few Lifetime Short LongArchitectural and Development Patterns - Development
  100. 100. Feature Toggles Dev Operations BusinessGranularity Smaller Larger Numbers Many Few Lifetime Short Long attern nzy Anti-P gle Fre Feature TogArchitectural and Development Patterns - Development
  101. 101. Organisational Patterns
  102. 102. Regular VisitsOrganisational - DevOps
  103. 103. Pairing CultureOrganisational - DevOps
  104. 104. Developers Doing Production SupportOrganisational - DevOps
  105. 105. Operations StakeholderOrganisational - Requirements
  106. 106. Small SlicesOrganisational - Requirements
  107. 107. Small SlicesOrganisational - Requirements
  108. 108. Small Slices Business Flow Story Story Story Story Story Story 1 1 1 1 1 1 Story Story Story 2 5 3 Story Story 4 Story Story Story http://bit.ly/1KQpRicher Features Jeff Patton’s Story MapOrganisational - Requirements
  109. 109. Production Metric Driven RequirementsOrganisational - Requirements
  110. 110. Production Metric Driven RequirementsOrganisational - Requirements
  111. 111. Production Metric Driven RequirementsOrganisational - Requirements
  112. 112. Anti Patterns
  113. 113. Livin’ On A PrayerAnti Patterns
  114. 114. DevOps DepartmentAnti Patterns
  115. 115. Labour Intensive Release ProcessAnti Patterns
  116. 116. Last Minute Operations InvolvementAnti Patterns
  117. 117. Snowflake ServersAnti Patterns
  118. 118. Concluding... Patterns for CONTINUOUS DELIVERY @patkua
  119. 119. @patkua
  120. 120. 1. CD Capability done well is a competitive advantage @patkua
  121. 121. 1. CD Capability done well is a competitive advantage2. Continuous Delivery takes effort @patkua
  122. 122. 1. CD Capability done well is a competitive advantage2. Continuous Delivery takes effort3. Patterns help avoid common pitfalls with these @patkua
  123. 123. 1. CD Capability done well is a competitive advantage2. Continuous Delivery takes effort3. Patterns help avoid common pitfalls with these Questions? (we have a booth here too!) @patkua
  124. 124. Photo CreditsUnder the creative commons licenceU-Bahn picture: http://www.flickr.com/photos/twicepix/886124191/sizes/o/Train picture: http://www.flickr.com/photos/martin65/5869012269/sizes/o/

×