SlideShare a Scribd company logo
1 of 87
Download to read offline
Put a Button on it
                          Removing Barriers to Going Fast

                              kastner@gmail.com / @kastner
                            jgoulah@gmail.com / @johngoulah
Thursday, March 8, 2012
Thursday, March 8, 2012
1+ Billion Pageviews
                                Per Month
Thursday, March 8, 2012
Speed

Thursday, March 8, 2012
~100 Engineers

Thursday, March 8, 2012
Barriers

Thursday, March 8, 2012
etsy.github.com


Thursday, March 8, 2012
We’re Hiring
                          etsy.com/jobs

Thursday, March 8, 2012
Thursday, March 8, 2012
Optimization

Thursday, March 8, 2012
Happiness

Thursday, March 8, 2012
Sad Engineers
                          are Bad Engineers

Thursday, March 8, 2012
Barriers

Thursday, March 8, 2012
Process

Thursday, March 8, 2012
“Process is an embedded
                          reaction to prior stupidity”
                                            – Clay Shirky
Thursday, March 8, 2012
Fear

Thursday, March 8, 2012
Thursday, March 8, 2012
Correctness

Thursday, March 8, 2012
"My strategy has always been: be wrong as
                                       Text
                   fast as we can, Which basically means, we're
                   gonna screw up, … Let's not be afraid of that."
                                             – Andrew Stanton
Thursday, March 8, 2012
Legacy

Thursday, March 8, 2012
How?

Thursday, March 8, 2012
Communication

Thursday, March 8, 2012
Trust

Thursday, March 8, 2012
Openness

Thursday, March 8, 2012
Constant Improvement

Thursday, March 8, 2012
Then vs. Now

Thursday, March 8, 2012
2009



Thursday, March 8, 2012
2009   2011



Thursday, March 8, 2012
2009
                          Single Deploy
                             Master
Thursday, March 8, 2012
2009            2011
                          Single Deploy   Anyone Can
                             Master         Deploy
Thursday, March 8, 2012
2009
                          Rollback in
                             Fear
Thursday, March 8, 2012
2009           2011
                          Rollback in   Roll Forward
                             Fear        to Victory
Thursday, March 8, 2012
2009
                          All Day
                          Deploys
Thursday, March 8, 2012
2009       2011
                          All Day   Deploy All
                          Deploys     Day
Thursday, March 8, 2012
So, what does Etsy
                            optimize for?
Thursday, March 8, 2012
MTTR vs. MTBF

Thursday, March 8, 2012
Default to Open

Thursday, March 8, 2012
Culture First

Thursday, March 8, 2012
If it’s your first day at
                          Etsy, you must deploy!
Thursday, March 8, 2012
Doing the dumbest thing
                           that can possibly work
Thursday, March 8, 2012
Committing to Trunk

Thursday, March 8, 2012
Branching in Code

Thursday, March 8, 2012
if ($cfg["new_search"]) {
                            // new hotness
                            $resp = search_solr();
                          } else {
                            // old busted
                            $resp = search_grep();
                          }



Thursday, March 8, 2012
Configuration is Code

Thursday, March 8, 2012
$cfg["new_search"] = true;




Thursday, March 8, 2012
Blameless
                          Post-mortems
Thursday, March 8, 2012
Databases are Different

Thursday, March 8, 2012
Does it Work?

Thursday, March 8, 2012
Thursday, March 8, 2012
Vertical Line Technology™



Thursday, March 8, 2012
Thursday, March 8, 2012
6 Change-related
                          incidents in 2010
Thursday, March 8, 2012
November code-freeze

Thursday, March 8, 2012
November code-freeze
                              721 Deploys
Thursday, March 8, 2012
Deployinator

Thursday, March 8, 2012
Thursday, March 8, 2012
Thursday, March 8, 2012
Thursday, March 8, 2012
Capistrano



Thursday, March 8, 2012
Capistrano
                            Puppet


Thursday, March 8, 2012
Capistrano
                            Puppet
                            Fabric

Thursday, March 8, 2012
Capistrano
                            Puppet
                            Fabric
                             Chef
Thursday, March 8, 2012
Thursday, March 8, 2012
Thursday, March 8, 2012
Thursday, March 8, 2012
Thursday, March 8, 2012
Thursday, March 8, 2012
Communication

Thursday, March 8, 2012
Thursday, March 8, 2012
Thursday, March 8, 2012
Thursday, March 8, 2012
Thursday, March 8, 2012
Thursday, March 8, 2012
Thursday, March 8, 2012
Dashboard Driven
                            Development
Thursday, March 8, 2012
Thursday, March 8, 2012
13:15 < devbot> PRODUCTION deployed by jclarke version:
                          4b64cae-20111026-180816-UTC took: 46.697705 seconds
                          diff: http://deployinator/diff/web/a6de636/4b64cae




Thursday, March 8, 2012
e ntial
                               Co   nf id
                          Etsy

Thursday, March 8, 2012
Deployinator           Deploy Host




                          Web 1                  Web 2                 Web N



Thursday, March 8, 2012
Deployinator
                                                 ssh     Deploy Host




                          Web 1                  Web 2                 Web N



Thursday, March 8, 2012
Deployinator
                                                 ssh     Deploy Host




                                                           dsh
                          Web 1                  Web 2                 Web N



Thursday, March 8, 2012
Deployinator
                                                 ssh     Deploy Host




                                                           dsh
                          Web 1                  Web 2                 Web N



Thursday, March 8, 2012
Deployinator
                                                  ssh     Deploy Host




                                                            dsh
                                  Rsync

                          Web 1                   Web 2                 Web N



Thursday, March 8, 2012
What’s Stopping You?

Thursday, March 8, 2012
Know what you’re
                            optimizing for
Thursday, March 8, 2012
Open Source
                           Software!
Thursday, March 8, 2012
Thank you
                          github.com/etsy

Thursday, March 8, 2012

More Related Content

Similar to Removing Barriers to Going Fast

Games for the Masses (QCon London 2012)
Games for the Masses (QCon London 2012)Games for the Masses (QCon London 2012)
Games for the Masses (QCon London 2012)Wooga
 
New models for cultural journalism
New models for cultural journalismNew models for cultural journalism
New models for cultural journalismPaul Bradshaw
 
Como escalar aplicações PHP
Como escalar aplicações PHPComo escalar aplicações PHP
Como escalar aplicações PHPAugusto Pascutti
 
Usability: Test Types & Ethics
Usability: Test Types & EthicsUsability: Test Types & Ethics
Usability: Test Types & EthicsKrista Kennedy
 
Declare independence from your it department sysadmin skills for symfony dev...
Declare independence from your it department  sysadmin skills for symfony dev...Declare independence from your it department  sysadmin skills for symfony dev...
Declare independence from your it department sysadmin skills for symfony dev...Pablo Godel
 
Help Me Design A Better Homepage
Help Me Design A Better HomepageHelp Me Design A Better Homepage
Help Me Design A Better Homepagejtcchan
 
Verwerversdag presentatie mobile trends
Verwerversdag presentatie mobile trendsVerwerversdag presentatie mobile trends
Verwerversdag presentatie mobile trendsVincent Everts
 
Games for the Masses - Wie DevOps die Entwicklung von Architektur verändert (...
Games for the Masses - Wie DevOps die Entwicklung von Architektur verändert (...Games for the Masses - Wie DevOps die Entwicklung von Architektur verändert (...
Games for the Masses - Wie DevOps die Entwicklung von Architektur verändert (...Wooga
 
Fast Mobile UIs
Fast Mobile UIsFast Mobile UIs
Fast Mobile UIsWooga
 
2012 Digital Storytelling Challenge Webinars - Pre-Production
2012 Digital Storytelling Challenge Webinars - Pre-Production2012 Digital Storytelling Challenge Webinars - Pre-Production
2012 Digital Storytelling Challenge Webinars - Pre-ProductionTechSoup
 
Waza keynote: Idea to Delivery
Waza keynote: Idea to DeliveryWaza keynote: Idea to Delivery
Waza keynote: Idea to DeliveryAdam Wiggins
 
Video for good? Good For Video AIM 2012
Video for good?  Good For Video AIM 2012Video for good?  Good For Video AIM 2012
Video for good? Good For Video AIM 2012Craig Moore
 
The new iPad
The new iPadThe new iPad
The new iPadSpike Gu
 
Michael mahlberg exploratory-testing-the_missing_half_of_bdd
Michael mahlberg exploratory-testing-the_missing_half_of_bddMichael mahlberg exploratory-testing-the_missing_half_of_bdd
Michael mahlberg exploratory-testing-the_missing_half_of_bddMichael Mahlberg
 
Summer of tech 2011
Summer of tech 2011Summer of tech 2011
Summer of tech 2011John Clegg
 
Michele johnson visual resume
Michele johnson visual resumeMichele johnson visual resume
Michele johnson visual resumemichele-johnson
 
Apresentação de Peter Sells no Mobilize Breakfast
Apresentação de Peter Sells no Mobilize BreakfastApresentação de Peter Sells no Mobilize Breakfast
Apresentação de Peter Sells no Mobilize BreakfastPontomobi
 

Similar to Removing Barriers to Going Fast (20)

Games for the Masses (QCon London 2012)
Games for the Masses (QCon London 2012)Games for the Masses (QCon London 2012)
Games for the Masses (QCon London 2012)
 
New models for cultural journalism
New models for cultural journalismNew models for cultural journalism
New models for cultural journalism
 
Apple story
Apple storyApple story
Apple story
 
Como escalar aplicações PHP
Como escalar aplicações PHPComo escalar aplicações PHP
Como escalar aplicações PHP
 
Usability: Test Types & Ethics
Usability: Test Types & EthicsUsability: Test Types & Ethics
Usability: Test Types & Ethics
 
Declare independence from your it department sysadmin skills for symfony dev...
Declare independence from your it department  sysadmin skills for symfony dev...Declare independence from your it department  sysadmin skills for symfony dev...
Declare independence from your it department sysadmin skills for symfony dev...
 
Help Me Design A Better Homepage
Help Me Design A Better HomepageHelp Me Design A Better Homepage
Help Me Design A Better Homepage
 
Hoosier Hospitality
Hoosier HospitalityHoosier Hospitality
Hoosier Hospitality
 
Verwerversdag presentatie mobile trends
Verwerversdag presentatie mobile trendsVerwerversdag presentatie mobile trends
Verwerversdag presentatie mobile trends
 
Games for the Masses - Wie DevOps die Entwicklung von Architektur verändert (...
Games for the Masses - Wie DevOps die Entwicklung von Architektur verändert (...Games for the Masses - Wie DevOps die Entwicklung von Architektur verändert (...
Games for the Masses - Wie DevOps die Entwicklung von Architektur verändert (...
 
Fast Mobile UIs
Fast Mobile UIsFast Mobile UIs
Fast Mobile UIs
 
Ipon2012 keynote
Ipon2012 keynoteIpon2012 keynote
Ipon2012 keynote
 
2012 Digital Storytelling Challenge Webinars - Pre-Production
2012 Digital Storytelling Challenge Webinars - Pre-Production2012 Digital Storytelling Challenge Webinars - Pre-Production
2012 Digital Storytelling Challenge Webinars - Pre-Production
 
Waza keynote: Idea to Delivery
Waza keynote: Idea to DeliveryWaza keynote: Idea to Delivery
Waza keynote: Idea to Delivery
 
Video for good? Good For Video AIM 2012
Video for good?  Good For Video AIM 2012Video for good?  Good For Video AIM 2012
Video for good? Good For Video AIM 2012
 
The new iPad
The new iPadThe new iPad
The new iPad
 
Michael mahlberg exploratory-testing-the_missing_half_of_bdd
Michael mahlberg exploratory-testing-the_missing_half_of_bddMichael mahlberg exploratory-testing-the_missing_half_of_bdd
Michael mahlberg exploratory-testing-the_missing_half_of_bdd
 
Summer of tech 2011
Summer of tech 2011Summer of tech 2011
Summer of tech 2011
 
Michele johnson visual resume
Michele johnson visual resumeMichele johnson visual resume
Michele johnson visual resume
 
Apresentação de Peter Sells no Mobilize Breakfast
Apresentação de Peter Sells no Mobilize BreakfastApresentação de Peter Sells no Mobilize Breakfast
Apresentação de Peter Sells no Mobilize Breakfast
 

Recently uploaded

One India vs United India by Dream Tamilnadu
One India vs United India by Dream TamilnaduOne India vs United India by Dream Tamilnadu
One India vs United India by Dream TamilnaduDreamTamilnadu
 
Light Rail in Canberra: Too much, too little, too late: Is the price worth th...
Light Rail in Canberra: Too much, too little, too late: Is the price worth th...Light Rail in Canberra: Too much, too little, too late: Is the price worth th...
Light Rail in Canberra: Too much, too little, too late: Is the price worth th...University of Canberra
 
Right to Privacy Case Studies PDF …………..
Right to Privacy Case Studies PDF …………..Right to Privacy Case Studies PDF …………..
Right to Privacy Case Studies PDF …………..mathiasanna557
 
EED - Profits uncontained. An analysis of container shipping ETS surcharges
EED - Profits uncontained. An analysis of container shipping ETS surchargesEED - Profits uncontained. An analysis of container shipping ETS surcharges
EED - Profits uncontained. An analysis of container shipping ETS surchargesEl Estrecho Digital
 
Por estos dos motivos, defensa de JOH solicita repetir juicio
Por estos dos motivos, defensa de JOH solicita repetir juicioPor estos dos motivos, defensa de JOH solicita repetir juicio
Por estos dos motivos, defensa de JOH solicita repetir juicioAlexisTorres963861
 
Another Day, Another Default Judgment Against Gabe Whitley
Another Day, Another Default Judgment Against Gabe WhitleyAnother Day, Another Default Judgment Against Gabe Whitley
Another Day, Another Default Judgment Against Gabe WhitleyAbdul-Hakim Shabazz
 
Green Aesthetic Ripped Paper Thesis Defense Presentation_20240311_111012_0000...
Green Aesthetic Ripped Paper Thesis Defense Presentation_20240311_111012_0000...Green Aesthetic Ripped Paper Thesis Defense Presentation_20240311_111012_0000...
Green Aesthetic Ripped Paper Thesis Defense Presentation_20240311_111012_0000...virgfern3011
 
Anantkumar Hegde
Anantkumar Hegde  Anantkumar Hegde
Anantkumar Hegde NewsFeed1
 

Recently uploaded (8)

One India vs United India by Dream Tamilnadu
One India vs United India by Dream TamilnaduOne India vs United India by Dream Tamilnadu
One India vs United India by Dream Tamilnadu
 
Light Rail in Canberra: Too much, too little, too late: Is the price worth th...
Light Rail in Canberra: Too much, too little, too late: Is the price worth th...Light Rail in Canberra: Too much, too little, too late: Is the price worth th...
Light Rail in Canberra: Too much, too little, too late: Is the price worth th...
 
Right to Privacy Case Studies PDF …………..
Right to Privacy Case Studies PDF …………..Right to Privacy Case Studies PDF …………..
Right to Privacy Case Studies PDF …………..
 
EED - Profits uncontained. An analysis of container shipping ETS surcharges
EED - Profits uncontained. An analysis of container shipping ETS surchargesEED - Profits uncontained. An analysis of container shipping ETS surcharges
EED - Profits uncontained. An analysis of container shipping ETS surcharges
 
Por estos dos motivos, defensa de JOH solicita repetir juicio
Por estos dos motivos, defensa de JOH solicita repetir juicioPor estos dos motivos, defensa de JOH solicita repetir juicio
Por estos dos motivos, defensa de JOH solicita repetir juicio
 
Another Day, Another Default Judgment Against Gabe Whitley
Another Day, Another Default Judgment Against Gabe WhitleyAnother Day, Another Default Judgment Against Gabe Whitley
Another Day, Another Default Judgment Against Gabe Whitley
 
Green Aesthetic Ripped Paper Thesis Defense Presentation_20240311_111012_0000...
Green Aesthetic Ripped Paper Thesis Defense Presentation_20240311_111012_0000...Green Aesthetic Ripped Paper Thesis Defense Presentation_20240311_111012_0000...
Green Aesthetic Ripped Paper Thesis Defense Presentation_20240311_111012_0000...
 
Anantkumar Hegde
Anantkumar Hegde  Anantkumar Hegde
Anantkumar Hegde
 

Removing Barriers to Going Fast