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.

JDD2015: Migrating to continuous delivery in the world of financial trading - David Genn

153 views

Published on

MIGRATING TO CONTINUOUS DELIVERY IN THE WORLD OF FINANCIAL TRADING

IG Group is a global leader in online retail trading. It has over 120,000 active users around the world, and serves over 4.5 million trades per month. IG has had an online presence since the early 2000s and has grown sizeable IT real estate to support its many users and activities. Like many large companies, IG has depended on monthly big bang release cycles with long regression periods to guarantee the quality and reliability of its software.


In 2013 IG started to move towards a continuous delivery model. This allowed us to break away from an ever-increasing monthly software release, and to enable higher quality and stability by releasing small change sets into production more frequently.


In the world of financial trading, uptime and reliability are carefully monitored by financial regulators around the globe. In this talk, we look at the approaches and techniques IG have used to move to a continuous delivery model. Their API layer serves upwards of 40k requests per minute and is connected to numerous web, mobile, and public API clients. We will explore the technical and organisational challenges faced along the way, as well as some of the unexpected benefits.

Published in: Software
  • Be the first to comment

  • Be the first to like this

JDD2015: Migrating to continuous delivery in the world of financial trading - David Genn

  1. 1. Migrating to continuous delivery in the world of financial trading David Genn @david_genn
  2. 2. Challenges What is Continuous Delivery? Key Principles Technical Approach Team Culture
  3. 3. Flow efficiency verses Resource efficiency
  4. 4. New key metric: What is your cycle time?
  5. 5. Encouraging greater collaboration between everyone involved in software delivery in order to release valuable software faster and more reliably.
  6. 6. Challenges What is Continuous Delivery? Key Principles Technical Approach Team Culture
  7. 7. •Uptime SLAs •Regulation / Auditors •Legacy code •Complex cross-team projects
  8. 8. •Physical servers •Development team attitude •What about the code-freeze?
  9. 9. Challenges What is Continuous Delivery? Key Principles Technical Approach Team Culture
  10. 10. •Every commit is a release candidate •Trust your tests •Automate everything •Separate deployment from release
  11. 11. Challenges What is Continuous Delivery? Key Principles Technical Approach Team Culture
  12. 12. Master v1.0.0- SNAPSHOT
  13. 13. Master v1.0.0- SNAPSHOT 1. New feature branch
  14. 14. Master v1.0.0- SNAPSHOT 1. New feature branch 2. Developers commit to feature branch
  15. 15. Master v1.0.0- SNAPSHOT 1. New feature branch 2. Developers commit to feature branch 3. Pull request
  16. 16. Master v1.0.0- SNAPSHOT 1. New feature branch 2. Developers commit to feature branch 3. Pull request 4. Merge to master
  17. 17. Master v1.0.0- SNAPSHOT 1. New feature branch 2. Developers commit to feature branch 3. Pull request 4. Merge to master 5. Bamboo checkouts a new branch: release- 1.0.0
  18. 18. Master v1.0.0- SNAPSHOT 1. New feature branch 2. Developers commit to feature branch 3. Pull request 4. Merge to master 5. Bamboo checkouts a new branch: release- 1.0.0 6. If the build passes, a tag is created: 1.0.0
  19. 19. Master v1.0.0- SNAPSHOT 1. New feature branch 2. Developers commit to feature branch 3. Pull request 4. Merge to master 5. Bamboo checkouts a new branch: release- 1.0.0 6. If the build passes, a tag is created: 1.0.0 7. The new branch and tag are pushed to origin
  20. 20. Master v1.0.0- SNAPSHOT release-1.0.0 1.0.0 release-1.0.0-HOTFIX If a bug is found and it cannot be fixed by ‘rolling forward’, a hotfix branch can be created off the release branch.
  21. 21. Developer merges code Bamboo tags the code and builds it Runs automated tests Deploys to dark test environment Runs automated tests MANUAL STOP Flip dark to light in test MANUAL STOP Deploy to UAT dark
  22. 22. Feature flags
  23. 23. Challenges What is Continuous Delivery? Key Principles Technical Approach Team Culture
  24. 24. Maturity is everything
  25. 25. Focus on self- organisation
  26. 26. Ditch roles, create specialities
  27. 27. Embrace bureaucracy
  28. 28. What metric do you use to measure your team’s success?
  29. 29. David Genn @david_genn david.genn@ig.com

×