SlideShare una empresa de Scribd logo
1 de 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

Más contenido relacionado

La actualidad más candente

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
 

La actualidad más candente (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
 

Destacado

Atmosphere 2014: Centralized log management based on Logstash and Kibana - ca...
Atmosphere 2014: Centralized log management based on Logstash and Kibana - ca...Atmosphere 2014: Centralized log management based on Logstash and Kibana - ca...
Atmosphere 2014: Centralized log management based on Logstash and Kibana - ca...PROIDEA
 
Atmosphere 2014: JUnit: beyond the basics - Adam Dudczak
Atmosphere 2014: JUnit: beyond the basics - Adam DudczakAtmosphere 2014: JUnit: beyond the basics - Adam Dudczak
Atmosphere 2014: JUnit: beyond the basics - Adam DudczakPROIDEA
 
JDD2015: Ratpack: core of your micro-services - Andrey Adamovich
JDD2015: Ratpack: core of your micro-services - Andrey AdamovichJDD2015: Ratpack: core of your micro-services - Andrey Adamovich
JDD2015: Ratpack: core of your micro-services - Andrey AdamovichPROIDEA
 
CONFidence 2014: Dimitriy Chastuhin: All your sap p@$$w0яd z belong to us
CONFidence 2014: Dimitriy Chastuhin:  All your sap p@$$w0яd z belong to usCONFidence 2014: Dimitriy Chastuhin:  All your sap p@$$w0яd z belong to us
CONFidence 2014: Dimitriy Chastuhin: All your sap p@$$w0яd z belong to usPROIDEA
 
JDD2015: Towards the Fastest (J)VM on the Planet! - Jaroslav Tulach
JDD2015: Towards the Fastest (J)VM on the Planet! - Jaroslav TulachJDD2015: Towards the Fastest (J)VM on the Planet! - Jaroslav Tulach
JDD2015: Towards the Fastest (J)VM on the Planet! - Jaroslav TulachPROIDEA
 
Atmosphere 2014: RE:SPONSIBILITY - Matt Harasymczuk
Atmosphere 2014: RE:SPONSIBILITY - Matt HarasymczukAtmosphere 2014: RE:SPONSIBILITY - Matt Harasymczuk
Atmosphere 2014: RE:SPONSIBILITY - Matt HarasymczukPROIDEA
 
JDD2015: Trudne Rozmowy [WORKSHOP] - Mariusz Sieraczkiewicz
JDD2015: Trudne Rozmowy [WORKSHOP] - Mariusz SieraczkiewiczJDD2015: Trudne Rozmowy [WORKSHOP] - Mariusz Sieraczkiewicz
JDD2015: Trudne Rozmowy [WORKSHOP] - Mariusz SieraczkiewiczPROIDEA
 
Atmosphere 2014: Scaling and securing node.js apps - Maciej Lasyk
Atmosphere 2014: Scaling and securing node.js apps - Maciej LasykAtmosphere 2014: Scaling and securing node.js apps - Maciej Lasyk
Atmosphere 2014: Scaling and securing node.js apps - Maciej LasykPROIDEA
 
CONFidence 2014: Vlatko Kosturjak: Exploring treasures of 77FEh
CONFidence 2014: Vlatko Kosturjak: Exploring treasures of 77FEhCONFidence 2014: Vlatko Kosturjak: Exploring treasures of 77FEh
CONFidence 2014: Vlatko Kosturjak: Exploring treasures of 77FEhPROIDEA
 
CONFidence 2014: Alexander Timorin: SCADA deep inside: protocols and security...
CONFidence 2014: Alexander Timorin: SCADA deep inside: protocols and security...CONFidence 2014: Alexander Timorin: SCADA deep inside: protocols and security...
CONFidence 2014: Alexander Timorin: SCADA deep inside: protocols and security...PROIDEA
 
Atmosphere 2014: Helping the Internet to scale since 1998 - Paweł Kuśmierski
Atmosphere 2014: Helping the Internet to scale since 1998 - Paweł KuśmierskiAtmosphere 2014: Helping the Internet to scale since 1998 - Paweł Kuśmierski
Atmosphere 2014: Helping the Internet to scale since 1998 - Paweł KuśmierskiPROIDEA
 
JDD2015: Don’t Panic – Hitchhiker’s guide to the JVM monitoring - Wojciech Oc...
JDD2015: Don’t Panic – Hitchhiker’s guide to the JVM monitoring - Wojciech Oc...JDD2015: Don’t Panic – Hitchhiker’s guide to the JVM monitoring - Wojciech Oc...
JDD2015: Don’t Panic – Hitchhiker’s guide to the JVM monitoring - Wojciech Oc...PROIDEA
 
JDD2015: DDD w praktyce, czyli jak wdrażamy i uczymy się DDD w Allegro - Krzy...
JDD2015: DDD w praktyce, czyli jak wdrażamy i uczymy się DDD w Allegro - Krzy...JDD2015: DDD w praktyce, czyli jak wdrażamy i uczymy się DDD w Allegro - Krzy...
JDD2015: DDD w praktyce, czyli jak wdrażamy i uczymy się DDD w Allegro - Krzy...PROIDEA
 
PLNOG15 :Contagious SDN - consequences of dealing with it, Paweł Korzec
PLNOG15 :Contagious SDN - consequences of dealing with it, Paweł KorzecPLNOG15 :Contagious SDN - consequences of dealing with it, Paweł Korzec
PLNOG15 :Contagious SDN - consequences of dealing with it, Paweł KorzecPROIDEA
 
4Developers 2015: Property-based testing w języku Scala - Paweł Grajewski
4Developers 2015: Property-based testing w języku Scala - Paweł Grajewski4Developers 2015: Property-based testing w języku Scala - Paweł Grajewski
4Developers 2015: Property-based testing w języku Scala - Paweł GrajewskiPROIDEA
 
PLNOG15: G-IKEv2 - Salah Gherdaoui, Praveena Shanubhogue
PLNOG15: G-IKEv2 - Salah Gherdaoui,  Praveena Shanubhogue PLNOG15: G-IKEv2 - Salah Gherdaoui,  Praveena Shanubhogue
PLNOG15: G-IKEv2 - Salah Gherdaoui, Praveena Shanubhogue PROIDEA
 
4Developers 2015: CQRS - Prosta architektura dla nieprostego systemu! - Mateu...
4Developers 2015: CQRS - Prosta architektura dla nieprostego systemu! - Mateu...4Developers 2015: CQRS - Prosta architektura dla nieprostego systemu! - Mateu...
4Developers 2015: CQRS - Prosta architektura dla nieprostego systemu! - Mateu...PROIDEA
 
PLNOG15: Security and applications control in Next-Gen Data Center - Seweryn ...
PLNOG15: Security and applications control in Next-Gen Data Center - Seweryn ...PLNOG15: Security and applications control in Next-Gen Data Center - Seweryn ...
PLNOG15: Security and applications control in Next-Gen Data Center - Seweryn ...PROIDEA
 

Destacado (20)

Atmosphere 2014: Centralized log management based on Logstash and Kibana - ca...
Atmosphere 2014: Centralized log management based on Logstash and Kibana - ca...Atmosphere 2014: Centralized log management based on Logstash and Kibana - ca...
Atmosphere 2014: Centralized log management based on Logstash and Kibana - ca...
 
Atmosphere 2014: JUnit: beyond the basics - Adam Dudczak
Atmosphere 2014: JUnit: beyond the basics - Adam DudczakAtmosphere 2014: JUnit: beyond the basics - Adam Dudczak
Atmosphere 2014: JUnit: beyond the basics - Adam Dudczak
 
JDD2015: Ratpack: core of your micro-services - Andrey Adamovich
JDD2015: Ratpack: core of your micro-services - Andrey AdamovichJDD2015: Ratpack: core of your micro-services - Andrey Adamovich
JDD2015: Ratpack: core of your micro-services - Andrey Adamovich
 
CONFidence 2014: Dimitriy Chastuhin: All your sap p@$$w0яd z belong to us
CONFidence 2014: Dimitriy Chastuhin:  All your sap p@$$w0яd z belong to usCONFidence 2014: Dimitriy Chastuhin:  All your sap p@$$w0яd z belong to us
CONFidence 2014: Dimitriy Chastuhin: All your sap p@$$w0яd z belong to us
 
JDD2015: Towards the Fastest (J)VM on the Planet! - Jaroslav Tulach
JDD2015: Towards the Fastest (J)VM on the Planet! - Jaroslav TulachJDD2015: Towards the Fastest (J)VM on the Planet! - Jaroslav Tulach
JDD2015: Towards the Fastest (J)VM on the Planet! - Jaroslav Tulach
 
Atmosphere 2014: RE:SPONSIBILITY - Matt Harasymczuk
Atmosphere 2014: RE:SPONSIBILITY - Matt HarasymczukAtmosphere 2014: RE:SPONSIBILITY - Matt Harasymczuk
Atmosphere 2014: RE:SPONSIBILITY - Matt Harasymczuk
 
JDD2015: Trudne Rozmowy [WORKSHOP] - Mariusz Sieraczkiewicz
JDD2015: Trudne Rozmowy [WORKSHOP] - Mariusz SieraczkiewiczJDD2015: Trudne Rozmowy [WORKSHOP] - Mariusz Sieraczkiewicz
JDD2015: Trudne Rozmowy [WORKSHOP] - Mariusz Sieraczkiewicz
 
Atmosphere 2014: Scaling and securing node.js apps - Maciej Lasyk
Atmosphere 2014: Scaling and securing node.js apps - Maciej LasykAtmosphere 2014: Scaling and securing node.js apps - Maciej Lasyk
Atmosphere 2014: Scaling and securing node.js apps - Maciej Lasyk
 
CONFidence 2014: Vlatko Kosturjak: Exploring treasures of 77FEh
CONFidence 2014: Vlatko Kosturjak: Exploring treasures of 77FEhCONFidence 2014: Vlatko Kosturjak: Exploring treasures of 77FEh
CONFidence 2014: Vlatko Kosturjak: Exploring treasures of 77FEh
 
CONFidence 2014: Alexander Timorin: SCADA deep inside: protocols and security...
CONFidence 2014: Alexander Timorin: SCADA deep inside: protocols and security...CONFidence 2014: Alexander Timorin: SCADA deep inside: protocols and security...
CONFidence 2014: Alexander Timorin: SCADA deep inside: protocols and security...
 
Atmosphere 2014: Helping the Internet to scale since 1998 - Paweł Kuśmierski
Atmosphere 2014: Helping the Internet to scale since 1998 - Paweł KuśmierskiAtmosphere 2014: Helping the Internet to scale since 1998 - Paweł Kuśmierski
Atmosphere 2014: Helping the Internet to scale since 1998 - Paweł Kuśmierski
 
JDD2015: Don’t Panic – Hitchhiker’s guide to the JVM monitoring - Wojciech Oc...
JDD2015: Don’t Panic – Hitchhiker’s guide to the JVM monitoring - Wojciech Oc...JDD2015: Don’t Panic – Hitchhiker’s guide to the JVM monitoring - Wojciech Oc...
JDD2015: Don’t Panic – Hitchhiker’s guide to the JVM monitoring - Wojciech Oc...
 
JDD2015: DDD w praktyce, czyli jak wdrażamy i uczymy się DDD w Allegro - Krzy...
JDD2015: DDD w praktyce, czyli jak wdrażamy i uczymy się DDD w Allegro - Krzy...JDD2015: DDD w praktyce, czyli jak wdrażamy i uczymy się DDD w Allegro - Krzy...
JDD2015: DDD w praktyce, czyli jak wdrażamy i uczymy się DDD w Allegro - Krzy...
 
PLNOG15 :Contagious SDN - consequences of dealing with it, Paweł Korzec
PLNOG15 :Contagious SDN - consequences of dealing with it, Paweł KorzecPLNOG15 :Contagious SDN - consequences of dealing with it, Paweł Korzec
PLNOG15 :Contagious SDN - consequences of dealing with it, Paweł Korzec
 
nakabayasi m
nakabayasi mnakabayasi m
nakabayasi m
 
4Developers 2015: Property-based testing w języku Scala - Paweł Grajewski
4Developers 2015: Property-based testing w języku Scala - Paweł Grajewski4Developers 2015: Property-based testing w języku Scala - Paweł Grajewski
4Developers 2015: Property-based testing w języku Scala - Paweł Grajewski
 
PLNOG15: G-IKEv2 - Salah Gherdaoui, Praveena Shanubhogue
PLNOG15: G-IKEv2 - Salah Gherdaoui,  Praveena Shanubhogue PLNOG15: G-IKEv2 - Salah Gherdaoui,  Praveena Shanubhogue
PLNOG15: G-IKEv2 - Salah Gherdaoui, Praveena Shanubhogue
 
4Developers 2015: CQRS - Prosta architektura dla nieprostego systemu! - Mateu...
4Developers 2015: CQRS - Prosta architektura dla nieprostego systemu! - Mateu...4Developers 2015: CQRS - Prosta architektura dla nieprostego systemu! - Mateu...
4Developers 2015: CQRS - Prosta architektura dla nieprostego systemu! - Mateu...
 
Work commute Top 10 Mobile apps
Work commute Top 10 Mobile appsWork commute Top 10 Mobile apps
Work commute Top 10 Mobile apps
 
PLNOG15: Security and applications control in Next-Gen Data Center - Seweryn ...
PLNOG15: Security and applications control in Next-Gen Data Center - Seweryn ...PLNOG15: Security and applications control in Next-Gen Data Center - Seweryn ...
PLNOG15: Security and applications control in Next-Gen Data Center - Seweryn ...
 

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

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 a JDD2015: Migrating to continuous delivery in the world of financial trading - David Genn (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
 

Último

Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsJhone kinadey
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsAlberto González Trastoy
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfkalichargn70th171
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Modelsaagamshah0812
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxComplianceQuest1
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerThousandEyes
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...kellynguyen01
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxbodapatigopi8531
 
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceCALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceanilsa9823
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsAndolasoft Inc
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 
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.
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfkalichargn70th171
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVshikhaohhpro
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...panagenda
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdfWave PLM
 

Último (20)

Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS LiveVip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceCALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
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...
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 

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

Notas del editor

  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