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

Our Continuous Delivery Journey

Our Continuous Delivery Journey

Doing continuous delivery? Got nothing left to learn? Yeah right! The journey to continuous delivery (CD) is long, winding and always evolving. Come hear my stories, learn what worked and what didn't work for us and get some helpful tips!

Originally presented at DevOpsDays Kansas City in October 2016 https://www.devopsdays.org/events/2016-kansascity/program/suzie-prince/

suziejprince

October 21, 2016
Tweet

More Decks by suziejprince

Other Decks in Programming

Transcript

  1. OUR CONTINUOUS DELIVERY JOURNEY Suzie Prince ThoughtWorks

  2. Define Continuous Delivery (CD) Tell some stories about our journey

    to CD Review learnings and share tips WHAT I WILL COVER
  3. Suzie Prince Head of Product for ThoughtWorks products group Product

    Manager for Snap CI 10 + years experience in software development including agile and CD practices Tweeting @pm_suzie
  4. None
  5. None
  6. None
  7. None
  8. WHAT IS CD?

  9. “Continuous Delivery is the ability to get changes of all

    types—including new features, configuration changes, bug fixes and experiments—into production, or into the hands of users, safely and quickly in a sustainable way.” - Jez Humble, continuousdelivery.com
  10. “Continuous Delivery is the ability to get changes of all

    types—including new features, configuration changes, bug fixes and experiments—into production, or into the hands of users, safely and quickly in a sustainable way.” - Jez Humble, continuousdelivery.com
  11. CONTINUOUS DELIVERY

  12. None
  13. None
  14. None
  15. None
  16. RELEASE RELEASE RELEASE RELEASE YEAR

  17. Commit Build and Test Automated Tests Installer Tests Staging Deliver

    User Acceptance
  18. Commit Build and Test Automated Tests Installer Tests Staging Deliver

    User Acceptance
  19. Commit Build and Test Automated Tests Installer Tests Staging Deliver

    User Acceptance
  20. Commit Build and Test Automated Tests Installer Tests Staging Deliver

    User Acceptance
  21. Commit Build and Test Automated Tests Installer Tests Staging Deliver

    User Acceptance
  22. Commit Build and Test Automated Tests Installer Tests Staging Deliver

    User Acceptance
  23. Commit Build and Test Automated Tests Installer Tests Staging Deliver

    User Acceptance
  24. Commit Build and Test Automated Tests Installer Tests Staging Deliver

    User Acceptance
  25. Commit Build and Test Automated Tests Installer Tests Staging Deliver

    User Acceptance
  26. None
  27. None
  28. None
  29. None
  30. RELEASE YEAR RELEASE RELEASE RELEASE

  31. RELEASE RELEASE RELEASE RELEASE 25% RELEASE TIME WAS INSTALLER TESTING

    YEAR
  32. Commit Build and Test Automated Tests Installer Tests Staging Deliver

    User Acceptance
  33. Commit Build and Test Automated Tests Installer Tests Staging Deliver

    User Acceptance
  34. Commit Build and Test Automated Tests Installer Tests Staging Deliver

    User Acceptance
  35. Commit Build and Test Automated Tests Staging Deliver User Acceptance

    Commit Build and Test Automated Tests Installer Tests Staging Deliver User Acceptance
  36. Commit Build and Test Automated Tests Staging Deliver User Acceptance

    Commit Build and Test Automated Tests Installer Tests Staging Deliver User Acceptance
  37. Commit Build and Test Automated Tests Staging Deliver User Acceptance

    Commit Build and Test Automated Tests Installer Tests Staging Deliver User Acceptance
  38. Commit Build and Test Automated Tests Staging Deliver User Acceptance

    Commit Build and Test Automated Tests Installer Tests Staging Deliver User Acceptance
  39. Commit Build and Test Automated Tests Installer Tests Staging Deliver

    User Acceptance
  40. RELEASE RELEASE RELEASE RELEASE YEAR

  41. RELEASE RELEASE RELEASE RELEASE <5% RELEASE TIME WAS INSTALLER TESTING

    YEAR
  42. HIDDEN SILOS

  43. Commit Build and Test Automated Tests Installer Tests Staging Deliver

    User Acceptance
  44. Commit Build and Test Automated Tests Installer Tests Staging Deliver

    User Acceptance
  45. OUR LEARNINGS Automate, automate, automate Look for hidden silos

  46. None
  47. None
  48. None
  49. Microservices RabbitMQ Nagios Automated infrastructure Deployment pipelines Containers!

  50. Microservices RabbitMQ Nagios Automated infrastructure Deployment pipelines ✔ Containers!

  51. Microservices RabbitMQ Nagios Automated infrastructure Deployment pipelines ✔ ✔ Containers!

  52. Microservices RabbitMQ Nagios Automated infrastructure Deployment pipelines ✔ ✔ ✔

    Containers!
  53. Microservices RabbitMQ Nagios Automated infrastructure Deployment pipelines ✔ ✔ ✔

    ✔ Containers!
  54. Microservices RabbitMQ Nagios Automated infrastructure Deployment pipelines ✔ ✔ ✔

    ✔ ✔ Containers!
  55. Microservices RabbitMQ Nagios Automated infrastructure Deployment pipelines ✔ ✔ ✔

    ✔ ✔ Containers! ✔
  56. Microservices RabbitMQ Nagios Automated infrastructure Deployment pipelines GOOD JOB! ✔

    ✔ ✔ ✔ ✔ Containers! ✔
  57. “Continuous Delivery is the ability to get changes of all

    types—including new features, configuration changes, bug fixes and experiments—into production, or into the hands of users, safely and quickly in a sustainable way.” - Jez Humble, continuousdelivery.com
  58. “Continuous Delivery is the ability to get changes of all

    types—including new features, configuration changes, bug fixes and experiments—into production, or into the hands of users, safely and quickly in a sustainable way.” - Jez Humble, continuousdelivery.com
  59. “Continuous Delivery is the ability to get changes of all

    types—including new features, configuration changes, bug fixes and experiments—into production, or into the hands of users, safely and quickly in a sustainable way.” - Jez Humble, continuousdelivery.com
  60. “Continuous Delivery is the ability to get changes of all

    types—including new features, configuration changes, bug fixes and experiments—into production, or into the hands of users, safely and quickly in a sustainable way.” - Jez Humble, continuousdelivery.com
  61. “Continuous Delivery is the ability to get changes of all

    types—including new features, configuration changes, bug fixes and experiments—into production, or into the hands of users, safely and quickly in a sustainable way.” - Jez Humble, continuousdelivery.com
  62. “Continuous Delivery is the ability to get changes of all

    types—including new features, configuration changes, bug fixes and experiments—into production, or into the hands of users, safely and quickly in a sustainable way.” - Jez Humble, continuousdelivery.com
  63. Microservices RabbitMQ Nagios Automated infrastructure Deployment pipelines GOOD JOB! ✔

    ✔ ✔ ✔ ✔ Containers! ✔
  64. Microservices

  65. None
  66. None
  67. None
  68. None
  69. None
  70. None
  71. OUR LEARNINGS Delivering value, not doing CD is your job

    CD is a journey
  72. TAKE AWAYS

  73. None
  74. None
  75. None
  76. None
  77. PRACTICE CONTINUOUS INTEGRATION

  78. None
  79. None
  80. FREQUENCY REDUCES DIFFICULTY

  81. None
  82. None
  83. DOING CONTINUOUS DELIVERY IS NOT YOUR JOB GOOD JOB!

  84. None
  85. None
  86. INVOLVE THE WHOLE TEAM

  87. None
  88. None
  89. AUTOMATE EVERYTHING

  90. CONTINUOUS DELIVERY IS A JOURNEY… Keep your goals in mind

    Look back and retrospect Focus on what is not good now and improve that Don’t be too critical Don’t fear redesign, don’t fear rework
  91. CONTINUOUS DELIVERY IS A JOURNEY… Keep your goals in mind

    Look back and retrospect Focus on what is not good now and improve that Don’t be too critical Don’t fear redesign, don’t fear rework