End-to-end deployment pipelines - avoiding pipeline fragmentation

2,680 views
2,479 views

Published on

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.

Published in: Technology, Business
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,680
On SlideShare
0
From Embeds
0
Number of Embeds
23
Actions
Shares
0
Downloads
44
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

End-to-end deployment pipelines - avoiding pipeline fragmentation

  1. 1. End-to-end Deployment Pipelines: Avoiding Pipeline Fragmentation Matthew Skelton :: 13 June 2012
  2. 2. End-to-end Deployment Pipelines Introduction AGENDA 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 :: Matthew Skelton 2
  3. 3. End-to-end Deployment Pipelines Introduction AGENDA 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 :: Matthew Skelton 3
  4. 4. Continuous Delivery Empowering product owners & the business to choose when to deploy Software always ready to go live „One-click‟ deployments Visibility of work-in-progress End-to-end Deployment Pipelines :: Matthew Skelton 4
  5. 5. Continuous Delivery 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 End-to-end Deployment Pipelines :: Matthew Skelton 5
  6. 6. End-to-end Deployment Pipelines Introduction AGENDA 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 :: Matthew Skelton 6
  7. 7. Value Stream Maps 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?” End-to-end Deployment Pipelines :: Matthew Skelton 7
  8. 8. Value Stream Maps Example (from Continuous Delivery) Where is this visible within the organisation? Is the information up-to-date? End-to-end Deployment Pipelines :: Matthew Skelton 8
  9. 9. End-to-end Deployment Pipelines Introduction AGENDA 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 :: Matthew Skelton 9
  10. 10. What are deployment pipelines? Automated manifestations of value stream maps End-to-end Deployment Pipelines :: Matthew Skelton 10
  11. 11. The Deployment Pipeline tells us... 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. End-to-end Deployment Pipelines :: Matthew Skelton 11
  12. 12. The Deployment Pipeline tells us... 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? End-to-end Deployment Pipelines :: Matthew Skelton 12
  13. 13. The Deployment Pipeline GO from ThoughtWorks Studios: http://www.thoughtworks-studios.com/go-agile-release-management/features-benefits End-to-end Deployment Pipelines :: Matthew Skelton13
  14. 14. The Deployment Pipeline At a glance: http://www.thoughtworks-studios.com/go-agile-release-management/features-benefits End-to-end Deployment Pipelines :: Matthew Skelton14
  15. 15. End-to-end Deployment Pipelines Introduction AGENDA 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 :: Matthew Skelton 15
  16. 16. Pipeline Fragmentation 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 End-to-end Deployment Pipelines :: Matthew Skelton 16
  17. 17. Pipeline FragmentationEnd-to-end Pipeline Fragmented Pipeline From Dev to Production Multiple separate isolated steps End-to-end Deployment Pipelines :: Matthew Skelton 17
  18. 18. Pipeline Fragmentation 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? ? End-to-end Deployment Pipelines :: Matthew Skelton 18
  19. 19. Problems with Pipeline Fragmentation 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 End-to-end Deployment Pipelines :: Matthew Skelton 19
  20. 20. Causes of Pipeline Fragmentation 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 End-to-end Deployment Pipelines :: Matthew Skelton 20
  21. 21. End-to-end Deployment Pipelines Introduction AGENDA 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 :: Matthew Skelton 21
  22. 22. Deriving value from end-to-end pipelines 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 End-to-end Deployment Pipelines :: Matthew Skelton 22
  23. 23. Deriving value from end-to-end pipelines 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 End-to-end Deployment Pipelines :: Matthew Skelton 23
  24. 24. Deriving value from end-to-end pipelines Answer questions from:  Product owners  The Business  QA team  Developers Visible progress Take more informed decisions, more rapidly Reduce cycle time End-to-end Deployment Pipelines :: Matthew Skelton 24
  25. 25. End-to-end Deployment Pipelines Introduction AGENDA 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 :: Matthew Skelton 25
  26. 26. Any questions?http://matthewskelton.net/

×