SlideShare a Scribd company logo
1 of 36
Download to read offline
From 10 to 500 releases a year,
a Continuous Delivery Journey
Richmond, VA - 02/17/2016
&
* The ferrets
#ContinuousDeliveryRVA
Raphael Brugier @rbrugier
#ContinuousDeliveryRVA
● Insurance comparison website
● Launched 2012
● 2.5M quotes/year
#ContinuousDeliveryRVA
IT team
● 4 feature teams
○ 22 developers
○ 7 business analysts / product owners
● 2 ops
● 1 architect
#ContinuousDeliveryRVA
Architecture
● Monolithic Architecture
● 1 codebase
● Java (tomcat) & GWT(client)
● 400k LOC
● 40k unit tests
The journey
#ContinuousDeliveryRVA
2012
● Scrum
● 3 weeks / sprint
● 15-minute build
● 1h selenium tests
#ContinuousDeliveryRVA
2012 - 12 releases
plan / estimate / code / test / fix
#ContinuousDeliveryRVA
Since 2014
● 3-minute build
● 15-minute seleniums
● Deliver when ready, D+1
● One delivery per day
The basics
#ContinuousDeliveryRVA
Agile manifesto #1
“Our highest priority is to satisfy the customer
through early and continuous delivery of
valuable software”
www.agilemanifesto.org/principles.html
#ContinuousDeliveryRVA
more at: http://paulhammant.com/2013/03/13/facebook-tbd-take-2/
#ContinuousDeliveryRVA
● build fast
● reliable build
● automated & simple deployment
● production monitoring and alerts
● root cause analysis
Step by step
#ContinuousDeliveryRVA
Start by the end
5. Ops
4. Deployment
3. Validation
2. Development workflow
1. Implementation
#ContinuousDeliveryRVA
5. Ops
Functional monitoring
#ContinuousDeliveryRVA
5. Ops
Key metrics
#ContinuousDeliveryRVA
4. Deployment
● Jenkins + Scripts
● 1 developer every day
○ From A to Z
○ Anyone with a ready feature
#ContinuousDeliveryRVA
4. Deployment
#ContinuousDeliveryRVA
3. Validation
● QA each feature separately
○ Code reviews
○ Demo
○ “Ready for production” status in Jira
● Seleniums for non regression
○ Selenium grid in a “big” server
● Visual regression tool
#ContinuousDeliveryRVA
3. Visual validation - ZENO Pixel
github.com/lesfurets/zeno-pixel
#ContinuousDeliveryRVA
2. Development workflow
● Git Flow
nvie.com/posts/a-successful-git-branching-model
#ContinuousDeliveryRVA
Let’s do both!
#ContinuousDeliveryRVA
Git octopus
github.com/lesfurets/git-octopus
#ContinuousDeliveryRVA
Git octopus
github.com/lesfurets/git-octopus
#ContinuousDeliveryRVA
Git octopus
github.com/lesfurets/git-octopus
#ContinuousDeliveryRVA
Git octopus
github.com/lesfurets/git-octopus
#ContinuousDeliveryRVA
Git octopus in action!
github.com/lesfurets/git-octopus
#ContinuousDeliveryRVA
1. Implementation
● Few feature toggles
● Hardcode anything! (behavior config)
● Requires a good code base
What changed?
#ContinuousDeliveryRVA
For the developers
● More responsibilities
● Many teams, same codebase
● Better codebase
#ContinuousDeliveryRVA
For the business
● Manage projects, not teams
● 10 - 15 days
● Faster time to market
Q&A
github.com/lesfurets
@IpponUSA@beastiefurets
github.com/ippontech
image references
big data cover: https://www.manning.com/books/big-data
spark and cassandra logos: apache foundation
java logo: oracle
effeil tower: http://www.uniquecoloringpages.com/wp-content/uploads/2014/03/Coloring-
Pages-Eiffel-Tower-Paris.jpg
USA flag: wikipedia https://upload.wikimedia.
org/wikipedia/commons/thumb/3/3e/USA_Flag_Map.svg/640px-USA_Flag_Map.svg.png
water truck:http://cdn-7.psndealer.com/e2/dealersite/images/wiclark/water-truck-ds.jpg
water truck lego: http://images.moc-pages.
com/user_images/15600/1363559810m_SPLASH.jpg
water tap: http://visianinfo.com/wp-content/uploads/low-flow-water-faucet.jpg
References:
http://fr.slideshare.net/beastiefurets/devoxx-
france-2015-git-octopus

More Related Content

What's hot

EFL QA: Where Are We and Where Should We Go?
EFL QA: Where Are We and Where Should We Go?EFL QA: Where Are We and Where Should We Go?
EFL QA: Where Are We and Where Should We Go?
Samsung Open Source Group
 
Rubyconf presentation
Rubyconf presentationRubyconf presentation
Rubyconf presentation
krevuri
 

What's hot (20)

Let your REST API talk @java2days
Let your REST API talk @java2daysLet your REST API talk @java2days
Let your REST API talk @java2days
 
DevOps Days Kyiv 2019 -- continuous Infrafirstructure First //Kris buytaert
DevOps Days Kyiv 2019 -- continuous Infrafirstructure First //Kris buytaertDevOps Days Kyiv 2019 -- continuous Infrafirstructure First //Kris buytaert
DevOps Days Kyiv 2019 -- continuous Infrafirstructure First //Kris buytaert
 
TuleapCon 2019. Tuleap explained by the users
TuleapCon 2019. Tuleap explained by the usersTuleapCon 2019. Tuleap explained by the users
TuleapCon 2019. Tuleap explained by the users
 
Develop, deploy, and operate services at reddit scale oscon 2018
Develop, deploy, and operate services at reddit scale   oscon 2018Develop, deploy, and operate services at reddit scale   oscon 2018
Develop, deploy, and operate services at reddit scale oscon 2018
 
Continuous Integration/Deployment with Gitlab CI
Continuous Integration/Deployment with Gitlab CIContinuous Integration/Deployment with Gitlab CI
Continuous Integration/Deployment with Gitlab CI
 
EFL QA: Where Are We and Where Should We Go?
EFL QA: Where Are We and Where Should We Go?EFL QA: Where Are We and Where Should We Go?
EFL QA: Where Are We and Where Should We Go?
 
Automating Your Way to Greatness by Combining OutSystems CI/CD With the Power...
Automating Your Way to Greatness by Combining OutSystems CI/CD With the Power...Automating Your Way to Greatness by Combining OutSystems CI/CD With the Power...
Automating Your Way to Greatness by Combining OutSystems CI/CD With the Power...
 
Kubernetes at Reddit: An Origin Story - KubeCon NA 2018
Kubernetes at Reddit: An Origin Story - KubeCon NA 2018Kubernetes at Reddit: An Origin Story - KubeCon NA 2018
Kubernetes at Reddit: An Origin Story - KubeCon NA 2018
 
Mule soft meetup__jaipur_december_2020_final
Mule soft meetup__jaipur_december_2020_finalMule soft meetup__jaipur_december_2020_final
Mule soft meetup__jaipur_december_2020_final
 
Implementing a Continuous Delivery pipeline using OW2 infrastructure, OW2con'...
Implementing a Continuous Delivery pipeline using OW2 infrastructure, OW2con'...Implementing a Continuous Delivery pipeline using OW2 infrastructure, OW2con'...
Implementing a Continuous Delivery pipeline using OW2 infrastructure, OW2con'...
 
QA Fest 2016. Артем Быковец. Bug Report - таска для девелопера за соседним ст...
QA Fest 2016. Артем Быковец. Bug Report - таска для девелопера за соседним ст...QA Fest 2016. Артем Быковец. Bug Report - таска для девелопера за соседним ст...
QA Fest 2016. Артем Быковец. Bug Report - таска для девелопера за соседним ст...
 
Marko Berković
Marko BerkovićMarko Berković
Marko Berković
 
Laravel workshop
Laravel workshopLaravel workshop
Laravel workshop
 
QA 4 python
QA 4 pythonQA 4 python
QA 4 python
 
Build Chef development box from scratch
Build Chef development box from scratchBuild Chef development box from scratch
Build Chef development box from scratch
 
Dev ops
Dev opsDev ops
Dev ops
 
Ci2d - The Colossal Hood For Agile Development And Deployment
Ci2d - The Colossal Hood For Agile Development And DeploymentCi2d - The Colossal Hood For Agile Development And Deployment
Ci2d - The Colossal Hood For Agile Development And Deployment
 
Rubyconf presentation
Rubyconf presentationRubyconf presentation
Rubyconf presentation
 
10 years of #devopsdays, but what have we really learned ?
10 years of #devopsdays, but what have we really learned ? 10 years of #devopsdays, but what have we really learned ?
10 years of #devopsdays, but what have we really learned ?
 
Кирилл Толкачев. Микросервисы: огонь, вода и девопс
Кирилл Толкачев. Микросервисы: огонь, вода и девопсКирилл Толкачев. Микросервисы: огонь, вода и девопс
Кирилл Толкачев. Микросервисы: огонь, вода и девопс
 

Similar to Continuous delivery journey at LesFurets.com

CodeFest 2014. Vedran Mikulic — Booking Fast Development
CodeFest 2014. Vedran Mikulic — Booking Fast DevelopmentCodeFest 2014. Vedran Mikulic — Booking Fast Development
CodeFest 2014. Vedran Mikulic — Booking Fast Development
CodeFest
 
QCon'17 talk: CI/CD at scale - lessons from LinkedIn and Mockito
QCon'17 talk: CI/CD at scale - lessons from LinkedIn and MockitoQCon'17 talk: CI/CD at scale - lessons from LinkedIn and Mockito
QCon'17 talk: CI/CD at scale - lessons from LinkedIn and Mockito
Szczepan Faber
 
Delivering Best Apps with Efficiency
Delivering Best Apps with EfficiencyDelivering Best Apps with Efficiency
Delivering Best Apps with Efficiency
WSO2
 

Similar to Continuous delivery journey at LesFurets.com (20)

Continuous delivery journey - Montgomery county JUG
Continuous delivery journey - Montgomery county JUGContinuous delivery journey - Montgomery county JUG
Continuous delivery journey - Montgomery county JUG
 
DevOps overview 2019-04-13 Nelkinda April Meetup
DevOps overview  2019-04-13 Nelkinda April MeetupDevOps overview  2019-04-13 Nelkinda April Meetup
DevOps overview 2019-04-13 Nelkinda April Meetup
 
High Performance Software Engineering Teams
High Performance Software Engineering TeamsHigh Performance Software Engineering Teams
High Performance Software Engineering Teams
 
DevOps Roadmap.pptx
DevOps Roadmap.pptxDevOps Roadmap.pptx
DevOps Roadmap.pptx
 
CI/CD: Lessons from LinkedIn and Mockito
CI/CD: Lessons from LinkedIn and MockitoCI/CD: Lessons from LinkedIn and Mockito
CI/CD: Lessons from LinkedIn and Mockito
 
Devoxx enterprise scale angular
Devoxx   enterprise scale angularDevoxx   enterprise scale angular
Devoxx enterprise scale angular
 
5 Key Metrics to Release Better Software Faster
5 Key Metrics to Release Better Software Faster5 Key Metrics to Release Better Software Faster
5 Key Metrics to Release Better Software Faster
 
Making the Agile Leap to Continuous Deployment
Making the Agile Leap to Continuous DeploymentMaking the Agile Leap to Continuous Deployment
Making the Agile Leap to Continuous Deployment
 
CodeFest 2014. Vedran Mikulic — Booking Fast Development
CodeFest 2014. Vedran Mikulic — Booking Fast DevelopmentCodeFest 2014. Vedran Mikulic — Booking Fast Development
CodeFest 2014. Vedran Mikulic — Booking Fast Development
 
DevOps in Practice
DevOps in PracticeDevOps in Practice
DevOps in Practice
 
QCon'17 talk: CI/CD at scale - lessons from LinkedIn and Mockito
QCon'17 talk: CI/CD at scale - lessons from LinkedIn and MockitoQCon'17 talk: CI/CD at scale - lessons from LinkedIn and Mockito
QCon'17 talk: CI/CD at scale - lessons from LinkedIn and Mockito
 
Delivering Best Apps with Efficiency
Delivering Best Apps with EfficiencyDelivering Best Apps with Efficiency
Delivering Best Apps with Efficiency
 
Understanding DevOps in simpler way with Continuous Delivery
Understanding DevOps in simpler way with Continuous DeliveryUnderstanding DevOps in simpler way with Continuous Delivery
Understanding DevOps in simpler way with Continuous Delivery
 
Continuous Infrastructure First
Continuous Infrastructure FirstContinuous Infrastructure First
Continuous Infrastructure First
 
Continuous Delivery for Front-End Engineers
Continuous Delivery for Front-End EngineersContinuous Delivery for Front-End Engineers
Continuous Delivery for Front-End Engineers
 
Microservices at Mercari
Microservices at MercariMicroservices at Mercari
Microservices at Mercari
 
Continuous Deployment
Continuous DeploymentContinuous Deployment
Continuous Deployment
 
3x3 Speeding Up Mobile Releases
3x3 Speeding Up Mobile Releases3x3 Speeding Up Mobile Releases
3x3 Speeding Up Mobile Releases
 
3x3: Speeding Up Mobile Releases
3x3: Speeding Up Mobile Releases3x3: Speeding Up Mobile Releases
3x3: Speeding Up Mobile Releases
 
GitOps , done Right
GitOps , done RightGitOps , done Right
GitOps , done Right
 

Recently uploaded

CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
giselly40
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 

Recently uploaded (20)

04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 

Continuous delivery journey at LesFurets.com