SlideShare a Scribd company logo
1 of 21
Download to read offline
Continuous Delivery at Dashlane
A path to releasing faster and better
We are Tanguy Le Barzic, Backend Team Lead
and Frédéric Rivain, CTO of Dashlane.
We build a Password Manager, to
help you manage your identity
and your payments in a simple
and secure way everywhere.
A bit of context
Funded in 2009 by Bernard Liautaud and 3 Centrale students
110 employees in Paris and New York
• Product & Engineering in Paris
• Marketing & Sales in New York
4 business lines:
• Consumer product (B2C)
• Enterprise offer (B2B)
• Financial Partners
• API and Dev Ecosystem
• 7 “production” teams
Our Goal
• The ability to deliver to production, fast, reliably and on-demand, through an
industrialized automated Release Pipeline.
The Dashlane Platform
Our starting point
• Old fragile mercurial versioning system.
• Limited CI
• Limited unit tests
• Manual QA
• No systematic Code Review
• But already a « DevOps » spirit in all teams
 We first needed to address the prerequisites.
Code
• Migration to Git (Bitbucket) and review of the branching strategy for each team
• Setting up a real Continuous Integration (Bamboo)
Code Quality
• Mandatory Pull Requests with
multiple reviewers
• Code Quality Tools
• Sonar, Lint,…
Test Automation
• Climbing the Pyramid of tests.
• Hard and long.
• Train manual QA to start coding automated tests
• Focus Devs on unit tests
• Define smoke tests scope
• Find the right tools for functional tests for each platform
• iOS: Xcode
• Android: Espresso
• Windows: Ranorex
• Mac: Xcode
• Web: Watir
• Plug into CI
• Keep pushing over and over.
• Way better today, but still work to do.
UNIT TESTS
INTEGRATION TESTS
FUNCTIONAL
TESTS
MANUAL
TESTS
AUTOMATED
TESTS
Monitoring
• Already a good logging framework. Sent by our applications to track user
activity and performance
• Business logs
• Technical logs
• Performance logs
• Dashboards in Kibana and Tableau
• Adding Alert System
• Practice of Morning Gymnastics
Focusing now on Continuous Delivery
• Painting the Target Release Pipeline
What is our Continuous Delivery Target?
• Each platform is specific.
• Adapt what we mean by Continuous Delivery for each platform.
• Ability to ship native client every week.
Platform Frequency
iOS Release train every 2 weeks
Android Release train every 2 weeks
Windows Release train every 2 weeks. Silent install. Targeting every week.
MacOS Release train every 2 weeks for Mac AppStore
Release train every 2 weeks for DMG. Silent install. Targeting every week.
Web Extensions: Release train every 2 weeks. Silent install. Targeting every week.
Web Apps: On Demand, except Fridays.
Server / Backend On Demand, except Fridays.
Web Site On Demand, except Fridays.
Diving
• First iterations were painful.
• Some fear of the unknown.
• Fix issues and smooth process as we progress.
• Improve QA process as well.
• Everybody eventually feeling happier: dev, product, business,…
Continuous Delivery Tools
• Build our own Feature Flipping tool.
• Improving Monitoring Dashboards for releases.
• Working on building an improved version of our old A/B Test Engine.
Example of the server team
• 10 developers (in Paris and Vilnius)
• 50 or so projects
• Main project (‘user’ webservices)
• 370k lines
• 3000 tests (closer to integration tests than unit tests)
• CI on every branch (tests and linting)
• 2 approvals for each PR, rebase enforced
• Deployment triggered manually, in one command
• Average of 2 deployments a day
CD pipeline
JIRA
Performance is a feature – CD edition
• One of the goals of CD: faster feedback, less context switching
• The speed of every step of the pipeline matters
• Time to run the CI
• Time for code reviews
• Time for QA
• Time for deployment
Aggregated metric: time to ship a commit
What are the next things to improve?
• How long is your pipeline taking? If you had to fix something now, what’s the
smallest ETA of a fix?
• Do you have a bad feeling about this particular deployment?
• « Make sure to watch the error logs after this one »
• How many things do you have to think about before deploying?
• « Update the credentials »
• « Make sure you pull the deployment project »
• « Don’t forget to alter the database before deploying »
• Do you know whether a given JIRA story has been shipped, to who?
Questions ?
Thank you
© 2017 Dashlane, Inc

More Related Content

What's hot

Portfolio & Roadmap: 2 tools to scale Agile
Portfolio & Roadmap: 2 tools to scale AgilePortfolio & Roadmap: 2 tools to scale Agile
Portfolio & Roadmap: 2 tools to scale AgileDashlane
 
Kanban testing
Kanban testingKanban testing
Kanban testingCprime
 
Relieveing the Testing Bottle Neck - Webinar
Relieveing the Testing Bottle Neck - WebinarRelieveing the Testing Bottle Neck - Webinar
Relieveing the Testing Bottle Neck - WebinarCprime
 
Change Management in Hybrid landscapes 2017
Change Management in Hybrid landscapes 2017Change Management in Hybrid landscapes 2017
Change Management in Hybrid landscapes 2017Chris Kernaghan
 
Software Release Orchestration and the Enterprise
Software Release Orchestration and the EnterpriseSoftware Release Orchestration and the Enterprise
Software Release Orchestration and the EnterpriseXebiaLabs
 
W4 0245 agility_v1
W4 0245 agility_v1W4 0245 agility_v1
W4 0245 agility_v1colleenfry
 
Understanding the DevOps Tooling Landscape
Understanding the DevOps Tooling LandscapeUnderstanding the DevOps Tooling Landscape
Understanding the DevOps Tooling LandscapeXebiaLabs
 
Scaling Agile in the Enterprise
Scaling Agile in the EnterpriseScaling Agile in the Enterprise
Scaling Agile in the Enterprisecolleenfry
 
The Past, Present, and Future of Scrum
The Past, Present, and Future of ScrumThe Past, Present, and Future of Scrum
The Past, Present, and Future of ScrumTechWell
 
Agile Overview Session
Agile Overview SessionAgile Overview Session
Agile Overview SessionBahaa Farouk
 
Scaling Agile: SAFe with Visual Studio Team Foundation Server
Scaling Agile: SAFe with Visual Studio Team Foundation Server Scaling Agile: SAFe with Visual Studio Team Foundation Server
Scaling Agile: SAFe with Visual Studio Team Foundation Server InCycle Software
 
Pricing Pitfalls...and How to Counter Them
Pricing Pitfalls...and How to Counter ThemPricing Pitfalls...and How to Counter Them
Pricing Pitfalls...and How to Counter ThemGus Prestera
 
Achieving Balanced Agile Testing
Achieving Balanced Agile Testing Achieving Balanced Agile Testing
Achieving Balanced Agile Testing Cprime
 
Realtech us dev_ops4sap_webinar_slides_06302020
Realtech us dev_ops4sap_webinar_slides_06302020Realtech us dev_ops4sap_webinar_slides_06302020
Realtech us dev_ops4sap_webinar_slides_06302020David Milano
 
A Quick Intro to Agile, DevOps & Lean Development in the Enterprise
A Quick Intro to Agile, DevOps & Lean Development in the EnterpriseA Quick Intro to Agile, DevOps & Lean Development in the Enterprise
A Quick Intro to Agile, DevOps & Lean Development in the EnterpriseTasktop
 
DOES16 London - Jan Schilt - DevOps Is Not Going to Work: The Phoenix Project...
DOES16 London - Jan Schilt - DevOps Is Not Going to Work: The Phoenix Project...DOES16 London - Jan Schilt - DevOps Is Not Going to Work: The Phoenix Project...
DOES16 London - Jan Schilt - DevOps Is Not Going to Work: The Phoenix Project...Gene Kim
 
DOES16 London - Philippe Guenet - G3 Model –A Practical Lean Approach to Impr...
DOES16 London - Philippe Guenet - G3 Model –A Practical Lean Approach to Impr...DOES16 London - Philippe Guenet - G3 Model –A Practical Lean Approach to Impr...
DOES16 London - Philippe Guenet - G3 Model –A Practical Lean Approach to Impr...Gene Kim
 
Can you do DevOps in SAP (DevOps -> SAP)
Can you do DevOps in SAP (DevOps -> SAP)Can you do DevOps in SAP (DevOps -> SAP)
Can you do DevOps in SAP (DevOps -> SAP)Chris Kernaghan
 

What's hot (20)

Portfolio & Roadmap: 2 tools to scale Agile
Portfolio & Roadmap: 2 tools to scale AgilePortfolio & Roadmap: 2 tools to scale Agile
Portfolio & Roadmap: 2 tools to scale Agile
 
Kanban testing
Kanban testingKanban testing
Kanban testing
 
Relieveing the Testing Bottle Neck - Webinar
Relieveing the Testing Bottle Neck - WebinarRelieveing the Testing Bottle Neck - Webinar
Relieveing the Testing Bottle Neck - Webinar
 
Change Management in Hybrid landscapes 2017
Change Management in Hybrid landscapes 2017Change Management in Hybrid landscapes 2017
Change Management in Hybrid landscapes 2017
 
Software Release Orchestration and the Enterprise
Software Release Orchestration and the EnterpriseSoftware Release Orchestration and the Enterprise
Software Release Orchestration and the Enterprise
 
W4 0245 agility_v1
W4 0245 agility_v1W4 0245 agility_v1
W4 0245 agility_v1
 
Agile Product Owner
Agile Product OwnerAgile Product Owner
Agile Product Owner
 
Understanding the DevOps Tooling Landscape
Understanding the DevOps Tooling LandscapeUnderstanding the DevOps Tooling Landscape
Understanding the DevOps Tooling Landscape
 
Scaling Agile in the Enterprise
Scaling Agile in the EnterpriseScaling Agile in the Enterprise
Scaling Agile in the Enterprise
 
The Past, Present, and Future of Scrum
The Past, Present, and Future of ScrumThe Past, Present, and Future of Scrum
The Past, Present, and Future of Scrum
 
Agile Overview Session
Agile Overview SessionAgile Overview Session
Agile Overview Session
 
Scaling Agile: SAFe with Visual Studio Team Foundation Server
Scaling Agile: SAFe with Visual Studio Team Foundation Server Scaling Agile: SAFe with Visual Studio Team Foundation Server
Scaling Agile: SAFe with Visual Studio Team Foundation Server
 
Pricing Pitfalls...and How to Counter Them
Pricing Pitfalls...and How to Counter ThemPricing Pitfalls...and How to Counter Them
Pricing Pitfalls...and How to Counter Them
 
Achieving Balanced Agile Testing
Achieving Balanced Agile Testing Achieving Balanced Agile Testing
Achieving Balanced Agile Testing
 
Realtech us dev_ops4sap_webinar_slides_06302020
Realtech us dev_ops4sap_webinar_slides_06302020Realtech us dev_ops4sap_webinar_slides_06302020
Realtech us dev_ops4sap_webinar_slides_06302020
 
SAFe
SAFeSAFe
SAFe
 
A Quick Intro to Agile, DevOps & Lean Development in the Enterprise
A Quick Intro to Agile, DevOps & Lean Development in the EnterpriseA Quick Intro to Agile, DevOps & Lean Development in the Enterprise
A Quick Intro to Agile, DevOps & Lean Development in the Enterprise
 
DOES16 London - Jan Schilt - DevOps Is Not Going to Work: The Phoenix Project...
DOES16 London - Jan Schilt - DevOps Is Not Going to Work: The Phoenix Project...DOES16 London - Jan Schilt - DevOps Is Not Going to Work: The Phoenix Project...
DOES16 London - Jan Schilt - DevOps Is Not Going to Work: The Phoenix Project...
 
DOES16 London - Philippe Guenet - G3 Model –A Practical Lean Approach to Impr...
DOES16 London - Philippe Guenet - G3 Model –A Practical Lean Approach to Impr...DOES16 London - Philippe Guenet - G3 Model –A Practical Lean Approach to Impr...
DOES16 London - Philippe Guenet - G3 Model –A Practical Lean Approach to Impr...
 
Can you do DevOps in SAP (DevOps -> SAP)
Can you do DevOps in SAP (DevOps -> SAP)Can you do DevOps in SAP (DevOps -> SAP)
Can you do DevOps in SAP (DevOps -> SAP)
 

Similar to Continuous Delivery: releasing Better and Faster at Dashlane

Gartner Infrastructure and Operations Summit Berlin 2015 - DevOps Journey
Gartner Infrastructure and Operations Summit Berlin 2015 - DevOps JourneyGartner Infrastructure and Operations Summit Berlin 2015 - DevOps Journey
Gartner Infrastructure and Operations Summit Berlin 2015 - DevOps JourneyKelly Looney
 
CI/CD for mobile at HERE
CI/CD for mobile at HERECI/CD for mobile at HERE
CI/CD for mobile at HEREStefan Verhoeff
 
Continuous delivery @wcap 5-09-2013
Continuous delivery   @wcap 5-09-2013Continuous delivery   @wcap 5-09-2013
Continuous delivery @wcap 5-09-2013David Funaro
 
Continuos Integration and Delivery: from Zero to Hero with TeamCity, Docker a...
Continuos Integration and Delivery: from Zero to Hero with TeamCity, Docker a...Continuos Integration and Delivery: from Zero to Hero with TeamCity, Docker a...
Continuos Integration and Delivery: from Zero to Hero with TeamCity, Docker a...Lean IT Consulting
 
Resume_Thoota_Phani (2)
Resume_Thoota_Phani (2)Resume_Thoota_Phani (2)
Resume_Thoota_Phani (2)Phani Thoota
 
Getting to Walk with DevOps
Getting to Walk with DevOpsGetting to Walk with DevOps
Getting to Walk with DevOpsEklove Mohan
 
SanDiego_DevOps_Meetup_9212016
SanDiego_DevOps_Meetup_9212016SanDiego_DevOps_Meetup_9212016
SanDiego_DevOps_Meetup_9212016w2fong
 
Confoo-Montreal-2016: Controlling Your Environments using Infrastructure as Code
Confoo-Montreal-2016: Controlling Your Environments using Infrastructure as CodeConfoo-Montreal-2016: Controlling Your Environments using Infrastructure as Code
Confoo-Montreal-2016: Controlling Your Environments using Infrastructure as CodeSteve Mercier
 
SanDiego_DevOps_Meetup_9212016-v8
SanDiego_DevOps_Meetup_9212016-v8SanDiego_DevOps_Meetup_9212016-v8
SanDiego_DevOps_Meetup_9212016-v8Rajwinder Singh
 
Road to agile: federal government case study
Road to agile: federal government case studyRoad to agile: federal government case study
Road to agile: federal government case studyDavid Marsh
 
Facilitating continuous delivery in a FinTech world with Salt, Jenkins, Nexus...
Facilitating continuous delivery in a FinTech world with Salt, Jenkins, Nexus...Facilitating continuous delivery in a FinTech world with Salt, Jenkins, Nexus...
Facilitating continuous delivery in a FinTech world with Salt, Jenkins, Nexus...Chocolatey Software
 
Facilitating continuous delivery in a FinTech world with Salt, Jenkins, Nexus...
Facilitating continuous delivery in a FinTech world with Salt, Jenkins, Nexus...Facilitating continuous delivery in a FinTech world with Salt, Jenkins, Nexus...
Facilitating continuous delivery in a FinTech world with Salt, Jenkins, Nexus...Michel Buczynski
 
6 ways DevOps helped PrepSportswear move from monolith to microservices
6 ways DevOps helped PrepSportswear move from monolith to microservices6 ways DevOps helped PrepSportswear move from monolith to microservices
6 ways DevOps helped PrepSportswear move from monolith to microservicesDynatrace
 
Monitoring at the Speed of DevOps
Monitoring at the Speed of DevOpsMonitoring at the Speed of DevOps
Monitoring at the Speed of DevOpsDevOps.com
 
Continuous Integration
Continuous IntegrationContinuous Integration
Continuous IntegrationXPDays
 
Application Lifecycle Management
Application Lifecycle ManagementApplication Lifecycle Management
Application Lifecycle ManagementAmazon Web Services
 
PHP Unconference Continuous Integration
PHP Unconference Continuous IntegrationPHP Unconference Continuous Integration
PHP Unconference Continuous IntegrationNils Hofmeister
 
Modern Web-site Development Pipeline
Modern Web-site Development PipelineModern Web-site Development Pipeline
Modern Web-site Development PipelineGlobalLogic Ukraine
 
Test parallelization using Jenkins
Test parallelization using JenkinsTest parallelization using Jenkins
Test parallelization using JenkinsRogue Wave Software
 

Similar to Continuous Delivery: releasing Better and Faster at Dashlane (20)

Gartner Infrastructure and Operations Summit Berlin 2015 - DevOps Journey
Gartner Infrastructure and Operations Summit Berlin 2015 - DevOps JourneyGartner Infrastructure and Operations Summit Berlin 2015 - DevOps Journey
Gartner Infrastructure and Operations Summit Berlin 2015 - DevOps Journey
 
CI/CD for mobile at HERE
CI/CD for mobile at HERECI/CD for mobile at HERE
CI/CD for mobile at HERE
 
Continuous delivery @wcap 5-09-2013
Continuous delivery   @wcap 5-09-2013Continuous delivery   @wcap 5-09-2013
Continuous delivery @wcap 5-09-2013
 
Continuos Integration and Delivery: from Zero to Hero with TeamCity, Docker a...
Continuos Integration and Delivery: from Zero to Hero with TeamCity, Docker a...Continuos Integration and Delivery: from Zero to Hero with TeamCity, Docker a...
Continuos Integration and Delivery: from Zero to Hero with TeamCity, Docker a...
 
Resume_Thoota_Phani (2)
Resume_Thoota_Phani (2)Resume_Thoota_Phani (2)
Resume_Thoota_Phani (2)
 
Getting to Walk with DevOps
Getting to Walk with DevOpsGetting to Walk with DevOps
Getting to Walk with DevOps
 
SanDiego_DevOps_Meetup_9212016
SanDiego_DevOps_Meetup_9212016SanDiego_DevOps_Meetup_9212016
SanDiego_DevOps_Meetup_9212016
 
DevOps Days Ohio
DevOps Days OhioDevOps Days Ohio
DevOps Days Ohio
 
Confoo-Montreal-2016: Controlling Your Environments using Infrastructure as Code
Confoo-Montreal-2016: Controlling Your Environments using Infrastructure as CodeConfoo-Montreal-2016: Controlling Your Environments using Infrastructure as Code
Confoo-Montreal-2016: Controlling Your Environments using Infrastructure as Code
 
SanDiego_DevOps_Meetup_9212016-v8
SanDiego_DevOps_Meetup_9212016-v8SanDiego_DevOps_Meetup_9212016-v8
SanDiego_DevOps_Meetup_9212016-v8
 
Road to agile: federal government case study
Road to agile: federal government case studyRoad to agile: federal government case study
Road to agile: federal government case study
 
Facilitating continuous delivery in a FinTech world with Salt, Jenkins, Nexus...
Facilitating continuous delivery in a FinTech world with Salt, Jenkins, Nexus...Facilitating continuous delivery in a FinTech world with Salt, Jenkins, Nexus...
Facilitating continuous delivery in a FinTech world with Salt, Jenkins, Nexus...
 
Facilitating continuous delivery in a FinTech world with Salt, Jenkins, Nexus...
Facilitating continuous delivery in a FinTech world with Salt, Jenkins, Nexus...Facilitating continuous delivery in a FinTech world with Salt, Jenkins, Nexus...
Facilitating continuous delivery in a FinTech world with Salt, Jenkins, Nexus...
 
6 ways DevOps helped PrepSportswear move from monolith to microservices
6 ways DevOps helped PrepSportswear move from monolith to microservices6 ways DevOps helped PrepSportswear move from monolith to microservices
6 ways DevOps helped PrepSportswear move from monolith to microservices
 
Monitoring at the Speed of DevOps
Monitoring at the Speed of DevOpsMonitoring at the Speed of DevOps
Monitoring at the Speed of DevOps
 
Continuous Integration
Continuous IntegrationContinuous Integration
Continuous Integration
 
Application Lifecycle Management
Application Lifecycle ManagementApplication Lifecycle Management
Application Lifecycle Management
 
PHP Unconference Continuous Integration
PHP Unconference Continuous IntegrationPHP Unconference Continuous Integration
PHP Unconference Continuous Integration
 
Modern Web-site Development Pipeline
Modern Web-site Development PipelineModern Web-site Development Pipeline
Modern Web-site Development Pipeline
 
Test parallelization using Jenkins
Test parallelization using JenkinsTest parallelization using Jenkins
Test parallelization using Jenkins
 

More from Dashlane

Dashlane Engineering Culture Book
Dashlane Engineering Culture BookDashlane Engineering Culture Book
Dashlane Engineering Culture BookDashlane
 
The State of Digital Identity
The State of Digital IdentityThe State of Digital Identity
The State of Digital IdentityDashlane
 
Continuous Learning
Continuous LearningContinuous Learning
Continuous LearningDashlane
 
U2F in Dashlane
U2F in DashlaneU2F in Dashlane
U2F in DashlaneDashlane
 
Using TypeScript at Dashlane
Using TypeScript at DashlaneUsing TypeScript at Dashlane
Using TypeScript at DashlaneDashlane
 
Scaling an Engineering Team
Scaling an Engineering TeamScaling an Engineering Team
Scaling an Engineering TeamDashlane
 
Stop Starting Start Finishing
Stop Starting Start FinishingStop Starting Start Finishing
Stop Starting Start FinishingDashlane
 
Dashlane Engineering Meeting Extract
Dashlane Engineering Meeting ExtractDashlane Engineering Meeting Extract
Dashlane Engineering Meeting ExtractDashlane
 

More from Dashlane (8)

Dashlane Engineering Culture Book
Dashlane Engineering Culture BookDashlane Engineering Culture Book
Dashlane Engineering Culture Book
 
The State of Digital Identity
The State of Digital IdentityThe State of Digital Identity
The State of Digital Identity
 
Continuous Learning
Continuous LearningContinuous Learning
Continuous Learning
 
U2F in Dashlane
U2F in DashlaneU2F in Dashlane
U2F in Dashlane
 
Using TypeScript at Dashlane
Using TypeScript at DashlaneUsing TypeScript at Dashlane
Using TypeScript at Dashlane
 
Scaling an Engineering Team
Scaling an Engineering TeamScaling an Engineering Team
Scaling an Engineering Team
 
Stop Starting Start Finishing
Stop Starting Start FinishingStop Starting Start Finishing
Stop Starting Start Finishing
 
Dashlane Engineering Meeting Extract
Dashlane Engineering Meeting ExtractDashlane Engineering Meeting Extract
Dashlane Engineering Meeting Extract
 

Recently uploaded

Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Mater
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesŁukasz Chruściel
 
Precise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalPrecise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalLionel Briand
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmSujith Sukumaran
 
How To Manage Restaurant Staff -BTRESTRO
How To Manage Restaurant Staff -BTRESTROHow To Manage Restaurant Staff -BTRESTRO
How To Manage Restaurant Staff -BTRESTROmotivationalword821
 
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanySuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanyChristoph Pohl
 
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company OdishaBalasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odishasmiwainfosol
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based projectAnoyGreter
 
Cyber security and its impact on E commerce
Cyber security and its impact on E commerceCyber security and its impact on E commerce
Cyber security and its impact on E commercemanigoyal112
 
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Matt Ray
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsAhmed Mohamed
 
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)jennyeacort
 
Powering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsPowering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsSafe Software
 
Post Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on IdentityPost Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on Identityteam-WIBU
 
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...OnePlan Solutions
 
PREDICTING RIVER WATER QUALITY ppt presentation
PREDICTING  RIVER  WATER QUALITY  ppt presentationPREDICTING  RIVER  WATER QUALITY  ppt presentation
PREDICTING RIVER WATER QUALITY ppt presentationvaddepallysandeep122
 
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
 
Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Velvetech LLC
 
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtimeandrehoraa
 

Recently uploaded (20)

Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New Features
 
Precise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalPrecise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive Goal
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalm
 
How To Manage Restaurant Staff -BTRESTRO
How To Manage Restaurant Staff -BTRESTROHow To Manage Restaurant Staff -BTRESTRO
How To Manage Restaurant Staff -BTRESTRO
 
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanySuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
 
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company OdishaBalasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based project
 
Cyber security and its impact on E commerce
Cyber security and its impact on E commerceCyber security and its impact on E commerce
Cyber security and its impact on E commerce
 
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML Diagrams
 
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
 
Powering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsPowering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data Streams
 
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort ServiceHot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
 
Post Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on IdentityPost Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on Identity
 
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
 
PREDICTING RIVER WATER QUALITY ppt presentation
PREDICTING  RIVER  WATER QUALITY  ppt presentationPREDICTING  RIVER  WATER QUALITY  ppt presentation
PREDICTING RIVER WATER QUALITY ppt presentation
 
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
 
Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...
 
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtime
 

Continuous Delivery: releasing Better and Faster at Dashlane

  • 1. Continuous Delivery at Dashlane A path to releasing faster and better
  • 2. We are Tanguy Le Barzic, Backend Team Lead and Frédéric Rivain, CTO of Dashlane. We build a Password Manager, to help you manage your identity and your payments in a simple and secure way everywhere.
  • 3. A bit of context Funded in 2009 by Bernard Liautaud and 3 Centrale students 110 employees in Paris and New York • Product & Engineering in Paris • Marketing & Sales in New York 4 business lines: • Consumer product (B2C) • Enterprise offer (B2B) • Financial Partners • API and Dev Ecosystem • 7 “production” teams
  • 4. Our Goal • The ability to deliver to production, fast, reliably and on-demand, through an industrialized automated Release Pipeline.
  • 6. Our starting point • Old fragile mercurial versioning system. • Limited CI • Limited unit tests • Manual QA • No systematic Code Review • But already a « DevOps » spirit in all teams  We first needed to address the prerequisites.
  • 7. Code • Migration to Git (Bitbucket) and review of the branching strategy for each team • Setting up a real Continuous Integration (Bamboo)
  • 8. Code Quality • Mandatory Pull Requests with multiple reviewers • Code Quality Tools • Sonar, Lint,…
  • 9. Test Automation • Climbing the Pyramid of tests. • Hard and long. • Train manual QA to start coding automated tests • Focus Devs on unit tests • Define smoke tests scope • Find the right tools for functional tests for each platform • iOS: Xcode • Android: Espresso • Windows: Ranorex • Mac: Xcode • Web: Watir • Plug into CI • Keep pushing over and over. • Way better today, but still work to do. UNIT TESTS INTEGRATION TESTS FUNCTIONAL TESTS MANUAL TESTS AUTOMATED TESTS
  • 10. Monitoring • Already a good logging framework. Sent by our applications to track user activity and performance • Business logs • Technical logs • Performance logs • Dashboards in Kibana and Tableau • Adding Alert System • Practice of Morning Gymnastics
  • 11. Focusing now on Continuous Delivery • Painting the Target Release Pipeline
  • 12. What is our Continuous Delivery Target? • Each platform is specific. • Adapt what we mean by Continuous Delivery for each platform. • Ability to ship native client every week. Platform Frequency iOS Release train every 2 weeks Android Release train every 2 weeks Windows Release train every 2 weeks. Silent install. Targeting every week. MacOS Release train every 2 weeks for Mac AppStore Release train every 2 weeks for DMG. Silent install. Targeting every week. Web Extensions: Release train every 2 weeks. Silent install. Targeting every week. Web Apps: On Demand, except Fridays. Server / Backend On Demand, except Fridays. Web Site On Demand, except Fridays.
  • 13. Diving • First iterations were painful. • Some fear of the unknown. • Fix issues and smooth process as we progress. • Improve QA process as well. • Everybody eventually feeling happier: dev, product, business,…
  • 14. Continuous Delivery Tools • Build our own Feature Flipping tool. • Improving Monitoring Dashboards for releases. • Working on building an improved version of our old A/B Test Engine.
  • 15. Example of the server team • 10 developers (in Paris and Vilnius) • 50 or so projects • Main project (‘user’ webservices) • 370k lines • 3000 tests (closer to integration tests than unit tests) • CI on every branch (tests and linting) • 2 approvals for each PR, rebase enforced • Deployment triggered manually, in one command • Average of 2 deployments a day
  • 17. Performance is a feature – CD edition • One of the goals of CD: faster feedback, less context switching • The speed of every step of the pipeline matters • Time to run the CI • Time for code reviews • Time for QA • Time for deployment
  • 18. Aggregated metric: time to ship a commit
  • 19. What are the next things to improve? • How long is your pipeline taking? If you had to fix something now, what’s the smallest ETA of a fix? • Do you have a bad feeling about this particular deployment? • « Make sure to watch the error logs after this one » • How many things do you have to think about before deploying? • « Update the credentials » • « Make sure you pull the deployment project » • « Don’t forget to alter the database before deploying » • Do you know whether a given JIRA story has been shipped, to who?
  • 21. Thank you © 2017 Dashlane, Inc