5 Steps on the Way to Continuous Delivery

1,020 views

Published on

Slides from Andrew Phillips' talk on 23 April 2013 at JAX 2013, Mainz, Germany: http://jax.de/2013/sessions?tid=2983#session-25099

Published in: Technology
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

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

No notes for slide

5 Steps on the Way to Continuous Delivery

  1. 1. Andrew Phillips | XebiaLabs5 Steps on the Way toContinuous Delivery
  2. 2. A Bit About Me• VP Products for XebiaLabs• Lots of enterprise software development on high-performance systems• Been on both sides of the “Dev…Ops” fence• Active open source contributor and committer:jclouds, Akka, Gradle and others• Cloud, PaaS & JVM language fan (mainly Scala, Clojure)• Regular meetup, conference etc. presenter
  3. 3. Agenda• Everybody’s Going CD• Lightning CD Recap• Enterprise Challenges• 5 Steps on the Way to CD• A CD Maturity Model• Q&A
  4. 4. “Continuous delivery is a set of patternsand best practices that can help softwareteams dramatically improve the pace andquality of their software delivery.”
  5. 5. Everybody’s Going CD
  6. 6. Everybody’s Going CD• Why?
  7. 7. Everybody’s Going CD• Why?• It’s fun
  8. 8. Everybody’s Going CD• Why?• It’s fun• It’s cool
  9. 9. Everybody’s Going CD• Why?• It’s fun• It’s cool• All the cool kids do it
  10. 10. Everybody’s Going CD• Why?• It’s fun• It’s cool• All the cool kids do it• It accelerates time to market
  11. 11. Everybody’s Going CD• Why?• It’s fun• It’s cool• All the cool kids do it• It accelerates time to market• All of the above
  12. 12. Everybody’s Going CD• Why?• It’s fun• It’s cool• All the cool kids do it• It accelerates time to market• All of the above
  13. 13. Everybody’s Going CD• Why?• It’s fun• It’s cool• All the cool kids do it• It accelerates time to market• All of the above
  14. 14. Lightning Recap“Our highest priority is to satisfy thecustomer through early and continuousdelivery of valuable software.”
  15. 15. Lightning Recap“Our highest priority is to satisfy thecustomer through early and continuousdelivery of valuable software.”
  16. 16. Lightning Recap“Our highest priority is to satisfy thecustomer through early and continuousdelivery of valuable software.”Principle #1 from the Agile Manifesto
  17. 17. Lightning RecapValue of code in repo vs.Value of code in use by customer
  18. 18. Lightning RecapValue of code in repo vs.Value of code in use by customer
  19. 19. Lightning RecapValue of code in repo vs.Value of code in use by customer
  20. 20. Lightning RecapValue of code in repo vs.Value of code in use by customer
  21. 21. Lightning RecapValue of code in repo vs.Value of code in use by customer
  22. 22. Enterprise Challenges
  23. 23. Enterprise Challenges• Large, monolithic applications• Low levels of automation• Contended environments• Release Management requirements• …
  24. 24. 5 Steps on the Way
  25. 25. 5 Steps on the Way
  26. 26. 5 Steps on the Way+ =
  27. 27. 1. Complete Delivery Artifact• We move one uniquely identifieddeliverable through the pipeline• Needs to contain all the items consideredpart of the delivered version– Application binaries– Database changes– Configuration files– Server settings– Dependencies– …
  28. 28. 1. Complete Delivery Artifact• This might sound self-evident, but…• …it’s harder to do than it appears– Environment-specific builds?– Configuration settings requested via changetickets?– Smoke tests present only in the testers’notes/heads?
  29. 29. 2. Pipeline Stage Checklist• Break down your pipeline into tasks• For each task, define– Owner– Input– Output– Triggers– Prerequisites/gates– Success/failure criteria– Failure handling
  30. 30. 2. Pipeline Stage Checklist• Checklists determine sequence andparallelization of stages• Knowledge/confidence level/qualitymeasurements are also output!• Think about feedback cycles (“if this taskfails, how can I learn from that?”)
  31. 31. 3. Manageable Units of Work• In general, smaller tasks = faster runtime• Basic upper limit:throughput ≤ 1 / (duration of longest task)• Are your long-running tasks providing“value for runtime”?
  32. 32. 4. Scalable Capacity• To run pipeline jobs (= “workers”)• To run applications (= “environments”)
  33. 33. 4. Scalable Capacity• To run pipeline jobs (= “workers”)• To run applications (= “environments”)• Would like on-demand capacity quickly• Investigate cloud-based services
  34. 34. 5. Automation, Automation, Automation• Automation isn’t a prerequisite for CD…• …but it’s pretty much essential• Can you reliably execute your manual taskat the required frequency with the desiredlevel of throughput?
  35. 35. 5. Automation, Automation, Automation• Automation isn’t a prerequisite for CD…• …but it’s pretty much essential• Can you reliably execute your manual taskat the required frequency with the desiredlevel of throughput?
  36. 36. 5. Automation, Automation, Automation• Think about– Build automation– Unit Test automation– Deployment automation– Integration/Performance/UA Test automation– Automated metrics gathering– Automated feedback cycles
  37. 37. 6. “Side Effect” Overview• Pipeline tasks and stages don’t just runand produce log output…• …they also have “side effects”– Creating and destroying on-demandenvironments– Updating of versions of applications deployedto (testing, mainly) envionments– Updating the “confidence measure” of theapplication version being tested– …
  38. 38. 6. “Side Effect” Overview• Don’t want to have to “re-engineer” thestate of your IT landscape based on theprogress of pipeline jobs• More commonly-used domain model helpspresent business-relevant information
  39. 39. 7. Release Control• Later pipeline stages affect tightly-controlled environments• Release Management requirements mustbe met• Can link this to prerequisites/gates fortasks
  40. 40. 7. Release Control• How to automate gates to avoid a manualbottleneck?• How to ensure (automated) quality/securityetc. measurements fulfill releaserequirements• “Fine-tuning the dial between throughputand control”
  41. 41. 8. Improvement Metrics• You (or your boss) don’t just want to feelthings are getting better…• …you need to know they are!
  42. 42. 8. Improvement Metrics• Sample metrics:– Throughput?– Failure rate?– Standardization coefficient– Mean & stddev of duration per task/stage?– Max/min duration per task/stage?– # of manual tasks?
  43. 43. Summary
  44. 44. Summary1. Complete Delivery Artifact
  45. 45. Summary1. Complete Delivery Artifact2. Pipeline Stage Checklist
  46. 46. Summary1. Complete Delivery Artifact2. Pipeline Stage Checklist3. Manageable Units of Work
  47. 47. Summary1. Complete Delivery Artifact2. Pipeline Stage Checklist3. Manageable Units of Work4. Scalable Capacity
  48. 48. Summary1. Complete Delivery Artifact2. Pipeline Stage Checklist3. Manageable Units of Work4. Scalable Capacity5. Automation, Automation, Automation
  49. 49. Summary1. Complete Delivery Artifact2. Pipeline Stage Checklist3. Manageable Units of Work4. Scalable Capacity5. Automation, Automation, Automation6. “Side Effect” Overview
  50. 50. Summary1. Complete Delivery Artifact2. Pipeline Stage Checklist3. Manageable Units of Work4. Scalable Capacity5. Automation, Automation, Automation6. “Side Effect” Overview7. Release Control
  51. 51. Summary1. Complete Delivery Artifact2. Pipeline Stage Checklist3. Manageable Units of Work4. Scalable Capacity5. Automation, Automation, Automation6. “Side Effect” Overview7. Release Control8. Improvement Metrics
  52. 52. Maturity Model• Metrics give indication of progress• Define a maturity model based on yourbusiness goals• Will often spans more than “classic”automation: from requirements gathering toruntime application and quality analysis• Feedback cycles essential to targetedimprovements
  53. 53. More Info• Application Release Trends 2013 Survey– go.xebialabs.com/Survey2013.htm• Dzone Refcard: “Preparing for Continous Delivery”– refcardz.dzone.com/refcardz/preparing-continuous-delivery• “Introducing Continuous Delivery in the Enterprise”– go.xebialabs.com/EBCDWhitepaper_Continuous_Delivery.html• Continuous Delivery Automation– www.xebialabs.com/continuous-delivery• Drop by our booth #11!
  54. 54. Thank You!Deployit: www.xebialabs.com/productsBlog: blog.xebialabs.comTwitter: @xebialabsYouTube: youtube.com/xebialabs

×