Upgrade to Pro — share decks privately, control downloads, hide ads and more …

End-to-end deployment pipelines - avoiding pipeline fragmentation

End-to-end deployment pipelines - avoiding pipeline fragmentation

The deployment pipeline is a key feature of continuous delivery. Avoiding fragmentation of deployment pipelines is crucial if the maximum benefit is to be derived from pipelines. This presentation shows why pipeline fragmentation is bad, examines some of the reasons why pipeline fragmentation may occur, and explores some of the challenges involved in implementing end-to-end deployment pipelines.

F3b97b9b66add9d83e6438ffc1665181?s=128

Matthew Skelton
PRO

June 13, 2012
Tweet

Transcript

  1. End-to-end Deployment Pipelines: Avoiding Pipeline Fragmentation Matthew Skelton :: 13

    June 2012
  2.  Introduction  Context: Continuous Delivery  Value stream mapping

     What are deployment pipelines?  Pipeline fragmentation  Deriving value from end-to-end pipelines  Q&A End-to-end Deployment Pipelines AGENDA 2 End-to-end Deployment Pipelines :: Matthew Skelton
  3.  Introduction  Context: Continuous Delivery  Value stream mapping

     What are deployment pipelines?  Pipeline fragmentation  Deriving value from end-to-end pipelines  Q&A End-to-end Deployment Pipelines AGENDA 3 End-to-end Deployment Pipelines :: Matthew Skelton
  4. Continuous Delivery End-to-end Deployment Pipelines :: Matthew Skelton 4 

    Empowering product owners & the business to choose when to deploy  Software always ready to go live  „One-click‟ deployments  Visibility of work-in-progress
  5. Continuous Delivery End-to-end Deployment Pipelines :: Matthew Skelton 5 

    Context  http://continuousdelivery.com/  Jez Humble & David Farley  (ex-)ThoughtWorks  Chapter 5, Anatomy of the Deployment Pipeline, is free to download:  http://www.informit.com/articles/article.as px?p=1621865  Read the book!  + screen casts on InfoQ
  6.  Introduction  Context: Continuous Delivery  Value stream mapping

     What are deployment pipelines?  Pipeline fragmentation  Deriving value from end-to-end pipelines  Q&A End-to-end Deployment Pipelines AGENDA 6 End-to-end Deployment Pipelines :: Matthew Skelton
  7. Value Stream Maps End-to-end Deployment Pipelines :: Matthew Skelton 7

     Identify stages in the release cycle  „Value-added‟ time  Elapsed time  Remove bottlenecks, eliminate waste  Further reading:  Lean Software Development, Mary & Tom Poppendieck  “How long would it take your organization to deploy a change that involves just one single line of code?”
  8. Value Stream Maps End-to-end Deployment Pipelines :: Matthew Skelton 8

     Example (from Continuous Delivery)  Where is this visible within the organisation?  Is the information up-to-date?
  9.  Introduction  Context: Continuous Delivery  Value stream mapping

     What are deployment pipelines?  Pipeline fragmentation  Deriving value from end-to-end pipelines  Q&A End-to-end Deployment Pipelines AGENDA 9 End-to-end Deployment Pipelines :: Matthew Skelton
  10. What are deployment pipelines? End-to-end Deployment Pipelines :: Matthew Skelton

    10  Automated manifestations of value stream maps
  11. The Deployment Pipeline tells us... End-to-end Deployment Pipelines :: Matthew

    Skelton 11  At what stage is version X of the software?  Which version is in environment Y?  Which versions made it to Production?  What version should I test next?  ...and so on.
  12. The Deployment Pipeline tells us... End-to-end Deployment Pipelines :: Matthew

    Skelton 12  At what stage is version X of the software?  Which version is in environment Y?  Which versions made it to Production?  What version should I test next?
  13. The Deployment Pipeline End-to-end Deployment Pipelines :: Matthew Skelton 13

    http://www.thoughtworks-studios.com/go-agile-release-management/features-benefits  GO from ThoughtWorks Studios:
  14. The Deployment Pipeline End-to-end Deployment Pipelines :: Matthew Skelton 14

    http://www.thoughtworks-studios.com/go-agile-release-management/features-benefits  At a glance:
  15.  Introduction  Context: Continuous Delivery  Value stream mapping

     What are deployment pipelines?  Pipeline fragmentation  Deriving value from end-to-end pipelines  Q&A End-to-end Deployment Pipelines AGENDA 15 End-to-end Deployment Pipelines :: Matthew Skelton
  16. Pipeline Fragmentation End-to-end Deployment Pipelines :: Matthew Skelton 16 

    Deployment pipeline is broken into small chunks  End-to-end view is missing http://blog.mikeobrien.net/2010/09/setting-up-thoughtworks-go-build-on.html ?
  17. Pipeline Fragmentation End-to-end Pipeline Fragmented Pipeline End-to-end Deployment Pipelines ::

    Matthew Skelton 17 From Dev to Production Multiple separate isolated steps
  18. Pipeline Fragmentation End-to-end Deployment Pipelines :: Matthew Skelton 18 

    Questions (again):  At what stage is version X of the software?  Which version is in environment Y?  Which versions made it to Production?  What version should I test next? ?
  19. Problems with Pipeline Fragmentation End-to-end Deployment Pipelines :: Matthew Skelton

    19  Difficult to get the overall picture  Multiple places to look  Limited traceability  Difficult to answer the common questions:  At what stage is version X of the software?  Which version is in environment Y?  Which versions made it to Production?  What version should I test next?  What should be automated becomes manual
  20. Causes of Pipeline Fragmentation End-to-end Deployment Pipelines :: Matthew Skelton

    20  Teams and Roles  Each team responsible for a single GO server  GO servers organised around responsibilities  Location  Teams in different locations  Tricky to achieve inter-site view  Performance  Slow-downs when > 200 pipelines  „Misuse‟ of pipelines
  21.  Introduction  Context: Continuous Delivery  Value stream mapping

     What are deployment pipelines?  Pipeline fragmentation  Deriving value from end-to-end pipelines  Q&A End-to-end Deployment Pipelines AGENDA 21 End-to-end Deployment Pipelines :: Matthew Skelton
  22. Deriving value from end-to-end pipelines End-to-end Deployment Pipelines :: Matthew

    Skelton 22  Challenges:  Versioning and dependency management  Separating subsystems can be tricky  A product- or service-centric view makes this easier  Goal is one pipeline per product or subsystem  Design of deployment pipelines  Triggers, build dependencies, re-using components as test harnesses  Multiple test environments complicate pipelines  One environment per product better than one per team?  New „diamond dependencies‟ in GO 12.2 might help here  Optimising the automated test suites is essential
  23. Deriving value from end-to-end pipelines End-to-end Deployment Pipelines :: Matthew

    Skelton 23  Choose small, simple products to begin with  Limited or no dependency on other components  Involve the business sponsor  Aim for a “walking skeleton”, end-to-end  Forces some tricky problems to be solved  For example:  Change the text on a button  Commit, test, deploy to Production within a day  More complex scenarios can follow later
  24. Deriving value from end-to-end pipelines End-to-end Deployment Pipelines :: Matthew

    Skelton 24  Answer questions from:  Product owners  The Business  QA team  Developers  Visible progress  Take more informed decisions, more rapidly  Reduce cycle time
  25.  Introduction  Context: Continuous Delivery  Value stream mapping

     What are deployment pipelines?  Pipeline fragmentation  Deriving value from end-to-end pipelines  Q&A End-to-end Deployment Pipelines AGENDA 25 End-to-end Deployment Pipelines :: Matthew Skelton
  26. Any questions? http://matthewskelton.net/