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.

Lyndsay Prewer - Smoothing the continuous delivery path - a tale of two teams

475 views

Published on

What makes Continuous Delivery easy and what makes it hard? Should it be all Scala + Docker + microservices or is .Net + Windows + monoliths a safer bet? This session compares and contrasts the successful continuous delivery journeys of two completely different cultures. Both achieved weekly releases to Production, but one was a .Net monolith, the other a set of Scala microservices. We’ll explore the lessons learnt by looking at the blockers and accelerators each faced.

Published in: Software
  • Be the first to comment

  • Be the first to like this

Lyndsay Prewer - Smoothing the continuous delivery path - a tale of two teams

  1. 1. © Equal Experts UK Ltd and lyndsayp ltd 2015 @EqualExpert @lyndsp simple software solutions to big business problems. Making Software. Better. Smoothing the continuous delivery path A tale of two teams
  2. 2. © Equal Experts UK Ltd and lyndsayp ltd 2015 @EqualExpert @lyndsp What’s this all about? 2 Continuo us Delivery Done Well
  3. 3. © Equal Experts UK Ltd and lyndsayp ltd 2015 @EqualExpert @lyndsp What’s this (Continuous Delivery) all about? 3 “... producing valuable software in short cycles and ensure that the software can be reliably releasedat any time” - https://en.wikipedia.org/wiki/Continuous_delivery
  4. 4. © Equal Experts UK Ltd and lyndsayp ltd 2015 @EqualExpert @lyndsp Continuous doughnuts 4 Fast feedback Risk Reduction T: 0:00:000 T: 2:00:000
  5. 5. © Equal Experts UK Ltd and lyndsayp ltd 2015 @EqualExpert @lyndsp There’s no (CD) silver bullet 5 1 (php) monolith 50 deploys / day 1.5 billion page views / month http://goo.gl/XIB29i >600 java microservices >100 deploys / day ~2 billion requests per day http://goo.gl/ZJBiK6
  6. 6. © Equal Experts UK Ltd and lyndsayp ltd 2015 @EqualExpert @lyndsp Prefer Continuous Improvement over Continuous Delivery ▪ .Net monolith ▪ 26 -> 24 -> 34 releases per year ▪ https://goo.gl/KF9xXw 6
  7. 7. © Equal Experts UK Ltd and lyndsayp ltd 2015 @EqualExpert @lyndsp .Net monolith team - how they roll 7 ▪ Private sector ▪ Significant legacy code ▪ High daily traffic (~100 million visits) ▪ ~8 product teams ▪ Weekly deployments: – Pick release candidate – Regression test – Dog food – Deploy
  8. 8. © Equal Experts UK Ltd and lyndsayp ltd 2015 @EqualExpert @lyndsp Scala microservices team - how they roll 8 ▪ .Gov - HMRC Digital ▪ 2 years old (greenfield) ▪ Calendar spikes (Visits peak is ~4 million) ▪ >30 product teams ▪ Multiple deployments per day – Teams “own” their own services – “You build it, you run it” - https://goo.gl/DyfeOf
  9. 9. © Equal Experts UK Ltd and lyndsayp ltd 2015 @EqualExpert @lyndsp Continuo us Delivery Done Well Patterns for successful practice 9
  10. 10. © Equal Experts UK Ltd and lyndsayp ltd 2015 @EqualExpert @lyndsp Best practice #1 - Healthy CI - mind & body 10
  11. 11. © Equal Experts UK Ltd and lyndsayp ltd 2015 @EqualExpert @lyndsp Best practice #1 - Healthy CI - mind & body 11 Almost green!
  12. 12. © Equal Experts UK Ltd and lyndsayp ltd 2015 @EqualExpert @lyndsp Best practice #2 - Testing as an activity, not a phase 12 Product Owner Define Dev Build QA Test Web Ops Deploy
  13. 13. © Equal Experts UK Ltd and lyndsayp ltd 2015 @EqualExpert @lyndsp Best practice #2 - Testing as an activity, not a phase 13 Product Owner Define Dev Build QA Test Web Ops Deploy Test
  14. 14. © Equal Experts UK Ltd and lyndsayp ltd 2015 @EqualExpert @lyndsp Best practice #3 - Healthy automated tests 14 Unit Tests API UI
  15. 15. © Equal Experts UK Ltd and lyndsayp ltd 2015 @EqualExpert @lyndsp Best practice #3 - (Un)healthy automated tests 15 API UI Unit Tests The “Hour Glass”
  16. 16. © Equal Experts UK Ltd and lyndsayp ltd 2015 @EqualExpert @lyndsp UI Best practice #3 - (Un)healthy automated tests 16 API The “Ice Cream Cone” Unit Test s
  17. 17. © Equal Experts UK Ltd and lyndsayp ltd 2015 @EqualExpert @lyndsp Best practice #3 - Healthy automated tests 17 Unit Tests API U I The “Tear Drop”
  18. 18. © Equal Experts UK Ltd and lyndsayp ltd 2015 @EqualExpert @lyndsp Best practice #4 - Low (manual) cost deployment (and rollback) 18 VS.
  19. 19. © Equal Experts UK Ltd and lyndsayp ltd 2015 @EqualExpert @lyndsp Best practice #5 - Metrics, monitoring and alerting 19 http://seluxkanaur.deviantart.com/art/Sauron-s-Eye-6-420535318 Monitor all things!
  20. 20. © Equal Experts UK Ltd and lyndsayp ltd 2015 @EqualExpert @lyndsp Metrics, monitoring and alerting - getting it right 20 Detect Alert Respond Display Analyse Time & Pain increasing!
  21. 21. © Equal Experts UK Ltd and lyndsayp ltd 2015 @EqualExpert @lyndsp Metrics, monitoring and alerting - getting it wrong 21 Detect Respond Display Analyse Time & Pain increasing!Alert
  22. 22. © Equal Experts UK Ltd and lyndsayp ltd 2015 @EqualExpert @lyndsp Metrics, monitoring and alerting - where and how? 22 Detect Alert Respond Display Analyse
  23. 23. © Equal Experts UK Ltd and lyndsayp ltd 2015 @EqualExpert @lyndsp Metrics, monitoring and alerting - stories from the trenches 23 Detect Alert Respond Display Analyse
  24. 24. © Equal Experts UK Ltd and lyndsayp ltd 2015 @EqualExpert @lyndsp Best practice summary 1. Healthy CI (mind and body) 2. Testing as an activty, not a phase 3. Tear drop shape automated tests (focus on behaviour, with loose coupling) 4. Low (manual) cost deployment and rollback 5. Metrics, monitoring and reporting 24 Product Owner Define Dev Build QA Test Web Ops Deplo y Test Unit Tests API U I Detect Alert Respond Displa y Analyse
  25. 25. © Equal Experts UK Ltd and lyndsayp ltd 2015 @EqualExpert @lyndsp Shared Pain 25 Continuo us Delivery Done Well
  26. 26. © Equal Experts UK Ltd and lyndsayp ltd 2015 @EqualExpert @lyndsp Shared pain #1 - Zero down-time releases 26 https://en.wikipedia.org/wiki/VO2_max
  27. 27. © Equal Experts UK Ltd and lyndsayp ltd 2015 @EqualExpert @lyndsp Shared pain #2 - Manual deployment steps 27 https://en.wikipedia.org/wiki/Tailor https://en.wikipedia.org/wiki/Zara_(retailer) VS.
  28. 28. © Equal Experts UK Ltd and lyndsayp ltd 2015 @EqualExpert @lyndsp Shared pain summary 1. Zero down time releases 2. Manual deployment steps 28 VS.
  29. 29. © Equal Experts UK Ltd and lyndsayp ltd 2015 @EqualExpert @lyndsp Team specific accelerators 29 Continuo us Delivery Done Well
  30. 30. © Equal Experts UK Ltd and lyndsayp ltd 2015 @EqualExpert @lyndsp Accelerators - 5 why’s 30 ● Create a timeline. ● Gather those involved. ● Walk through the timeline. ● Choose an entry point event: ○ Event ○ Why? ○ Process improvement ● Repeat x5 (ish)
  31. 31. © Equal Experts UK Ltd and lyndsayp ltd 2015 @EqualExpert @lyndsp Accelerators - 5 why’s - example 31
  32. 32. © Equal Experts UK Ltd and lyndsayp ltd 2015 @EqualExpert @lyndsp Accelerators - automated release notes - the problem #1 32 Much confusion and pain
  33. 33. © Equal Experts UK Ltd and lyndsayp ltd 2015 @EqualExpert @lyndsp Accelerators - automated release notes - the problem #2 33 Agile Project Management Tool Source control system Features Stories Defects Login Reporting Payments API’s
  34. 34. © Equal Experts UK Ltd and lyndsayp ltd 2015 @EqualExpert @lyndsp Accelerators - automated release notes - the solution 34 Agile Project Management Tool Source control system Features Stories Defects Login 1. Identify source changes 2. Identify stories/defects 3. Identify areas 4. Group by story/defect 5. For each, summarise area and authors 6. Group by: a. What’s done b. What’s in progress Reporting Payments API’s
  35. 35. © Equal Experts UK Ltd and lyndsayp ltd 2015 @EqualExpert @lyndsp Team specific accelerators 35 Continuo us Delivery Done Well
  36. 36. © Equal Experts UK Ltd and lyndsayp ltd 2015 @EqualExpert @lyndsp Accelerators - microservice architecture 36 ▪ Teams “own” their own services ▪ “You build it, you run it” - https://goo.gl/DyfeOf ▪ Prefer service over library
  37. 37. © Equal Experts UK Ltd and lyndsayp ltd 2015 @EqualExpert @lyndsp Accelerators - backward compatible API’s (principle of least surprise) 37 https://en.wikipedia.org/wiki/VO2_max Everyone shares (and cares)
  38. 38. © Equal Experts UK Ltd and lyndsayp ltd 2015 @EqualExpert @lyndsp Team specific accelerators summary Monolith: 1. 5 -why’s 2. Automated release note Microservices: 1. Microservice dependencies, not library dependencies 2. Backward compatible API’s 38 Agile Project Management Tool Source control system Features Stories Defects Login Reporting Payments API’s
  39. 39. © Equal Experts UK Ltd and lyndsayp ltd 2015 @EqualExpert @lyndsp References and resources 39 ▪ Build Quality In (promo code - LP2015 - https://goo.gl/ZRuQKw) Continuous Delivery Implementing Lean Software Development Release It
  40. 40. © Equal Experts UK Ltd and lyndsayp ltd 2015 @EqualExpert @lyndsp simple software solutions to big business problems. Making Software. Better. Thank You Twitter @EqualExpe rts @lyndsp LinkedIn linkedin.com/company/equal- experts uk.linkedin.com/in/lyndsp UNITED KINGDOM +44 203 603 7830 helloUK@equalexperts.com Equal Experts UK Ltd 30 Brock Street London NW1 3FG INDIA +91 20 6607 7763 helloIndia@equalexperts.com Equal Experts India Private Ltd Office No. 4-C Cerebrum IT Park No. B3 Kumar City, Kalyani Nagar Pune, 411006 Web www.equalexperts.com www.lyndsayp.com CANADA +1 403 775 4861 helloCanada@equalexperts.com Equal Experts Devices Inc 205 - 279 Midpark way S.E. T2X 1M2 Calgary, Alberta   PORTUGAL + helloPortugal@equalexperts.com Equal Experts Portugal Rua Tomás da Fonseca - Torres de Lisboa Torre G, 5º Andar 1600-209 Lisboa   Thank You

×