SlideShare a Scribd company logo
Distributed Release Management
Deploying etsy.com 40+ times per day
Mike Brittain
Engineering Director, Etsy
@mikebrittain mikebrittain.com/talks
1st Day Assignment
Put your face on etsy.com/about
What I’m showing you tonight is the result
of four years of iteration.
Small incremental changes to the application
“Dark” features: new classes, methods, controllers
Graphics, stylesheets, templates
Copy/content changes
!
App deploys
Turning flags on, off, or % ramp up
Config deploys
Latent bugs and security holes
Traffic management, load shedding
Adding and removing infrastructure
!
Tweaking config flags or releasing patches.
“Operating” the site
IRC, #push
/topic mbrittain | jgoulah | rsnyder | ekastner
/topic mbrittain, jgoulah, rsnyder | ekastner
Keep real people in the loop
Queue, with max batch size of seven.
Automated deployment run by humans
4 people in this
deploy.
“I’ve pushed my changes to master.”
“Everyone has checked in.”
Build QA and
Pre-prod
Build
progress
Status in #push
Git SHA1 in for each env.
Date, username, deploy log, changeset, link to
dashboard from time of deploy
Distributed Release Management
Reporting what’s going on in
Deployinator, and who triggered
Status from
build cluster
Pre-prod (“princess”) has been deployed.
!
SHA1 of the change
Time it took to deploy
Link to changeset in GitHub
Log of the deploy script
Btw, there are three bots talking in
channel at this point. O_o
Queuing for next deploy
Humans talk to
other humans
from time to time.
Talking to pushbot.
!
Pushbot knows some Spanish…
because, ya know, why not?
Link to test results for CI environment,
along with how long the tests took.Alerting by name.
8 minutes have elapsed…
We’ve built and tested our release in the
CI environment (“QA”).
!
QA build failed our 5 min. SLA for tests.
“Try” is our pre-commit testing cluster.
Bots help reinforce our values. This
is especially helpful for new people
on the team.
Distributed Release Management
Still 8 minutes elapsed…
Pre-prod has been deployed and tested.
!
This ran in parallel with our QA build and tests.
Distributed Release Management
Cross-traffic:
In a separate channel (#config), our app configs
files were deployed to pre-prod.
Distributed Release Management
Distributed Release Management
Distributed Release Management
Distributed Release Management
Cross-traffic:
Ops team deployed a configuration change.
And, yes… another non-human.
Distributed Release Management
Code is live
Link to dashboard.
Distributed Release Management
13 minutes elapsed…
Code is now in production with public traffic.
Who committed code in the last deploy? And
how many lines did each of them change?
Distributed Release Management
Distributed Release Management
Handoff for the
next deploy.
Entire app deploy took 15 minutes.
!
4 people running the deployment
8 committers
Config deploy and Chef change deployed in parallel.
Optimal queue size
Normalized communication
Improved visibility
Historical record is ideal for post-mortems
Organic evolution
Hold up the queue (.hold)
Work the issue with the people available in #push
Additional help always available in #sysops
Buddy-system for off-hours deploys
Ops-on-call, dev-on-call
When something goes wrong?
25 Million Items listed
60+ Million Monthly unique visitors
200 Countries with annual transactions
!
175+ Committers, everyone deploys
Items by anjaysdesigns, betwixxt, OneStarLeatherGoods, mediumcontrol, TheDesignPallet
@mikebrittain
DEPLOYMENTSPERDAY
APPCODE
CONFIGFILES
Start small. (We did.)
Automated tests and production monitoring.
Have a story around maintaining quality.
“We can always go back to the old way.”
Demonstrate value to leadership.
Go write your own story.
Thank you.
Mike Brittain
Engineering Director, Etsy
@mikebrittain mikebrittain.com/talks

More Related Content

PDF
Continuous Delivery: The Dirty Details
PDF
Principles and Practices in Continuous Deployment at Etsy
PDF
Continuous Deployment: The Dirty Details
PDF
Continuous Deployment at Etsy — TimesOpen NYC
PDF
Continuous Deployment at Etsy: A Tale of Two Approaches
PDF
London Atlassian User Group - February 2014
PPTX
StarWest 2013 Performance is not an afterthought – make it a part of your Agi...
PPTX
JavaOne - Performance Focused DevOps to Improve Cont Delivery
Continuous Delivery: The Dirty Details
Principles and Practices in Continuous Deployment at Etsy
Continuous Deployment: The Dirty Details
Continuous Deployment at Etsy — TimesOpen NYC
Continuous Deployment at Etsy: A Tale of Two Approaches
London Atlassian User Group - February 2014
StarWest 2013 Performance is not an afterthought – make it a part of your Agi...
JavaOne - Performance Focused DevOps to Improve Cont Delivery

What's hot (19)

PDF
Continuous delivery - tools and techniques
PDF
Continuous Delivery Testing @HiQ
PDF
Continuous Deployment: Beyond Continuous Delivery
PDF
What DevOps Isn't
PPTX
Introduction to Continuous Delivery (BBWorld/DevCon 2013)
PDF
10 Deployments a day - A brief on extreme release protocols
PDF
The Four Principles of Atlassian Performance Tuning
PDF
Continuous Delivery Distilled
PDF
Cloud-Native Builds & Deployments in Bitbucket Pipelines
PPTX
Dev ops is more than CI+CD tools
PDF
Microsoft SQL Server Continuous Integration
PDF
Helping Ops Help You: Development’s Role in Enabling Self-Service Operations
PDF
Advanced A/B Testing at Wix - Aviran Mordo and Sagy Rozman, Wix.com
PDF
Innovation dank DevOps (DevOpsCon Berlin 2015)
ZIP
Drupal Deployment
PDF
2012 - A Release Odyssey
PPTX
Challenges and best practices of database continuous delivery
PPTX
Intro to DevOps
KEY
Ease into HTML5 and CSS3
Continuous delivery - tools and techniques
Continuous Delivery Testing @HiQ
Continuous Deployment: Beyond Continuous Delivery
What DevOps Isn't
Introduction to Continuous Delivery (BBWorld/DevCon 2013)
10 Deployments a day - A brief on extreme release protocols
The Four Principles of Atlassian Performance Tuning
Continuous Delivery Distilled
Cloud-Native Builds & Deployments in Bitbucket Pipelines
Dev ops is more than CI+CD tools
Microsoft SQL Server Continuous Integration
Helping Ops Help You: Development’s Role in Enabling Self-Service Operations
Advanced A/B Testing at Wix - Aviran Mordo and Sagy Rozman, Wix.com
Innovation dank DevOps (DevOpsCon Berlin 2015)
Drupal Deployment
2012 - A Release Odyssey
Challenges and best practices of database continuous delivery
Intro to DevOps
Ease into HTML5 and CSS3
Ad

Similar to Distributed Release Management (20)

PDF
Advanced Topics in Continuous Deployment
PPT
Continuous Deployment
PDF
Continuous Deployment at Etsy
PDF
Continuous Deployment at Scale, PHPConfAsia 2016
PDF
Scaling Deployment at Etsy
PDF
Continuous Deployment at Scale, Baltic DevOps 2016
PDF
Continuous Deployment at Scale, Rootconf 2016
PDF
Scaling Deployment at Etsy
PDF
Put a Button on It: Removing Barriers to Going Fast
PDF
Rock Solid Deployment of Web Applications
PPT
Continuous Delivery Agiles 2014 Medellin
KEY
Continuous Deployment
PPT
Making the Agile Leap to Continuous Deployment
ODP
Changing Etsy's Architectural Foundations with Continuous Deployment
PDF
Hosting Ruby Web Apps
PPTX
Containers @ KitchenStories - DevOps 201704
PDF
Ross Snyder, Etsy, SXSW Lean Startup 2013
KEY
Dev Ops @ Envato
PDF
DIY Transparent Release Management_2024_07.pdf
PDF
MeetingPoint 2015 - Swimming upstream in the container revolution
Advanced Topics in Continuous Deployment
Continuous Deployment
Continuous Deployment at Etsy
Continuous Deployment at Scale, PHPConfAsia 2016
Scaling Deployment at Etsy
Continuous Deployment at Scale, Baltic DevOps 2016
Continuous Deployment at Scale, Rootconf 2016
Scaling Deployment at Etsy
Put a Button on It: Removing Barriers to Going Fast
Rock Solid Deployment of Web Applications
Continuous Delivery Agiles 2014 Medellin
Continuous Deployment
Making the Agile Leap to Continuous Deployment
Changing Etsy's Architectural Foundations with Continuous Deployment
Hosting Ruby Web Apps
Containers @ KitchenStories - DevOps 201704
Ross Snyder, Etsy, SXSW Lean Startup 2013
Dev Ops @ Envato
DIY Transparent Release Management_2024_07.pdf
MeetingPoint 2015 - Swimming upstream in the container revolution
Ad

More from Mike Brittain (9)

PDF
From Building a Marketplace to Building Teams
PDF
On Failure and Resilience
PDF
Simple Log Analysis and Trending
PDF
Web Performance Culture and Tools at Etsy
PDF
Take My Logs. Please!
PDF
Metrics-Driven Engineering
PDF
Web Performance Culture and Tools at Etsy
PDF
Metrics-Driven Engineering at Etsy
PPT
How to Get to Second Base with Your CDN
From Building a Marketplace to Building Teams
On Failure and Resilience
Simple Log Analysis and Trending
Web Performance Culture and Tools at Etsy
Take My Logs. Please!
Metrics-Driven Engineering
Web Performance Culture and Tools at Etsy
Metrics-Driven Engineering at Etsy
How to Get to Second Base with Your CDN

Recently uploaded (20)

PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
CIFDAQ's Market Insight: SEC Turns Pro Crypto
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PDF
Encapsulation_ Review paper, used for researhc scholars
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PDF
Encapsulation theory and applications.pdf
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PDF
Machine learning based COVID-19 study performance prediction
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PPTX
MYSQL Presentation for SQL database connectivity
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
Review of recent advances in non-invasive hemoglobin estimation
PDF
Unlocking AI with Model Context Protocol (MCP)
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Per capita expenditure prediction using model stacking based on satellite ima...
CIFDAQ's Market Insight: SEC Turns Pro Crypto
20250228 LYD VKU AI Blended-Learning.pptx
Encapsulation_ Review paper, used for researhc scholars
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
Encapsulation theory and applications.pdf
Understanding_Digital_Forensics_Presentation.pptx
“AI and Expert System Decision Support & Business Intelligence Systems”
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Machine learning based COVID-19 study performance prediction
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
The Rise and Fall of 3GPP – Time for a Sabbatical?
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
MYSQL Presentation for SQL database connectivity
Mobile App Security Testing_ A Comprehensive Guide.pdf
Review of recent advances in non-invasive hemoglobin estimation
Unlocking AI with Model Context Protocol (MCP)

Distributed Release Management