SlideShare a Scribd company logo
1 of 46
Download to read offline
Continuous Deployment at
                     :
      A Tale of Two Approaches

Ross Snyder
ross@etsy.com
@beamrider9            March 9, 2013
                                       1
A quick primer on




                    2
is:
The global marketplace we make together.




                                           3
is:
The premier destination for handmade goods,
      vintage items, and craft supplies.




   simplertimestoys    lacklusterco   norwesterseaglass




                                                          4
quick facts:        (as of March 2013)



• 22+ million members

• 800,000+ active shops

• 18+ million items currently for sale

• 20 cents to list item, 3.5% transaction fee

• 400+ employees (majority in Brooklyn)


                                                    5
Since opening its doors in June 2005, Etsy
      has grown virtually non-stop.
 $1,000


  $800


  $600


  $400


  $200


    $0
          2005   2006   2007   2008   2009   2010   2011   2012


            Gross Merchandise Sales ($MM)

                                                                  6
A nice problem to have:

    “Our site is so
successful, how can we
 move fast enough to
keep up with demand?”



                          7
CONTINUOUS
DEPLOYMENT


             8
:
The Early Years
  (2005 - 2008)




                  9
: The Early Years



1. Spend significant time writing code




                                        10
: The Early Years
1. Weeks writing code




     2. Painful source control merge




                                       11
: The Early Years
1. Weeks writing code
2. Painful merge



 3. Hand off to someone else to deploy




                                        12
: The Early Years
1. Weeks writing code
2. Painful merge
3. Hand off to deployers


        4. Deploy, site goes down




                                    13
: The Early Years
1. Weeks writing code     4. Deploy, site down
2. Painful merge
3. Hand off to deployers


             5. Roll back deploy




                                                 14
: The Early Years
1. Weeks writing code     4. Deploy, site down
2. Painful merge          5. Roll back deploy
3. Hand off to deployers


   6. Spend hours (days?) fixing bugs




                                                 15
: The Early Years
1. Weeks writing code     4. Deploy, site down
2. Painful merge          5. Roll back deploy
3. Hand off to deployers   6. Fix bugs


            7. Go back to step 2




                                                 16
: The Early Years



            WATERFALL!




                         17
: The Early Years
Pros:

Early Etsy engineers
used this release
cycle to bootstrap
the marketplace
from nothing.

Forever grateful.

                              18
: The Early Years
Cons:

• Large changesets
• Infrequent deploys
• Weak confidence in deploy success
• Significant time spent deploying
• Low ability to experiment/iterate/react
• Developer stress/unhappiness

                                            19
: The Early Years
  By late 2008, Etsy is still a startup, but has
the deploy process of a much bulkier company.




Popularity is on the verge of outpacing capacity.
                                                   20
:
Today




            21
: Today



1. Small changesets, deployed frequently




                                           22
: Today
1. Small changesets




       2. Engineers deploy the site




                                      23
: Today
And not just engineers, but also:

• Designers
• Product Folks
• Upper Management
• Board Members
• Dogs

                                    24
: Today
1. Small changesets
2. Engineers deploy



3. Deploys are fast and near-effortless




                                         25
: Today
1. Small changesets
2. Engineers deploy
3. Deploys are fast

  4. Most changes behind config flags
            (safer deploys)




                                      26
: Today
1. Small changesets   4. Changes behind flags
2. Engineers deploy
3. Deploys are fast


  5. Graphs/metrics to assess deploy




                                               27
: Today
 1. Small changesets   4. Changes behind flags
 2. Engineers deploy   5. Copious graphs/metrics
 3. Deploys are fast


6. If issues, fix immediately & roll forward




                                                   28
: Today
This isn’t license to break stuff, quickly.




Engineer-driven QA and solid unit testing
    are integral parts of the process.
                                             29
: Today
1. Small changesets   4. Changes behind flags
2. Engineers deploy   5. Copious graphs/metrics
3. Deploys are fast   6. Fix fast & roll forward


7. Repeat 25+ times per day, every day




                                                   30
Then:
  1. Weeks writing code
  2. Painful merge
  3. Hand off to deployers
  4. Deploy, site down
  5. Roll back deploy
  6. Fix bugs, go to step 2

Now:
  1. Small changesets
  2. Engineers deploy
  3. Deploys are fast
  4. Changes behind flags
  5. Copious graphs/metrics
  6. Fix fast & roll forward
                               31
Etsy Deploy Stats: 2012

• Deployed to production 6,419 times
• On average, 535/month, 25/day
• Additional 3,851 config-only deploys
• 196 different people deployed to prod
• Nov/Dec 2012: deployed 752 times


                                         32
Why does it work?




                    33
Continuous Deployment Math
 • N = # of deploys
 • P = probability of site degradation
 • S = average severity of degradation
 • T = time to detect/resolve

   Expected
            = N*P*S*T
   Downtime
                                         34
Continuous Deployment Math
N = # of deploys                 S = avg. severity of degradation
P = prob. of degradation         T = time to detect/resolve

      Before:                                     Now:
      •N=1                                  • N = 250 ↑↑↑↑
      • P = 0.5                             • P = 0.1 ↓
      • S = 0.7                             • S = 0.05 ↓↓
      • T = 100                             • T = 5 ↓↓↓

      E.D. = 35                             E.D. = 6.25
                  (all numbers completely arbitrary)
                                                                    35
Big Takeaway
     Etsy circa 2013 (400+ employees)
acts, in some ways, more like a startup than
     Etsy circa 2008 (40+ employees).




                                               36
Continuous Deployment makes possible:
    “Continuous Experimentation”




   http://etsy.me/continuous-experimentation

                                               37
Continuous Experimentation
   1. Small changes
   2. Run experiment (A/B test)
   3. Analyze data
   4. Re-examine assumptions

Repeat continuously in pursuit
       of larger goals.
                                  38
Heard since 2010:
“Neat experiment, but
this will never scale.”


 As of 2013, Etsy has
  100+ engineers -
  still going strong.


                          39
Some Etsy Customizations


Deploying is a first-class feature. Inability to
deploy is a P1 incident (same as site down).




                                                  40
Some Etsy Customizations
We continuously deploy not just the main
 Etsy website, but as much as possible:

        • Internal admin site
        • API
        • Big data
        • Search
        • Blog
        • Deployinator itself
                                           41
Some Etsy Customizations
   In the rare case we can’t continuously
    deploy, we create alternative tools:

   • Database schema changes
   • PCI-DSS environment (credit cards)

 We do continuously deploy as much of our
payment processing as is safe & legal (98%).

                                               42
Some Etsy Customizations


Keeping deploys fast is paramount and worth
 the investment in manpower & hardware.




                                              43
Some Etsy Customizations
  Continuous deployment is all about moving
forward, sometimes at the expense of the past.

Our solution: engineering-wide bug rotation,
one day a month, every engineer participates.




                                                 44
Fun Fact:
  Continuous Deployment is a fantastic
recruitment tool for attracting engineers
who like to move fast and get stuff done.




                                            45
Learn more:
http://codeascraft.etsy.com/

Etsy open source (Deployinator, StatsD)
http://etsy.github.com/

Join the fun:
http://www.etsy.com/careers

                                          46

More Related Content

What's hot

10 P's of Testability
10 P's of Testability10 P's of Testability
10 P's of TestabilityAsh Winter
 
Shift Left - Approach and practices with IBM
Shift Left - Approach and practices with IBMShift Left - Approach and practices with IBM
Shift Left - Approach and practices with IBMIBM UrbanCode Products
 
Team Topologies - how and why to design your teams - AllDayDevOps 2017
Team Topologies - how and why to design your teams - AllDayDevOps 2017Team Topologies - how and why to design your teams - AllDayDevOps 2017
Team Topologies - how and why to design your teams - AllDayDevOps 2017Matthew Skelton
 
Introducing GitLab (September 2018)
Introducing GitLab (September 2018)Introducing GitLab (September 2018)
Introducing GitLab (September 2018)Noa Harel
 
AATC - Gamifying DevOps with Lego and Chocolate Game
AATC - Gamifying DevOps with Lego and Chocolate GameAATC - Gamifying DevOps with Lego and Chocolate Game
AATC - Gamifying DevOps with Lego and Chocolate GameDana Pylayeva
 
Agile Estimating & Planning
Agile Estimating & PlanningAgile Estimating & Planning
Agile Estimating & PlanningAgileDad
 
The DevOps Journey
The DevOps JourneyThe DevOps Journey
The DevOps JourneyMicro Focus
 
Facilitating Liberating Structures with Remote teams
Facilitating Liberating Structures with Remote teamsFacilitating Liberating Structures with Remote teams
Facilitating Liberating Structures with Remote teamsDana Pylayeva
 
Application Quality Gates in Continuous Delivery: Deliver Better Software Fas...
Application Quality Gates in Continuous Delivery: Deliver Better Software Fas...Application Quality Gates in Continuous Delivery: Deliver Better Software Fas...
Application Quality Gates in Continuous Delivery: Deliver Better Software Fas...Andreas Grabner
 
10 steps to a successsful enterprise agile transformation global scrum 2018
10 steps to a successsful enterprise agile transformation   global scrum 201810 steps to a successsful enterprise agile transformation   global scrum 2018
10 steps to a successsful enterprise agile transformation global scrum 2018Agile Velocity
 
User Story Mapping for Minimum Lovable Products
User Story Mapping for Minimum Lovable ProductsUser Story Mapping for Minimum Lovable Products
User Story Mapping for Minimum Lovable Productsuxpin
 
Agile Maturity Assessments
Agile Maturity AssessmentsAgile Maturity Assessments
Agile Maturity AssessmentsDavid Hanson
 
ReactorKit으로 단방향 반응형 앱 만들기
ReactorKit으로 단방향 반응형 앱 만들기ReactorKit으로 단방향 반응형 앱 만들기
ReactorKit으로 단방향 반응형 앱 만들기Suyeol Jeon
 
Agile and Lean Software Development
Agile and Lean Software DevelopmentAgile and Lean Software Development
Agile and Lean Software DevelopmentTathagat Varma
 
Inverting The Testing Pyramid
Inverting The Testing PyramidInverting The Testing Pyramid
Inverting The Testing PyramidNaresh Jain
 

What's hot (20)

10 P's of Testability
10 P's of Testability10 P's of Testability
10 P's of Testability
 
DevOps or DevSecOps
DevOps or DevSecOpsDevOps or DevSecOps
DevOps or DevSecOps
 
Shift Left - Approach and practices with IBM
Shift Left - Approach and practices with IBMShift Left - Approach and practices with IBM
Shift Left - Approach and practices with IBM
 
Feature toggling
Feature togglingFeature toggling
Feature toggling
 
Team Topologies - how and why to design your teams - AllDayDevOps 2017
Team Topologies - how and why to design your teams - AllDayDevOps 2017Team Topologies - how and why to design your teams - AllDayDevOps 2017
Team Topologies - how and why to design your teams - AllDayDevOps 2017
 
Introducing GitLab (September 2018)
Introducing GitLab (September 2018)Introducing GitLab (September 2018)
Introducing GitLab (September 2018)
 
AATC - Gamifying DevOps with Lego and Chocolate Game
AATC - Gamifying DevOps with Lego and Chocolate GameAATC - Gamifying DevOps with Lego and Chocolate Game
AATC - Gamifying DevOps with Lego and Chocolate Game
 
Agile Estimating & Planning
Agile Estimating & PlanningAgile Estimating & Planning
Agile Estimating & Planning
 
The DevOps Journey
The DevOps JourneyThe DevOps Journey
The DevOps Journey
 
Jenkins tutorial
Jenkins tutorialJenkins tutorial
Jenkins tutorial
 
Facilitating Liberating Structures with Remote teams
Facilitating Liberating Structures with Remote teamsFacilitating Liberating Structures with Remote teams
Facilitating Liberating Structures with Remote teams
 
Culture over-process
Culture over-processCulture over-process
Culture over-process
 
Application Quality Gates in Continuous Delivery: Deliver Better Software Fas...
Application Quality Gates in Continuous Delivery: Deliver Better Software Fas...Application Quality Gates in Continuous Delivery: Deliver Better Software Fas...
Application Quality Gates in Continuous Delivery: Deliver Better Software Fas...
 
10 steps to a successsful enterprise agile transformation global scrum 2018
10 steps to a successsful enterprise agile transformation   global scrum 201810 steps to a successsful enterprise agile transformation   global scrum 2018
10 steps to a successsful enterprise agile transformation global scrum 2018
 
User Story Mapping for Minimum Lovable Products
User Story Mapping for Minimum Lovable ProductsUser Story Mapping for Minimum Lovable Products
User Story Mapping for Minimum Lovable Products
 
Agile Maturity Assessments
Agile Maturity AssessmentsAgile Maturity Assessments
Agile Maturity Assessments
 
ReactorKit으로 단방향 반응형 앱 만들기
ReactorKit으로 단방향 반응형 앱 만들기ReactorKit으로 단방향 반응형 앱 만들기
ReactorKit으로 단방향 반응형 앱 만들기
 
Agile and Lean Software Development
Agile and Lean Software DevelopmentAgile and Lean Software Development
Agile and Lean Software Development
 
DevSecOps - The big picture
DevSecOps - The big pictureDevSecOps - The big picture
DevSecOps - The big picture
 
Inverting The Testing Pyramid
Inverting The Testing PyramidInverting The Testing Pyramid
Inverting The Testing Pyramid
 

Viewers also liked

Continuous Deployment at Etsy - SXSW 2012 Lean Startup Track
Continuous Deployment at Etsy - SXSW 2012 Lean Startup TrackContinuous Deployment at Etsy - SXSW 2012 Lean Startup Track
Continuous Deployment at Etsy - SXSW 2012 Lean Startup TrackChad Dickerson
 
Continuous Deployment: The Dirty Details
Continuous Deployment: The Dirty DetailsContinuous Deployment: The Dirty Details
Continuous Deployment: The Dirty DetailsMike Brittain
 
Continuous Delivery: The Dirty Details
Continuous Delivery: The Dirty DetailsContinuous Delivery: The Dirty Details
Continuous Delivery: The Dirty DetailsMike Brittain
 
10+ Deploys Per Day: Dev and Ops Cooperation at Flickr
10+ Deploys Per Day: Dev and Ops Cooperation at Flickr10+ Deploys Per Day: Dev and Ops Cooperation at Flickr
10+ Deploys Per Day: Dev and Ops Cooperation at FlickrJohn Allspaw
 
Put a Button on It: Removing Barriers to Going Fast
Put a Button on It: Removing Barriers to Going FastPut a Button on It: Removing Barriers to Going Fast
Put a Button on It: Removing Barriers to Going FastOSCON Byrum
 
Development, Deployment and Collaboration at Etsy
Development, Deployment and Collaboration at EtsyDevelopment, Deployment and Collaboration at Etsy
Development, Deployment and Collaboration at EtsyDaniel Schauenberg
 
DevOps & Security: Here & Now
DevOps & Security: Here & NowDevOps & Security: Here & Now
DevOps & Security: Here & NowCheckmarx
 
Continuous Security Testing with Devops - OWASP EU 2014
Continuous Security Testing  with Devops - OWASP EU 2014Continuous Security Testing  with Devops - OWASP EU 2014
Continuous Security Testing with Devops - OWASP EU 2014Stephen de Vries
 
Continuously Deploying Culture: Scaling Culture at Etsy - Velocity Europe 2012
Continuously Deploying Culture: Scaling Culture at Etsy - Velocity Europe 2012Continuously Deploying Culture: Scaling Culture at Etsy - Velocity Europe 2012
Continuously Deploying Culture: Scaling Culture at Etsy - Velocity Europe 2012Patrick McDonnell
 
Scaling Etsy: What Went Wrong, What Went Right
Scaling Etsy: What Went Wrong, What Went RightScaling Etsy: What Went Wrong, What Went Right
Scaling Etsy: What Went Wrong, What Went RightRoss Snyder
 
LasCon 2014 DevOoops
LasCon 2014 DevOoops LasCon 2014 DevOoops
LasCon 2014 DevOoops Chris Gates
 
Etsy Business case presentation
Etsy Business case presentationEtsy Business case presentation
Etsy Business case presentationkatymorgan89
 
Etsy Case Study
Etsy Case StudyEtsy Case Study
Etsy Case StudySlideShare
 
Design for Continuous Experimentation
Design for Continuous ExperimentationDesign for Continuous Experimentation
Design for Continuous ExperimentationDan McKinley
 
DevOps?! That's not my job! - Nathen Harvey, Chef - DevOpsDays Tel Aviv 2016
DevOps?! That's not my job! - Nathen Harvey, Chef - DevOpsDays Tel Aviv 2016DevOps?! That's not my job! - Nathen Harvey, Chef - DevOpsDays Tel Aviv 2016
DevOps?! That's not my job! - Nathen Harvey, Chef - DevOpsDays Tel Aviv 2016DevOpsDays Tel Aviv
 
DevOps Memes @ EMCworld 2015
DevOps Memes @ EMCworld 2015 DevOps Memes @ EMCworld 2015
DevOps Memes @ EMCworld 2015 Brian Gracely
 
Car Alarms & Smoke Alarms [Monitorama]
Car Alarms & Smoke Alarms [Monitorama]Car Alarms & Smoke Alarms [Monitorama]
Car Alarms & Smoke Alarms [Monitorama]Dan Slimmon
 

Viewers also liked (20)

Continuous Deployment at Etsy - SXSW 2012 Lean Startup Track
Continuous Deployment at Etsy - SXSW 2012 Lean Startup TrackContinuous Deployment at Etsy - SXSW 2012 Lean Startup Track
Continuous Deployment at Etsy - SXSW 2012 Lean Startup Track
 
Continuous Deployment: The Dirty Details
Continuous Deployment: The Dirty DetailsContinuous Deployment: The Dirty Details
Continuous Deployment: The Dirty Details
 
Continuous Delivery: The Dirty Details
Continuous Delivery: The Dirty DetailsContinuous Delivery: The Dirty Details
Continuous Delivery: The Dirty Details
 
10+ Deploys Per Day: Dev and Ops Cooperation at Flickr
10+ Deploys Per Day: Dev and Ops Cooperation at Flickr10+ Deploys Per Day: Dev and Ops Cooperation at Flickr
10+ Deploys Per Day: Dev and Ops Cooperation at Flickr
 
Put a Button on It: Removing Barriers to Going Fast
Put a Button on It: Removing Barriers to Going FastPut a Button on It: Removing Barriers to Going Fast
Put a Button on It: Removing Barriers to Going Fast
 
Scaling Deployment at Etsy
Scaling Deployment at EtsyScaling Deployment at Etsy
Scaling Deployment at Etsy
 
Development, Deployment and Collaboration at Etsy
Development, Deployment and Collaboration at EtsyDevelopment, Deployment and Collaboration at Etsy
Development, Deployment and Collaboration at Etsy
 
DevOps & Security: Here & Now
DevOps & Security: Here & NowDevOps & Security: Here & Now
DevOps & Security: Here & Now
 
Continuous Security Testing with Devops - OWASP EU 2014
Continuous Security Testing  with Devops - OWASP EU 2014Continuous Security Testing  with Devops - OWASP EU 2014
Continuous Security Testing with Devops - OWASP EU 2014
 
Continuously Deploying Culture: Scaling Culture at Etsy - Velocity Europe 2012
Continuously Deploying Culture: Scaling Culture at Etsy - Velocity Europe 2012Continuously Deploying Culture: Scaling Culture at Etsy - Velocity Europe 2012
Continuously Deploying Culture: Scaling Culture at Etsy - Velocity Europe 2012
 
Scaling Etsy: What Went Wrong, What Went Right
Scaling Etsy: What Went Wrong, What Went RightScaling Etsy: What Went Wrong, What Went Right
Scaling Etsy: What Went Wrong, What Went Right
 
LasCon 2014 DevOoops
LasCon 2014 DevOoops LasCon 2014 DevOoops
LasCon 2014 DevOoops
 
Etsy Business case presentation
Etsy Business case presentationEtsy Business case presentation
Etsy Business case presentation
 
Etsy Presentation
Etsy PresentationEtsy Presentation
Etsy Presentation
 
Etsy Case Study
Etsy Case StudyEtsy Case Study
Etsy Case Study
 
Design for Continuous Experimentation
Design for Continuous ExperimentationDesign for Continuous Experimentation
Design for Continuous Experimentation
 
DevOps?! That's not my job! - Nathen Harvey, Chef - DevOpsDays Tel Aviv 2016
DevOps?! That's not my job! - Nathen Harvey, Chef - DevOpsDays Tel Aviv 2016DevOps?! That's not my job! - Nathen Harvey, Chef - DevOpsDays Tel Aviv 2016
DevOps?! That's not my job! - Nathen Harvey, Chef - DevOpsDays Tel Aviv 2016
 
DevOps Memes @ EMCworld 2015
DevOps Memes @ EMCworld 2015 DevOps Memes @ EMCworld 2015
DevOps Memes @ EMCworld 2015
 
Database compatibility
Database compatibilityDatabase compatibility
Database compatibility
 
Car Alarms & Smoke Alarms [Monitorama]
Car Alarms & Smoke Alarms [Monitorama]Car Alarms & Smoke Alarms [Monitorama]
Car Alarms & Smoke Alarms [Monitorama]
 

Similar to Continuous Deployment at Etsy: A Tale of Two Approaches

Ross Snyder, Etsy, SXSW Lean Startup 2013
Ross Snyder, Etsy, SXSW Lean Startup 2013Ross Snyder, Etsy, SXSW Lean Startup 2013
Ross Snyder, Etsy, SXSW Lean Startup 2013500 Startups
 
Shitlist-driven development and other tricks for working on large codebases
Shitlist-driven development and other tricks for working on large codebasesShitlist-driven development and other tricks for working on large codebases
Shitlist-driven development and other tricks for working on large codebasesFlorian Weingarten
 
No, we can't do continuous delivery
No, we can't do continuous deliveryNo, we can't do continuous delivery
No, we can't do continuous deliveryKris Buytaert
 
Life in the tech trenches (2015)
Life in the tech trenches (2015)Life in the tech trenches (2015)
Life in the tech trenches (2015)Julien SIMON
 
CTO Crunch avec Julien Simon, Viadeo
CTO Crunch avec Julien Simon, ViadeoCTO Crunch avec Julien Simon, Viadeo
CTO Crunch avec Julien Simon, ViadeoFrance Digitale
 
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
 
Scaling a Web Site - OSCON Tutorial
Scaling a Web Site - OSCON TutorialScaling a Web Site - OSCON Tutorial
Scaling a Web Site - OSCON Tutorialduleepa
 
Workshop fight legacy code write unit test
Workshop fight legacy code write unit testWorkshop fight legacy code write unit test
Workshop fight legacy code write unit testTung Nguyen Thanh
 
[XPday.vn] Legacy code workshop (at) [XP Day Vietnam 2015]
[XPday.vn] Legacy code workshop (at) [XP Day Vietnam 2015][XPday.vn] Legacy code workshop (at) [XP Day Vietnam 2015]
[XPday.vn] Legacy code workshop (at) [XP Day Vietnam 2015]Agile đây Vietnam
 
2012 SxSW When IT Says No by Gene Kim
2012 SxSW When IT Says No by Gene Kim2012 SxSW When IT Says No by Gene Kim
2012 SxSW When IT Says No by Gene KimGene Kim
 
How To (Not) Open Source - Javazone, Oslo 2014
How To (Not) Open Source - Javazone, Oslo 2014How To (Not) Open Source - Javazone, Oslo 2014
How To (Not) Open Source - Javazone, Oslo 2014gdusbabek
 
TDD: seriously, try it! 
TDD: seriously, try it! TDD: seriously, try it! 
TDD: seriously, try it! Nacho Cougil
 
Practical agile TechExeter
Practical agile TechExeterPractical agile TechExeter
Practical agile TechExeterIan Ames
 
Practical Agile. Lessons learned the hard way on our journey building digita...
Practical Agile.  Lessons learned the hard way on our journey building digita...Practical Agile.  Lessons learned the hard way on our journey building digita...
Practical Agile. Lessons learned the hard way on our journey building digita...TechExeter
 
Agile Development Overview (with a bit about builds)
Agile Development Overview (with a bit about builds)Agile Development Overview (with a bit about builds)
Agile Development Overview (with a bit about builds)David Benjamin
 
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
 
A Tale from the Upstream Path
A Tale from the Upstream PathA Tale from the Upstream Path
A Tale from the Upstream PathTesora
 

Similar to Continuous Deployment at Etsy: A Tale of Two Approaches (20)

Ross Snyder, Etsy, SXSW Lean Startup 2013
Ross Snyder, Etsy, SXSW Lean Startup 2013Ross Snyder, Etsy, SXSW Lean Startup 2013
Ross Snyder, Etsy, SXSW Lean Startup 2013
 
Shitlist-driven development and other tricks for working on large codebases
Shitlist-driven development and other tricks for working on large codebasesShitlist-driven development and other tricks for working on large codebases
Shitlist-driven development and other tricks for working on large codebases
 
No, we can't do continuous delivery
No, we can't do continuous deliveryNo, we can't do continuous delivery
No, we can't do continuous delivery
 
Life in the tech trenches (2015)
Life in the tech trenches (2015)Life in the tech trenches (2015)
Life in the tech trenches (2015)
 
CTO Crunch avec Julien Simon, Viadeo
CTO Crunch avec Julien Simon, ViadeoCTO Crunch avec Julien Simon, Viadeo
CTO Crunch avec Julien Simon, Viadeo
 
AgileCamp 2014 Track 5: The Seven Wastes - Can You Get Leaner
AgileCamp 2014 Track 5: The Seven Wastes - Can You Get LeanerAgileCamp 2014 Track 5: The Seven Wastes - Can You Get Leaner
AgileCamp 2014 Track 5: The Seven Wastes - Can You Get Leaner
 
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
 
Scaling a Web Site - OSCON Tutorial
Scaling a Web Site - OSCON TutorialScaling a Web Site - OSCON Tutorial
Scaling a Web Site - OSCON Tutorial
 
Workshop fight legacy code write unit test
Workshop fight legacy code write unit testWorkshop fight legacy code write unit test
Workshop fight legacy code write unit test
 
[XPday.vn] Legacy code workshop (at) [XP Day Vietnam 2015]
[XPday.vn] Legacy code workshop (at) [XP Day Vietnam 2015][XPday.vn] Legacy code workshop (at) [XP Day Vietnam 2015]
[XPday.vn] Legacy code workshop (at) [XP Day Vietnam 2015]
 
2012 SxSW When IT Says No by Gene Kim
2012 SxSW When IT Says No by Gene Kim2012 SxSW When IT Says No by Gene Kim
2012 SxSW When IT Says No by Gene Kim
 
How To (Not) Open Source - Javazone, Oslo 2014
How To (Not) Open Source - Javazone, Oslo 2014How To (Not) Open Source - Javazone, Oslo 2014
How To (Not) Open Source - Javazone, Oslo 2014
 
DevOps Days Ohio
DevOps Days OhioDevOps Days Ohio
DevOps Days Ohio
 
TDD: seriously, try it! 
TDD: seriously, try it! TDD: seriously, try it! 
TDD: seriously, try it! 
 
Dibi Conference 2012
Dibi Conference 2012Dibi Conference 2012
Dibi Conference 2012
 
Practical agile TechExeter
Practical agile TechExeterPractical agile TechExeter
Practical agile TechExeter
 
Practical Agile. Lessons learned the hard way on our journey building digita...
Practical Agile.  Lessons learned the hard way on our journey building digita...Practical Agile.  Lessons learned the hard way on our journey building digita...
Practical Agile. Lessons learned the hard way on our journey building digita...
 
Agile Development Overview (with a bit about builds)
Agile Development Overview (with a bit about builds)Agile Development Overview (with a bit about builds)
Agile Development Overview (with a bit about builds)
 
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
 
A Tale from the Upstream Path
A Tale from the Upstream PathA Tale from the Upstream Path
A Tale from the Upstream Path
 

Recently uploaded

Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
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...Igalia
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
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 MenDelhi Call girls
 
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 organizationRadu Cotescu
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
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 slidevu2urc
 

Recently uploaded (20)

Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
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...
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
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
 
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
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
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
 

Continuous Deployment at Etsy: A Tale of Two Approaches

  • 1. Continuous Deployment at : A Tale of Two Approaches Ross Snyder ross@etsy.com @beamrider9 March 9, 2013 1
  • 3. is: The global marketplace we make together. 3
  • 4. is: The premier destination for handmade goods, vintage items, and craft supplies. simplertimestoys lacklusterco norwesterseaglass 4
  • 5. quick facts: (as of March 2013) • 22+ million members • 800,000+ active shops • 18+ million items currently for sale • 20 cents to list item, 3.5% transaction fee • 400+ employees (majority in Brooklyn) 5
  • 6. Since opening its doors in June 2005, Etsy has grown virtually non-stop. $1,000 $800 $600 $400 $200 $0 2005 2006 2007 2008 2009 2010 2011 2012 Gross Merchandise Sales ($MM) 6
  • 7. A nice problem to have: “Our site is so successful, how can we move fast enough to keep up with demand?” 7
  • 9. : The Early Years (2005 - 2008) 9
  • 10. : The Early Years 1. Spend significant time writing code 10
  • 11. : The Early Years 1. Weeks writing code 2. Painful source control merge 11
  • 12. : The Early Years 1. Weeks writing code 2. Painful merge 3. Hand off to someone else to deploy 12
  • 13. : The Early Years 1. Weeks writing code 2. Painful merge 3. Hand off to deployers 4. Deploy, site goes down 13
  • 14. : The Early Years 1. Weeks writing code 4. Deploy, site down 2. Painful merge 3. Hand off to deployers 5. Roll back deploy 14
  • 15. : The Early Years 1. Weeks writing code 4. Deploy, site down 2. Painful merge 5. Roll back deploy 3. Hand off to deployers 6. Spend hours (days?) fixing bugs 15
  • 16. : The Early Years 1. Weeks writing code 4. Deploy, site down 2. Painful merge 5. Roll back deploy 3. Hand off to deployers 6. Fix bugs 7. Go back to step 2 16
  • 17. : The Early Years WATERFALL! 17
  • 18. : The Early Years Pros: Early Etsy engineers used this release cycle to bootstrap the marketplace from nothing. Forever grateful. 18
  • 19. : The Early Years Cons: • Large changesets • Infrequent deploys • Weak confidence in deploy success • Significant time spent deploying • Low ability to experiment/iterate/react • Developer stress/unhappiness 19
  • 20. : The Early Years By late 2008, Etsy is still a startup, but has the deploy process of a much bulkier company. Popularity is on the verge of outpacing capacity. 20
  • 21. : Today 21
  • 22. : Today 1. Small changesets, deployed frequently 22
  • 23. : Today 1. Small changesets 2. Engineers deploy the site 23
  • 24. : Today And not just engineers, but also: • Designers • Product Folks • Upper Management • Board Members • Dogs 24
  • 25. : Today 1. Small changesets 2. Engineers deploy 3. Deploys are fast and near-effortless 25
  • 26. : Today 1. Small changesets 2. Engineers deploy 3. Deploys are fast 4. Most changes behind config flags (safer deploys) 26
  • 27. : Today 1. Small changesets 4. Changes behind flags 2. Engineers deploy 3. Deploys are fast 5. Graphs/metrics to assess deploy 27
  • 28. : Today 1. Small changesets 4. Changes behind flags 2. Engineers deploy 5. Copious graphs/metrics 3. Deploys are fast 6. If issues, fix immediately & roll forward 28
  • 29. : Today This isn’t license to break stuff, quickly. Engineer-driven QA and solid unit testing are integral parts of the process. 29
  • 30. : Today 1. Small changesets 4. Changes behind flags 2. Engineers deploy 5. Copious graphs/metrics 3. Deploys are fast 6. Fix fast & roll forward 7. Repeat 25+ times per day, every day 30
  • 31. Then: 1. Weeks writing code 2. Painful merge 3. Hand off to deployers 4. Deploy, site down 5. Roll back deploy 6. Fix bugs, go to step 2 Now: 1. Small changesets 2. Engineers deploy 3. Deploys are fast 4. Changes behind flags 5. Copious graphs/metrics 6. Fix fast & roll forward 31
  • 32. Etsy Deploy Stats: 2012 • Deployed to production 6,419 times • On average, 535/month, 25/day • Additional 3,851 config-only deploys • 196 different people deployed to prod • Nov/Dec 2012: deployed 752 times 32
  • 33. Why does it work? 33
  • 34. Continuous Deployment Math • N = # of deploys • P = probability of site degradation • S = average severity of degradation • T = time to detect/resolve Expected = N*P*S*T Downtime 34
  • 35. Continuous Deployment Math N = # of deploys S = avg. severity of degradation P = prob. of degradation T = time to detect/resolve Before: Now: •N=1 • N = 250 ↑↑↑↑ • P = 0.5 • P = 0.1 ↓ • S = 0.7 • S = 0.05 ↓↓ • T = 100 • T = 5 ↓↓↓ E.D. = 35 E.D. = 6.25 (all numbers completely arbitrary) 35
  • 36. Big Takeaway Etsy circa 2013 (400+ employees) acts, in some ways, more like a startup than Etsy circa 2008 (40+ employees). 36
  • 37. Continuous Deployment makes possible: “Continuous Experimentation” http://etsy.me/continuous-experimentation 37
  • 38. Continuous Experimentation 1. Small changes 2. Run experiment (A/B test) 3. Analyze data 4. Re-examine assumptions Repeat continuously in pursuit of larger goals. 38
  • 39. Heard since 2010: “Neat experiment, but this will never scale.” As of 2013, Etsy has 100+ engineers - still going strong. 39
  • 40. Some Etsy Customizations Deploying is a first-class feature. Inability to deploy is a P1 incident (same as site down). 40
  • 41. Some Etsy Customizations We continuously deploy not just the main Etsy website, but as much as possible: • Internal admin site • API • Big data • Search • Blog • Deployinator itself 41
  • 42. Some Etsy Customizations In the rare case we can’t continuously deploy, we create alternative tools: • Database schema changes • PCI-DSS environment (credit cards) We do continuously deploy as much of our payment processing as is safe & legal (98%). 42
  • 43. Some Etsy Customizations Keeping deploys fast is paramount and worth the investment in manpower & hardware. 43
  • 44. Some Etsy Customizations Continuous deployment is all about moving forward, sometimes at the expense of the past. Our solution: engineering-wide bug rotation, one day a month, every engineer participates. 44
  • 45. Fun Fact: Continuous Deployment is a fantastic recruitment tool for attracting engineers who like to move fast and get stuff done. 45
  • 46. Learn more: http://codeascraft.etsy.com/ Etsy open source (Deployinator, StatsD) http://etsy.github.com/ Join the fun: http://www.etsy.com/careers 46