Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Delivery patterns for rapid and reliable releases (All Day DevOps 2018)

222 views

Published on

Today we pay close attention to scaling our systems, testing for chaos and reducing MTTR in production. Yet our delivery pipelines don't get nearly as much love. This talk presents tried and tested patterns for increasing reliability, accelerating changes and minimizing MTTR in our delivery systems.

Published in: Technology

Delivery patterns for rapid and reliable releases (All Day DevOps 2018)

  1. 1. October 17, 2018 Delivery Patterns for Rapid and Reliable Software Releases Manuel Pais
  2. 2. About me Manuel Pais MS Software Eng @manupaisable manuelpais.net me@manuelpais.net DevOps and Delivery Consultant Focused on teams and flow 2@manupaisable | manuelpais.net
  3. 3. @manupaisable | manuelpais.net 3 Today 1. Intro to boring releases 2. Patterns for safer releases 3. Patterns for faster releases 4. Patterns for sustainable delivery
  4. 4. @manupaisable | manuelpais.net 4 Today 1. Intro to boring releases 2. Patterns for safer releases 3. Patterns for faster releases 4. Patterns for sustainable delivery
  5. 5. @manupaisable | manuelpais.net 6
  6. 6. @manupaisable | manuelpais.net 7
  7. 7. 8 Outcomes @manupaisable | manuelpais.net
  8. 8. @manupaisable | manuelpais.net 9 Today 1. Intro to boring releases 2. Patterns for safer releases 3. Patterns for faster releases 4. Patterns for sustainable delivery
  9. 9. “ability to get changes of all types, into production, or into the hands of users, safely and quickly in a sustainable way” –Dave Farley & Jez Humble continuousdelivery.com @manupaisable | manuelpais.net 10
  10. 10. “ability to get changes of all types, into production, or into the hands of users, safely and quickly in a sustainable way” –Dave Farley & Jez Humble continuousdelivery.com @manupaisable | manuelpais.net 11
  11. 11. Patterns for safer releases 12@manupaisable | manuelpais.net
  12. 12. @manupaisable | manuelpais.net 13
  13. 13. Patterns for safer releases 1. Map value stream in the pipeline 14@manupaisable | manuelpais.net
  14. 14. @manupaisable | manuelpais.net 15
  15. 15. @manupaisable | manuelpais.net 16
  16. 16. @manupaisable | manuelpais.net 17 https://www.youtube.com/watch?v=MAFpuwB7-to
  17. 17. @manupaisable | manuelpais.net 18
  18. 18. Patterns for safer releases 19@manupaisable | manuelpais.net
  19. 19. 20@manupaisable | manuelpais.net
  20. 20. Patterns for safer releases 1. Map your value stream to the pipeline 2. Measure key metrics 21@manupaisable | manuelpais.net
  21. 21. Speed cycle time Quality defect rate Operability MTTR 22@manupaisable | manuelpais.net
  22. 22. Flow efficiency = “teams who aren’t paying attention to this concept generally have flow efficiencies around the 15% mark - that means that work normally spends 85% of its lifecycle waiting on something.” http://leankanban.com/flow-efficiency-a-great-metric-you-probably-arent-using @manupaisable | manuelpais.net 23
  23. 23. issue is not how long it takes to do something, it's how long we're waiting for it to get done @manupaisable | manuelpais.net 24
  24. 24. Patterns for safer releases 25@manupaisable | manuelpais.net
  25. 25. @manupaisable | manuelpais.net 26
  26. 26. Patterns for safer releases 1. Map your value stream to the pipeline 2. Measure key metrics on speed, quality & operability 3. Put in the groundwork !!! 27@manupaisable | manuelpais.net
  27. 27. Automated build in clean environment Ephemeral prod-like test environment Health checks and fast smoke tests Automated acceptance tests (BDD) Everything as code (one truth) Single path to production 28@manupaisable | manuelpais.net
  28. 28. 29@manupaisable | manuelpais.net
  29. 29. Patterns for safer releases 1. Map value stream in the pipeline 2. Measure key metrics 3. Put in the groundwork !!! 30@manupaisable | manuelpais.net
  30. 30. @manupaisable | manuelpais.net 31 Today 1. Intro to boring releases 2. Patterns for safer releases 3. Patterns for faster releases 4. Patterns for sustainable delivery
  31. 31. “ability to get changes of all types, into production, or into the hands of users, safely and quickly in a sustainable way” –Dave Farley & Jez Humble continuousdelivery.com @manupaisable | manuelpais.net 32
  32. 32. @manupaisable | manuelpais.net 33 Build Test Deploy
  33. 33. @manupaisable | manuelpais.net 34 FixMonitorRun CI Peer review Infra Security Comply Database Accept UX Deploy
  34. 34. @manupaisable | manuelpais.net 35 can’t auto- scale people How to cope with ever increasing cognitive load on teams to build and run applications?
  35. 35. Patterns for faster releases 1. Design intelligent pipelines 2. Evolve teams and interactions 3. Set up a self-service platform 36@manupaisable | manuelpais.net
  36. 36. @manupaisable | manuelpais.net 37
  37. 37. Patterns for faster releases 1. Identify & remove bottlenecks 2. Shorten path to production 3. Continuous pruning 38@manupaisable | manuelpais.net
  38. 38. Waiting for pipeline @manupaisable | manuelpais.net 39
  39. 39. Waiting for pipeline @manupaisable | manuelpais.net 40
  40. 40. Waiting for dependencies @manupaisable | manuelpais.net 41
  41. 41. Waiting for dependencies @manupaisable | manuelpais.net 42
  42. 42. Patterns for faster releases 1. Design intelligent pipelines 2. Evolve teams and interactions 3. Set up a self-service platform 43@manupaisable | manuelpais.net
  43. 43. Patterns for faster releases 1. Identify & remove bottlenecks 2. Shorten path to production 3. Continuous pruning 44@manupaisable | manuelpais.net
  44. 44. Risk-based activities (short & wide pipeline) @manupaisable | manuelpais.net 45
  45. 45. Patterns for faster releases pipelines 1. Set up a self-service platform 46@manupaisable | manuelpais.net
  46. 46. @manupaisable | manuelpais.net 47
  47. 47. Patterns for faster releases 1. Identify & remove bottlenecks 2. Shorten path to production 3. Continuous pruning & fast feedback 48@manupaisable | manuelpais.net
  48. 48. 49 “There are just two moments when an automated test provides useful information: the first time it passes and when it subsequently fails.” @manupaisable | manuelpais.net Continuous pruning
  49. 49. @manupaisable | manuelpais.net 50
  50. 50. @manupaisable | manuelpais.net 51
  51. 51. @manupaisable | manuelpais.net 52
  52. 52. Patterns for faster releases 1. Identify & remove bottlenecks 2. Shorten path to production 3. Continuous pruning & fast feedback 55@manupaisable | manuelpais.net
  53. 53. @manupaisable | manuelpais.net 56 Today 1. Intro to boring releases 2. Patterns for safer releases 3. Patterns for faster releases 4. Patterns for sustainable delivery
  54. 54. “ability to get changes of all types, into production, or into the hands of users, safely and quickly in a sustainable way” –Dave Farley & Jez Humble continuousdelivery.com @manupaisable | manuelpais.net 57
  55. 55. 58@manupaisable | manuelpais.net
  56. 56. @manupaisable | manuelpais.net 59
  57. 57. Delivery (CI/CD) system CI/CD Toolchain Pipelines Infra App 1 App 2 @manupaisable | manuelpais.net 61 Artifacts
  58. 58. System Operability Available (no downtime) Scalable (no pipelines waiting to run) Monitored (alerts on resources and errors) Recoverable (focus on diagnosis & MTTR) @manupaisable | manuelpais.net 62
  59. 59. Patterns for sustainability 1. Treat your pipeline as a product 2. Treat your pipeline as a product 3. Treat your pipeline as a product 63@manupaisable | manuelpais.net
  60. 60. Immutable infrastructure Blue-green deployments Monitoring & alerting Aggregated logging Pipelines-as-code Auto-scaling 64@manupaisable | manuelpais.net
  61. 61. releasabilitybook.com Team Guide to Software Releasability (book sample out now) ADDO exclusive 20% off https://tinyurl.com/ release-book-add 65@manupaisable | manuelpais.net
  62. 62. @manupaisable | manuelpais.net 66 manuelpais.net Software Releasability Scaling Continuous Delivery WORKSHOP
  63. 63. October 17, 2018 Thank You Sponsors
  64. 64. October 17, 2018 Thank You Supporters
  65. 65. October 17, 2018 Meet Me in the Slack Channel for Q&A bit.ly/addo-slack # 2018addo-cicdtrack

×