SlideShare a Scribd company logo
1 of 43
Migrating to continuous
delivery in the world of
financial trading
David Genn @david_genn
Challenges
What is Continuous Delivery?
Key Principles
Technical Approach
Team Culture
Flow efficiency
verses
Resource efficiency
New key metric:
What is your cycle
time?
Encouraging greater collaboration
between everyone involved in
software delivery in order to
release valuable software faster
and more reliably.
Challenges
What is Continuous Delivery?
Key Principles
Technical Approach
Team Culture
•Uptime SLAs
•Regulation / Auditors
•Legacy code
•Complex cross-team projects
•Physical servers
•Development team attitude
•What about the code-freeze?
Challenges
What is Continuous Delivery?
Key Principles
Technical Approach
Team Culture
•Every commit is a release candidate
•Trust your tests
•Automate everything
•Separate deployment from release
Challenges
What is Continuous Delivery?
Key Principles
Technical Approach
Team Culture
Master
v1.0.0-
SNAPSHOT
Master
v1.0.0-
SNAPSHOT
1. New feature
branch
Master
v1.0.0-
SNAPSHOT
1. New feature
branch
2. Developers
commit to feature
branch
Master
v1.0.0-
SNAPSHOT
1. New feature
branch
2. Developers
commit to feature
branch
3. Pull request
Master
v1.0.0-
SNAPSHOT
1. New feature
branch
2. Developers
commit to feature
branch
3. Pull request
4. Merge to master
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
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
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
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.
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
Feature flags
Challenges
What is Continuous Delivery?
Key Principles
Technical Approach
Team Culture
Maturity is everything
Focus on self-
organisation
Ditch roles, create
specialities
Embrace bureaucracy
What metric do
you use to
measure your
team’s success?
David Genn
@david_genn
david.genn@ig.com
hr-poland@ig.com

More Related Content

What's hot

Building Better Collaboration Between Development and Testing in a DevOps World
Building Better Collaboration Between Development and Testing in a DevOps WorldBuilding Better Collaboration Between Development and Testing in a DevOps World
Building Better Collaboration Between Development and Testing in a DevOps WorldQASymphony
 
Webinar: DevOps challenges facing QA
Webinar: DevOps challenges facing QAWebinar: DevOps challenges facing QA
Webinar: DevOps challenges facing QAQualitest
 
¿Qué es DevOps y por qué es importante en el Ciclo de Software? por michelada.io
¿Qué es DevOps y por qué es importante en el Ciclo de Software? por michelada.io¿Qué es DevOps y por qué es importante en el Ciclo de Software? por michelada.io
¿Qué es DevOps y por qué es importante en el Ciclo de Software? por michelada.ioSoftware Guru
 
Fighting The Fintech Wave With DevOps
Fighting The Fintech Wave With DevOpsFighting The Fintech Wave With DevOps
Fighting The Fintech Wave With DevOpscontinohq
 
How to implement DevOps in your Organization
How to implement DevOps in your OrganizationHow to implement DevOps in your Organization
How to implement DevOps in your OrganizationDalibor Blazevic
 
Live Webinar- Making Test Automation 10x Faster for Continuous Delivery- By R...
Live Webinar- Making Test Automation 10x Faster for Continuous Delivery- By R...Live Webinar- Making Test Automation 10x Faster for Continuous Delivery- By R...
Live Webinar- Making Test Automation 10x Faster for Continuous Delivery- By R...RapidValue
 
The Push From Within - A Journey of Transformation at Walmart Labs by Claude ...
The Push From Within - A Journey of Transformation at Walmart Labs by Claude ...The Push From Within - A Journey of Transformation at Walmart Labs by Claude ...
The Push From Within - A Journey of Transformation at Walmart Labs by Claude ...Sauce Labs
 
Drive Continuous Delivery With Continuous Testing
Drive Continuous Delivery With Continuous TestingDrive Continuous Delivery With Continuous Testing
Drive Continuous Delivery With Continuous TestingCA Technologies
 
Powering Safe Launch @ Scale (Feature Flags, Targeting, Experimentation)
Powering Safe Launch @ Scale (Feature Flags, Targeting, Experimentation)Powering Safe Launch @ Scale (Feature Flags, Targeting, Experimentation)
Powering Safe Launch @ Scale (Feature Flags, Targeting, Experimentation)Split Software
 
DevOps presentation
DevOps presentationDevOps presentation
DevOps presentationAxsh Co. LTD
 
QASymphony Atlanta Customer User Group Fall 2017
QASymphony Atlanta Customer User Group Fall 2017QASymphony Atlanta Customer User Group Fall 2017
QASymphony Atlanta Customer User Group Fall 2017QASymphony
 
#SPSNewEngland Improving #DevOps using #Microsoft business productivity tools...
#SPSNewEngland Improving #DevOps using #Microsoft business productivity tools...#SPSNewEngland Improving #DevOps using #Microsoft business productivity tools...
#SPSNewEngland Improving #DevOps using #Microsoft business productivity tools...Vincent Biret
 
DevOps vs Agile — Understand The Difference!
DevOps vs Agile — Understand The Difference!DevOps vs Agile — Understand The Difference!
DevOps vs Agile — Understand The Difference!Serena Gray
 
What's the State of Agile Software Development?
What's the State of Agile Software Development?What's the State of Agile Software Development?
What's the State of Agile Software Development?VersionOne
 
DevOps Testing | Continuous Testing In DevOps | DevOps Tutorial | DevOps Trai...
DevOps Testing | Continuous Testing In DevOps | DevOps Tutorial | DevOps Trai...DevOps Testing | Continuous Testing In DevOps | DevOps Tutorial | DevOps Trai...
DevOps Testing | Continuous Testing In DevOps | DevOps Tutorial | DevOps Trai...Edureka!
 
DevOps Implementation for Applications Solution - Datasheet
DevOps Implementation for Applications Solution - DatasheetDevOps Implementation for Applications Solution - Datasheet
DevOps Implementation for Applications Solution - DatasheetTodd Erskine
 
Automate Salesforce Releases with DevOps: Crawl, Walk, Run!
Automate Salesforce Releases with DevOps: Crawl, Walk, Run!Automate Salesforce Releases with DevOps: Crawl, Walk, Run!
Automate Salesforce Releases with DevOps: Crawl, Walk, Run!Susmitha Vakkalanka
 
Measure and Accelerate Your Software Delivery
Measure and Accelerate Your Software DeliveryMeasure and Accelerate Your Software Delivery
Measure and Accelerate Your Software DeliveryAnand Chauhan
 

What's hot (20)

Building Better Collaboration Between Development and Testing in a DevOps World
Building Better Collaboration Between Development and Testing in a DevOps WorldBuilding Better Collaboration Between Development and Testing in a DevOps World
Building Better Collaboration Between Development and Testing in a DevOps World
 
Webinar: DevOps challenges facing QA
Webinar: DevOps challenges facing QAWebinar: DevOps challenges facing QA
Webinar: DevOps challenges facing QA
 
Demystifying Devops - Uday kumar
Demystifying Devops - Uday kumarDemystifying Devops - Uday kumar
Demystifying Devops - Uday kumar
 
¿Qué es DevOps y por qué es importante en el Ciclo de Software? por michelada.io
¿Qué es DevOps y por qué es importante en el Ciclo de Software? por michelada.io¿Qué es DevOps y por qué es importante en el Ciclo de Software? por michelada.io
¿Qué es DevOps y por qué es importante en el Ciclo de Software? por michelada.io
 
Fighting The Fintech Wave With DevOps
Fighting The Fintech Wave With DevOpsFighting The Fintech Wave With DevOps
Fighting The Fintech Wave With DevOps
 
How to implement DevOps in your Organization
How to implement DevOps in your OrganizationHow to implement DevOps in your Organization
How to implement DevOps in your Organization
 
Live Webinar- Making Test Automation 10x Faster for Continuous Delivery- By R...
Live Webinar- Making Test Automation 10x Faster for Continuous Delivery- By R...Live Webinar- Making Test Automation 10x Faster for Continuous Delivery- By R...
Live Webinar- Making Test Automation 10x Faster for Continuous Delivery- By R...
 
The Push From Within - A Journey of Transformation at Walmart Labs by Claude ...
The Push From Within - A Journey of Transformation at Walmart Labs by Claude ...The Push From Within - A Journey of Transformation at Walmart Labs by Claude ...
The Push From Within - A Journey of Transformation at Walmart Labs by Claude ...
 
DevOps
DevOpsDevOps
DevOps
 
Drive Continuous Delivery With Continuous Testing
Drive Continuous Delivery With Continuous TestingDrive Continuous Delivery With Continuous Testing
Drive Continuous Delivery With Continuous Testing
 
Powering Safe Launch @ Scale (Feature Flags, Targeting, Experimentation)
Powering Safe Launch @ Scale (Feature Flags, Targeting, Experimentation)Powering Safe Launch @ Scale (Feature Flags, Targeting, Experimentation)
Powering Safe Launch @ Scale (Feature Flags, Targeting, Experimentation)
 
DevOps presentation
DevOps presentationDevOps presentation
DevOps presentation
 
QASymphony Atlanta Customer User Group Fall 2017
QASymphony Atlanta Customer User Group Fall 2017QASymphony Atlanta Customer User Group Fall 2017
QASymphony Atlanta Customer User Group Fall 2017
 
#SPSNewEngland Improving #DevOps using #Microsoft business productivity tools...
#SPSNewEngland Improving #DevOps using #Microsoft business productivity tools...#SPSNewEngland Improving #DevOps using #Microsoft business productivity tools...
#SPSNewEngland Improving #DevOps using #Microsoft business productivity tools...
 
DevOps vs Agile — Understand The Difference!
DevOps vs Agile — Understand The Difference!DevOps vs Agile — Understand The Difference!
DevOps vs Agile — Understand The Difference!
 
What's the State of Agile Software Development?
What's the State of Agile Software Development?What's the State of Agile Software Development?
What's the State of Agile Software Development?
 
DevOps Testing | Continuous Testing In DevOps | DevOps Tutorial | DevOps Trai...
DevOps Testing | Continuous Testing In DevOps | DevOps Tutorial | DevOps Trai...DevOps Testing | Continuous Testing In DevOps | DevOps Tutorial | DevOps Trai...
DevOps Testing | Continuous Testing In DevOps | DevOps Tutorial | DevOps Trai...
 
DevOps Implementation for Applications Solution - Datasheet
DevOps Implementation for Applications Solution - DatasheetDevOps Implementation for Applications Solution - Datasheet
DevOps Implementation for Applications Solution - Datasheet
 
Automate Salesforce Releases with DevOps: Crawl, Walk, Run!
Automate Salesforce Releases with DevOps: Crawl, Walk, Run!Automate Salesforce Releases with DevOps: Crawl, Walk, Run!
Automate Salesforce Releases with DevOps: Crawl, Walk, Run!
 
Measure and Accelerate Your Software Delivery
Measure and Accelerate Your Software DeliveryMeasure and Accelerate Your Software Delivery
Measure and Accelerate Your Software Delivery
 

Viewers also liked

Towards a Push-Button Release
Towards a Push-Button ReleaseTowards a Push-Button Release
Towards a Push-Button ReleaseChris Sterling
 
Integrating Quality into Project Portfolio Management
Integrating Quality into Project Portfolio ManagementIntegrating Quality into Project Portfolio Management
Integrating Quality into Project Portfolio ManagementChris Sterling
 
Dollars and Dates are Killing Agile
Dollars and Dates are Killing AgileDollars and Dates are Killing Agile
Dollars and Dates are Killing AgileChris Sterling
 
Recognizing Software Debt - Beyond Agile Puget Sound
Recognizing Software Debt - Beyond Agile Puget SoundRecognizing Software Debt - Beyond Agile Puget Sound
Recognizing Software Debt - Beyond Agile Puget SoundChris Sterling
 
Managing Software Debt - Quality Debt Focus for QASIG Seattle
Managing Software Debt - Quality Debt Focus for QASIG SeattleManaging Software Debt - Quality Debt Focus for QASIG Seattle
Managing Software Debt - Quality Debt Focus for QASIG SeattleChris Sterling
 
The Software Debt Bubble: Is It About to Burst
The Software Debt Bubble: Is It About to BurstThe Software Debt Bubble: Is It About to Burst
The Software Debt Bubble: Is It About to BurstChris Sterling
 

Viewers also liked (6)

Towards a Push-Button Release
Towards a Push-Button ReleaseTowards a Push-Button Release
Towards a Push-Button Release
 
Integrating Quality into Project Portfolio Management
Integrating Quality into Project Portfolio ManagementIntegrating Quality into Project Portfolio Management
Integrating Quality into Project Portfolio Management
 
Dollars and Dates are Killing Agile
Dollars and Dates are Killing AgileDollars and Dates are Killing Agile
Dollars and Dates are Killing Agile
 
Recognizing Software Debt - Beyond Agile Puget Sound
Recognizing Software Debt - Beyond Agile Puget SoundRecognizing Software Debt - Beyond Agile Puget Sound
Recognizing Software Debt - Beyond Agile Puget Sound
 
Managing Software Debt - Quality Debt Focus for QASIG Seattle
Managing Software Debt - Quality Debt Focus for QASIG SeattleManaging Software Debt - Quality Debt Focus for QASIG Seattle
Managing Software Debt - Quality Debt Focus for QASIG Seattle
 
The Software Debt Bubble: Is It About to Burst
The Software Debt Bubble: Is It About to BurstThe Software Debt Bubble: Is It About to Burst
The Software Debt Bubble: Is It About to Burst
 

Similar to Migrating to Continuous Delivery in Financial Trading

Introduction to 5w’s of DevOps
Introduction to 5w’s of DevOpsIntroduction to 5w’s of DevOps
Introduction to 5w’s of DevOpsCygnet Infotech
 
Enterprise DevOps and the Modern Mainframe Webcast Presentation
Enterprise DevOps and the Modern Mainframe Webcast PresentationEnterprise DevOps and the Modern Mainframe Webcast Presentation
Enterprise DevOps and the Modern Mainframe Webcast PresentationCompuware
 
A Blueprint for a Successful DevOps Metamorphosis
A Blueprint for a Successful DevOps MetamorphosisA Blueprint for a Successful DevOps Metamorphosis
A Blueprint for a Successful DevOps MetamorphosisXebiaLabs
 
DevOps Overview in my own words
DevOps Overview in my own wordsDevOps Overview in my own words
DevOps Overview in my own wordsSUBHENDU KARMAKAR
 
Continuous Delivery: why ? where to start ? how to scale ?
Continuous Delivery: why ? where to start ? how to scale ?Continuous Delivery: why ? where to start ? how to scale ?
Continuous Delivery: why ? where to start ? how to scale ?Jean-Philippe Briend
 
NRB - LUXEMBOURG MAINFRAME DAY 2017 - Compuware DevOps presentation
NRB - LUXEMBOURG MAINFRAME DAY 2017 - Compuware DevOps presentationNRB - LUXEMBOURG MAINFRAME DAY 2017 - Compuware DevOps presentation
NRB - LUXEMBOURG MAINFRAME DAY 2017 - Compuware DevOps presentationNRB
 
NRB - BE MAINFRAME DAY 2017 - Compuware Dev Ops
NRB - BE MAINFRAME DAY 2017 - Compuware Dev OpsNRB - BE MAINFRAME DAY 2017 - Compuware Dev Ops
NRB - BE MAINFRAME DAY 2017 - Compuware Dev OpsNRB
 
Agile & DevOps - It's all about project success
Agile & DevOps - It's all about project successAgile & DevOps - It's all about project success
Agile & DevOps - It's all about project successAdam Stephensen
 
Geecon Microservices 2015 - Swimming upstream in the container revolution
Geecon Microservices 2015 - Swimming upstream in the container revolutionGeecon Microservices 2015 - Swimming upstream in the container revolution
Geecon Microservices 2015 - Swimming upstream in the container revolutionBert Jan Schrijver
 
Successful Practices for Continuous Delivery CodeCPH
Successful Practices for Continuous Delivery CodeCPHSuccessful Practices for Continuous Delivery CodeCPH
Successful Practices for Continuous Delivery CodeCPHMandi Walls
 
Fundamentals of DevOps for Data Testers Course - Module 1
Fundamentals of DevOps for Data Testers Course - Module 1Fundamentals of DevOps for Data Testers Course - Module 1
Fundamentals of DevOps for Data Testers Course - Module 1MichaelCalabrese20
 
Devoxx BE 2015 - Swimming upstream in the container revolution
Devoxx BE 2015 - Swimming upstream in the container revolutionDevoxx BE 2015 - Swimming upstream in the container revolution
Devoxx BE 2015 - Swimming upstream in the container revolutionBert Jan Schrijver
 
EuregJUG 2016-01-07 - Swimming upstream in the container revolution
EuregJUG 2016-01-07 - Swimming upstream in the container revolutionEuregJUG 2016-01-07 - Swimming upstream in the container revolution
EuregJUG 2016-01-07 - Swimming upstream in the container revolutionBert Jan Schrijver
 
Dev ops != Dev+Ops
Dev ops != Dev+OpsDev ops != Dev+Ops
Dev ops != Dev+OpsShalu Ahuja
 
Freedom and Responsibility
Freedom and ResponsibilityFreedom and Responsibility
Freedom and ResponsibilityMike Ruangutai
 
Java Forum Nord 2015 - Swimming upstream in the container revolution
Java Forum Nord 2015 - Swimming upstream in the container revolutionJava Forum Nord 2015 - Swimming upstream in the container revolution
Java Forum Nord 2015 - Swimming upstream in the container revolutionBert Jan Schrijver
 

Similar to Migrating to Continuous Delivery in Financial Trading (20)

Introduction to 5w’s of DevOps
Introduction to 5w’s of DevOpsIntroduction to 5w’s of DevOps
Introduction to 5w’s of DevOps
 
Devops Mindset Essentials
Devops Mindset EssentialsDevops Mindset Essentials
Devops Mindset Essentials
 
Enterprise DevOps and the Modern Mainframe Webcast Presentation
Enterprise DevOps and the Modern Mainframe Webcast PresentationEnterprise DevOps and the Modern Mainframe Webcast Presentation
Enterprise DevOps and the Modern Mainframe Webcast Presentation
 
A Blueprint for a Successful DevOps Metamorphosis
A Blueprint for a Successful DevOps MetamorphosisA Blueprint for a Successful DevOps Metamorphosis
A Blueprint for a Successful DevOps Metamorphosis
 
DevOps Overview in my own words
DevOps Overview in my own wordsDevOps Overview in my own words
DevOps Overview in my own words
 
Continuous Delivery: why ? where to start ? how to scale ?
Continuous Delivery: why ? where to start ? how to scale ?Continuous Delivery: why ? where to start ? how to scale ?
Continuous Delivery: why ? where to start ? how to scale ?
 
NRB - LUXEMBOURG MAINFRAME DAY 2017 - Compuware DevOps presentation
NRB - LUXEMBOURG MAINFRAME DAY 2017 - Compuware DevOps presentationNRB - LUXEMBOURG MAINFRAME DAY 2017 - Compuware DevOps presentation
NRB - LUXEMBOURG MAINFRAME DAY 2017 - Compuware DevOps presentation
 
NRB - BE MAINFRAME DAY 2017 - Compuware Dev Ops
NRB - BE MAINFRAME DAY 2017 - Compuware Dev OpsNRB - BE MAINFRAME DAY 2017 - Compuware Dev Ops
NRB - BE MAINFRAME DAY 2017 - Compuware Dev Ops
 
Agile & DevOps - It's all about project success
Agile & DevOps - It's all about project successAgile & DevOps - It's all about project success
Agile & DevOps - It's all about project success
 
Geecon Microservices 2015 - Swimming upstream in the container revolution
Geecon Microservices 2015 - Swimming upstream in the container revolutionGeecon Microservices 2015 - Swimming upstream in the container revolution
Geecon Microservices 2015 - Swimming upstream in the container revolution
 
Successful Practices for Continuous Delivery CodeCPH
Successful Practices for Continuous Delivery CodeCPHSuccessful Practices for Continuous Delivery CodeCPH
Successful Practices for Continuous Delivery CodeCPH
 
Introduction to devops
Introduction to devopsIntroduction to devops
Introduction to devops
 
Fundamentals of DevOps for Data Testers Course - Module 1
Fundamentals of DevOps for Data Testers Course - Module 1Fundamentals of DevOps for Data Testers Course - Module 1
Fundamentals of DevOps for Data Testers Course - Module 1
 
6 Resons To Implememnt DevOps In Your Business
6 Resons To Implememnt DevOps In Your Business6 Resons To Implememnt DevOps In Your Business
6 Resons To Implememnt DevOps In Your Business
 
Devoxx BE 2015 - Swimming upstream in the container revolution
Devoxx BE 2015 - Swimming upstream in the container revolutionDevoxx BE 2015 - Swimming upstream in the container revolution
Devoxx BE 2015 - Swimming upstream in the container revolution
 
EuregJUG 2016-01-07 - Swimming upstream in the container revolution
EuregJUG 2016-01-07 - Swimming upstream in the container revolutionEuregJUG 2016-01-07 - Swimming upstream in the container revolution
EuregJUG 2016-01-07 - Swimming upstream in the container revolution
 
Dev ops != Dev+Ops
Dev ops != Dev+OpsDev ops != Dev+Ops
Dev ops != Dev+Ops
 
Freedom and Responsibility
Freedom and ResponsibilityFreedom and Responsibility
Freedom and Responsibility
 
Dev ops
Dev opsDev ops
Dev ops
 
Java Forum Nord 2015 - Swimming upstream in the container revolution
Java Forum Nord 2015 - Swimming upstream in the container revolutionJava Forum Nord 2015 - Swimming upstream in the container revolution
Java Forum Nord 2015 - Swimming upstream in the container revolution
 

Recently uploaded

Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantAxelRicardoTrocheRiq
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...OnePlan Solutions
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024StefanoLambiase
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...gurkirankumar98700
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaHanief Utama
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmSujith Sukumaran
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - InfographicHr365.us smith
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...Christina Lin
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based projectAnoyGreter
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxTier1 app
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEEVICTOR MAESTRE RAMIREZ
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWave PLM
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityNeo4j
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesPhilip Schwarz
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackVICTOR MAESTRE RAMIREZ
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样umasea
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Andreas Granig
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
 

Recently uploaded (20)

Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service Consultant
 
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief Utama
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalm
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - Infographic
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based project
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEE
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need It
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered Sustainability
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a series
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStack
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 

Migrating to Continuous Delivery in Financial Trading

Editor's Notes

  1. Thank you for coming to listen CD is ecoming an increasingly popular and common place term Part of the DevOps movement Talking about: Why CD is essential The challenges of implementing it in a FinTech company Some lessons from our real world implementation
  2. I’m David Genn Tech lead of our API team We provide web and mobile based platforms to allow retail customers to trade the financial markets We have ~120k customers across the globe Process in excess of 4 million trades a month
  3. For us to really understand why Continuous Delivery is something we need to take seriously we need to consider the principles behind how we build software The Lean movement has helped shape the way the most effective development teams work I’d like to recommend this book as a great starting point for understanding it “This is Lean” by Niklas Modig and Par Ahlstrom
  4. Book starts with an anecdote about seeing your doctor It tells the tale of a woman who wakes up and discovers a lump in her breast and is worried that she may have cancer She goes to her doctor Her doctor refers her to a specialist 2 weeks later she goes to see the specialist who tells her that she needs to have a biopsy 10 days after that she goes to see the surgeon who can take the biopsy The results are sent back to her original doctor who finally gives her a diagnosis 5 days later Total time to get a diagnosis: 29 days A second woman also wakes up one morning and discovers a lump She goes to a specialist walk in clinic where everyone is onsite who she could need to see She sees a nurse who gives her a preliminary check She immediately sees a specialist who sends hr down the corridor to have the biopsy taken She waits two hours whilst the biopsy results come back She is given her diagnosis Total time to get a diagnosis 4 hours
  5. The first process focussed on efficiently using resources The doctors and nurses were kept completely busy because they had full waiting rooms of people to see To ensure all the medical staff were used effectively, you need a separate appointment to see each specialist This is called Resource Efficiency The second approach focuses on the time it takes to get a diagnosis. This means having everyone available in one site that may be needed to get a diagnosis You have no guarantee that every medical specialist will be fully utilised but you do guarantee a quick diagnosis This is called Flow Efficiency
  6. In software development we are still focussed on efficiently using our resources. We want our development teams and our QA teams to be fully occupied This means we want everyone working on delivering as many features as we can Inevitably this means we build up large batches of features that need to be released
  7. This approach does efficiently use our development and QA teams resources However it means we inevitably have to go slower as more co-ordination is needed and there are more hand offs and queues between teams This is ‘smart motorway’ in the UK which adjust the speed limit depending on the volume of traffic The more traffic, the slower they have to go to prevent traffic jams It’s the same with software development – the more code being deployed, the more co-ordination you need and the slower you have to go
  8. Large releases of code need large amounts of infrastructure to support it We need to co-ordinate release into each environment We need to co-ordinate regression testing, code freezes, bug fixes etc We end up creating roles like Release Manager and Delivery Manager to keep things on track
  9. And of course, large releases of code are much riskier as so much is changing If one aspect of the release goes wrong, it can have a catastrophic failure on the other features being deployed
  10. Rather than being like those large container ships, we need to be more like Amazon They’ve started a 1 hour delivery service for certain goods in certain cities They’re focussing on how quickly they can get a product to their customer, rather than how many things are being delivered at any one time
  11. Amazon clearly don’t use large vehicles to do their Prime Now deliveries – they use cycle couriers These guys can’t carry very much, but they can deliver very quickly We need to deliver software more like a bike courier and less like a container ship
  12. Too often we measure a development teams effectiveness based on their velocity - this merely measures our resource efficiency To measure our flow efficiency we need to measure our cycle time – how long does it take to go from having an idea or seeing a problem to getting the solution into prod The time it takes to deliver an idea in to production is what gives you a competitive edge. It doesn’t matter how many projects you deliver per year if your competitor can deliver ideas to customers more quickly. It is your cycle time that will determine your success. Facebook deploy features every week Amazon deliver code into prod every 12 seconds Google do 2 billion deploys every week It’s no wonder that these companies dominate so successfully
  13. Continuous Delivery is a principle that has been around for almost 10 years It is a set of principles for helping teams deliver valuable software to production as soon as it’s ready and move away from the large batch release process This infographic is a summary of Jez Humble and Dave Farley’s book on Continuous Delivery
  14. Continuous Delivery in summary
  15. As a Fintech company we face a number of challenges that we’re overcoming to allow us to get the benefits of Continuous Delivery
  16. Uptime SLAs – our uptime is carefully monitored which is essential given we’re handing client’s money. Any changes to our release process need to guarantee we don’t impact our uptime. Regulation / Auditors – IG’s operations are regulated by a number of different financial regulators around the globe. The key thing they are concerned about is that we have the correct processes in place to understand and control the change to each environment. We need to work with this process to ensure we continue to meet these requirements. Legacy code – legacy code and monolithic applications can present significant technical challenges to achieving continuous delivery Complex cross-tem projects – this involves large amounts of co-ordination between teams and big-batch releases have often been used as a mechanism for co-ordinating the release of code. This approach no longer works if each team is deploying as soon as they’re ready
  17. Physical servers - Many companies that do CD successfully use the flexibility that the cloud offers them – the ability to provision new server programmatically We are tied to using our own data centres which means we have to build much of the infrastructure that you would get for free in the cloud Developer attitude – CD puts all the responsibility for releasing code on to the development team. If they’ve been used to finishing their development and letting others worry about testing and deploying it then moving to CD will require a shift in attitude What about the code freeze – the code freeze has always been used as a way of giving QA teams a stable, consistent environment to regression test the platform. This is no longer available if teams are deploying continually.
  18. Those are the challenges many companies face, ourselves included, when looking to adopt CD. Many companies use different technical approaches to implement CD but however you do it, there are some core principles
  19. Every commit is a release candidate – every time you merge to master, you need to consider that code ready to go to prod. Gone are the days of coding for 2-4 weeks and then taking a ‘cut’ which you merge to a Release branch. Every time you merge to master you are saying that you’re confident your code is ready to go. Trust your tests – if you’re deploying to prod frequently you can’t rely on long manual regression cycles, you need suites of automated tests that you trust and give you confidence that your app performs as expected. Automate everything – deploying frequently is only possible if it’s easy to do without making mistakes. This means you need to automate as much of the process as possible. Separate deployment from release – there are two risky parts to putting new software live – deploying the new binary and then making the new functionality available. In a raditional release process we do both stages together. In CD we want to separate them. We want to be confident that the new binary is behaving itself before we allow it to serve live traffic. We want to be able to test the new functionality before we switch it on
  20. Those are the principles we’ve focussed on. Here is an overview of how we’ve implemented it.
  21. Firstly, our Git branching model. As we’ve already mentioned, in CD, every commit to master is an RC
  22. Developers work on a feature branch
  23. 1 or more devs will commit to that branch
  24. When the feature is complete they raise a PR
  25. When that PR is approved it is merged directly to master
  26. This triggers a Bamboo build which creates a branch release-1.0.0
  27. If the build passes it creates a tag 1.0.0 and publishes the binary to Nexus
  28. The branch and tag are pushed to origin and the binary is deployed
  29. If a bug is found, you would typically fix it by following the same process – create a new feature branch and merge it to master, creating a new tag to be released. If this isn’t possible, you can create a hotfix branch off the deployed tag.
  30. Another principle of CD is the ability separate the deployment of a new application from the release of the new funcitonality
  31. 1-3 deploys per week during core hours QA and devs running deploys Done means in prod