SlideShare a Scribd company logo
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 journalism
Paul Bradshaw
 
Apple story
Apple storyApple story
Como escalar aplicações PHP
Como escalar aplicações PHPComo escalar aplicações PHP
Como escalar aplicações PHP
Augusto Pascutti
 
Usability: Test Types & Ethics
Usability: Test Types & EthicsUsability: Test Types & Ethics
Usability: Test Types & Ethics
Krista 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 Homepage
jtcchan
 
Hoosier Hospitality
Hoosier HospitalityHoosier Hospitality
Hoosier Hospitality
Robbin Phillips
 
Verwerversdag presentatie mobile trends
Verwerversdag presentatie mobile trendsVerwerversdag presentatie mobile trends
Verwerversdag presentatie mobile trends
Vincent 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 UIs
Wooga
 
Ipon2012 keynote
Ipon2012 keynoteIpon2012 keynote
Ipon2012 keynote
Vincent Everts
 
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
TechSoup
 
Waza keynote: Idea to Delivery
Waza keynote: Idea to DeliveryWaza keynote: Idea to Delivery
Waza keynote: Idea to Delivery
Adam 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 2012
Craig Moore
 
The new iPad
The new iPadThe new iPad
The new iPad
Spike 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_bdd
Michael Mahlberg
 
Architecting for failure
Architecting for failureArchitecting for failure
Architecting for failure
Michael Brunton-Spall
 
Summer of tech 2011
Summer of tech 2011Summer of tech 2011
Summer of tech 2011
John Clegg
 
Michele johnson visual resume
Michele johnson visual resumeMichele johnson visual resume
Michele johnson visual resume
michele-johnson
 

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
 
Architecting for failure
Architecting for failureArchitecting for failure
Architecting for failure
 
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
 

Recently uploaded

Letter-from-ECI-to-MeiTY-21st-march-2024.pdf
Letter-from-ECI-to-MeiTY-21st-march-2024.pdfLetter-from-ECI-to-MeiTY-21st-march-2024.pdf
Letter-from-ECI-to-MeiTY-21st-march-2024.pdf
bhavenpr
 
EED - The Container Port PERFORMANCE INDEX 2023
EED - The Container Port PERFORMANCE INDEX 2023EED - The Container Port PERFORMANCE INDEX 2023
EED - The Container Port PERFORMANCE INDEX 2023
El Estrecho Digital
 
What Ukraine Has Lost During Russia’s Invasion
What Ukraine Has Lost During Russia’s InvasionWhat Ukraine Has Lost During Russia’s Invasion
What Ukraine Has Lost During Russia’s Invasion
LUMINATIVE MEDIA/PROJECT COUNSEL MEDIA GROUP
 
Hogan Comes Home: an MIA WWII crewman is returned
Hogan Comes Home: an MIA WWII crewman is returnedHogan Comes Home: an MIA WWII crewman is returned
Hogan Comes Home: an MIA WWII crewman is returned
rbakerj2
 
2015pmkemenhub163.pdf 2015pmkemenhub163.pdf
2015pmkemenhub163.pdf 2015pmkemenhub163.pdf2015pmkemenhub163.pdf 2015pmkemenhub163.pdf
2015pmkemenhub163.pdf 2015pmkemenhub163.pdf
CIkumparan
 
Essential Tools for Modern PR Business .pptx
Essential Tools for Modern PR Business .pptxEssential Tools for Modern PR Business .pptx
Essential Tools for Modern PR Business .pptx
Pragencyuk
 
Hindustan Insider 2nd edition release now
Hindustan Insider 2nd edition release nowHindustan Insider 2nd edition release now
Hindustan Insider 2nd edition release now
hindustaninsider22
 
Gabriel Whitley's Motion Summary Judgment
Gabriel Whitley's Motion Summary JudgmentGabriel Whitley's Motion Summary Judgment
Gabriel Whitley's Motion Summary Judgment
Abdul-Hakim Shabazz
 
Acolyte Episodes review (TV series)..pdf
Acolyte Episodes review (TV series)..pdfAcolyte Episodes review (TV series)..pdf
Acolyte Episodes review (TV series)..pdf
46adnanshahzad
 
04062024_First India Newspaper Jaipur.pdf
04062024_First India Newspaper Jaipur.pdf04062024_First India Newspaper Jaipur.pdf
04062024_First India Newspaper Jaipur.pdf
FIRST INDIA
 

Recently uploaded (10)

Letter-from-ECI-to-MeiTY-21st-march-2024.pdf
Letter-from-ECI-to-MeiTY-21st-march-2024.pdfLetter-from-ECI-to-MeiTY-21st-march-2024.pdf
Letter-from-ECI-to-MeiTY-21st-march-2024.pdf
 
EED - The Container Port PERFORMANCE INDEX 2023
EED - The Container Port PERFORMANCE INDEX 2023EED - The Container Port PERFORMANCE INDEX 2023
EED - The Container Port PERFORMANCE INDEX 2023
 
What Ukraine Has Lost During Russia’s Invasion
What Ukraine Has Lost During Russia’s InvasionWhat Ukraine Has Lost During Russia’s Invasion
What Ukraine Has Lost During Russia’s Invasion
 
Hogan Comes Home: an MIA WWII crewman is returned
Hogan Comes Home: an MIA WWII crewman is returnedHogan Comes Home: an MIA WWII crewman is returned
Hogan Comes Home: an MIA WWII crewman is returned
 
2015pmkemenhub163.pdf 2015pmkemenhub163.pdf
2015pmkemenhub163.pdf 2015pmkemenhub163.pdf2015pmkemenhub163.pdf 2015pmkemenhub163.pdf
2015pmkemenhub163.pdf 2015pmkemenhub163.pdf
 
Essential Tools for Modern PR Business .pptx
Essential Tools for Modern PR Business .pptxEssential Tools for Modern PR Business .pptx
Essential Tools for Modern PR Business .pptx
 
Hindustan Insider 2nd edition release now
Hindustan Insider 2nd edition release nowHindustan Insider 2nd edition release now
Hindustan Insider 2nd edition release now
 
Gabriel Whitley's Motion Summary Judgment
Gabriel Whitley's Motion Summary JudgmentGabriel Whitley's Motion Summary Judgment
Gabriel Whitley's Motion Summary Judgment
 
Acolyte Episodes review (TV series)..pdf
Acolyte Episodes review (TV series)..pdfAcolyte Episodes review (TV series)..pdf
Acolyte Episodes review (TV series)..pdf
 
04062024_First India Newspaper Jaipur.pdf
04062024_First India Newspaper Jaipur.pdf04062024_First India Newspaper Jaipur.pdf
04062024_First India Newspaper Jaipur.pdf
 

Removing Barriers to Going Fast