SlideShare a Scribd company logo
1 of 75
Continuous delivery, 
A/B testing + everyday 
launch decisions at Etsy 
QCon NY 2014 
Nellwyn Thomas 
Director of Analytics, Etsy 
nellwyn@etsy.com 
@nellwyn
Watch the video with slide 
synchronization on InfoQ.com! 
http://www.infoq.com/presentations 
/ab-testing-continuous-delivery 
InfoQ.com: News & Community Site 
• 750,000 unique visitors/month 
• Published in 4 languages (English, Chinese, Japanese and Brazilian 
Portuguese) 
• Post content from our QCon conferences 
• News 15-20 / week 
• Articles 3-4 / week 
• Presentations (videos) 12-15 / week 
• Interviews 2-3 / week 
• Books 1 / month
Presented at QCon New York 
www.qconnewyork.com 
Purpose of QCon 
- to empower software development by facilitating the spread of 
knowledge and innovation 
Strategy 
- practitioner-driven conference designed for YOU: influencers of 
change and innovation in your teams 
- speakers and topics driving the evolution and innovation 
- connecting and catalyzing the influencers and innovators 
Highlights 
- attended by more than 12,000 delegates since 2007 
- held in 9 cities worldwide
etsy, briefly 
deploying 
experimenting 
making decisions, everyday 
takeaways 
!
etsy, briefly 
deploying 
experimenting 
making decisions, everyday 
takeaways
The world’s handmade and vintage marketplace.
Over 25M items from 1M shops in 150 countries.
$1.35B sales in 2013 
!
30 deploys by 200+ people per day 
! 
! 
! 
! 
This is continuous delivery at Etsy
3 dozen experiments running simultaneously 
! 
! 
! 
! 
This is experimentation at Etsy
etsy, briefly 
deploying 
experimenting 
making decisions, everyday 
takeaways
Basic principles 
• A single source repository 
• Automate the build 
• Automate the testing 
• Automate deployment 
• Always ready to deploy quality software
Why continuous delivery? 
• Move faster 
• Fail faster 
• More empowering 
• Breeds confidence
Why continuous delivery? 
“Because you’re integrating so frequently, 
there is significantly less back-tracking to 
discover where things went wrong, so 
you can spend more time building 
features.” 
! http://www.thoughtworks.com/continuous-integration
config.php 
template.tpl
CI Status (1 hour) 
End-User (1 hour) 
Error Logs (All) (1 hour) 
.................................................................. 
Deploy Dashboard Git Commits Princess Supergrep Supergrep Forum Watcher 
Time: 1 hour Until: Now Hide Deploys Deploys hidden: Config Web / Api / Atlas Search Photos Blog Chef (prod) Schemanator 
Push 
rbateman 
on qa 
6m since 7, 2012 9:54 
Three-Armed Sweaters 
error pages · historical 
clip Akamai Whoopsies 
origin failures · historical 
clip Edgecast Whoopsies 
origin failures · historical 
clip Screwed Users 
unique users · historical 
clip 
All 
File or Script Not Found 
current · historical 
clip Exceptions 
current · historical 
clip Fatals 
current · historical 
clip Errors 
current · historical 
clip Warnings 
current · historical 
clip 
Segmentation Faults 
current · historical 
clip PHP Allowed Memory 
Size Exhausted 
current · historical 
clip PHP Maximum Execution 
Time 
current · historical 
clip Memcache Connection 
Failures 
current · historical 
clip Thrift Exceptions 
current · historical 
clip
Segmentation Faults 
current · historical 
clip PHP Allowed Memory 
Other Errors (1 hour) 
Size Exhausted 
current · historical 
Business Graphs (1 hour) 
clip PHP Maximum Execution 
Time 
current · historical 
clip Memcache Connection 
Failures 
current · historical 
clip Thrift Exceptions 
current · historical 
clip 
StatsD 
packet receive errors · historical 
clip CSRF Mismatch 
current · historical 
clip CSRF Missing 
current · historical 
clip Client Side (JS) Errors 
current · historical 
clip Empty Image URLs 
grey.gif · Default Avatars 
clip 
Registrations 
facebook · facebook (historical) · other · other (historical) 
clip Logins (82.00%) 
logins · logins (historical) · errors · errors (historical) 
clip Checkouts (97.81%) 
success · failure 
clip 
Post Checkouts 
current · historical 
clip Mobile Checkouts 
iOS · mobile web 
clip Direct Checkout Checkouts (98.00%) 
success · failure 
clip
Post Checkouts 
current · historical 
clip Mobile Checkouts 
iOS · mobile web 
Page Performance by Site Section (1 hour) 
clip Direct Checkout Checkouts (98.00%) 
success · failure 
clip 
Listings Creation/Renewal 
New & Copied · Renewed 
clip Requests 
logged-out · logged-in 
clip CDN Requests Balance 
akamai · edgecast · direct-origin 
clip 
Search Ads 
Requests · Responses · Logged 
clip Forum Posts 
bugs forum · help forum 
clip Seller Registration (100.00%) 
success · failure 
clip 
PHP time (median) 
listing · shop · profile · search · homepage 
clip PHP time (95th percentile) 
listing · shop · profile · search · homepage 
clip webpagetest front-end time 
listing · shop · profile · search · homepage 
clip lognormal load time 
listing · shop · profile · search · homepage 
clip
Page Performance by Site Section (1 hour) 
PHP time (median) 
listing · shop · profile · search · homepage 
Statistics displayed represent signed in page requests. See Page Performance Dashboard for more detail. 
Web Cluster (1 hour) 
API Cluster (1 hour) 
clip PHP time (95th percentile) 
listing · shop · profile · search · homepage 
clip webpagetest front-end time 
listing · shop · profile · search · homepage 
clip lognormal load time 
listing · shop · profile · search · homepage 
clip
API Cluster (1 hour) 
Gearman (1 hour) 
Memcache (1 hour)
Memcache (1 hour) 
Master01 Database Activity (1 hour) 
DBShard Database Activity (1 hour)
DBShard Database Activity (1 hour) 
For more detailed shard information see the MySQL Shards Dashboard 
DBIndex Database Activity (1 hour)
DBIndex Database Activity (1 hour) 
Outgoing Bandwidth (1 hour)
etsy, briefly 
deploying 
experimenting 
making decisions, everyday 
takeaways
Experiments are easy 
• Experiments need large samples, internet “big 
data” is all about large samples 
• Visitors are free 
• Websites are built for iterative change, an 
experiment is an iterative change
And they help. 
• Fail faster 
• Fights confirmation bias 
• Forces you to tie product to goals (hypotheses!) 
• Helps you understand your users
Why experiment? 
“Because you’re integrating so frequently, 
there is significantly less back-tracking to 
discover where things went wrong, so 
you can spend more time building 
features.” 
! http://www.thoughtworks.com/continuous-integration
How do experiment? 
exactly the same way we deploy. 
!
Bucketing 
listing 
page 
cart 
page checkout
Logging 
hadoop cluster 
mysql db 
internal 
dashboard
reusing config, 
automated bucketing, 
automated analysis & graphing 
! 
with no additional effort 
!
on 
off
etsy, briefly 
deploying 
experimenting 
making decisions, everyday 
takeaways
Buy Sell Registry Community Blogs Mobile Gift Cards Help 
Reeggiisstteerr Siiggnn IInn Search for items and shops Seeaarrcchh Caarrtt 
Home › BayTowneLeatherUSA › IPAD Cases 
Leather Ipad Sleeve/ Case/ Envelope/ Folio for IPAD 2 or 3. Full 
Grain Veg Tan Leather. Handmade by BayTowneLeatherUSA. 
This luxurious/rugged and well built IPAD case will protect your IPAD in style. Or you can use 
it as a folio to carry your necessities . Luxurious enough for use at the office, and rugged 
enough for use on the trail. 
Made of beautiful - rugged 5/6 oz. Premium veg tan leather (which will break in beautifully) ; it 
will develop a wonderful natural patina over time as only full grain veg tan leather can do. 
(Gets better with age) 
***I make these cases ONE BY ONE as orders are received*** 
Only 1 available 
Like this item? 
Add it to your favorites Favorite to revisit it later. 
$74.00 USD 
Add to Cart 
Favorite 
Shop 
BayTowneLeatherUSA 
BayTowneLeatherUSA 
Add shop to favorites 
See who favorites this shop 
38 
items 
Shop owner 
Roger 
Marion, Illinois, United States 
Favorites 
Circle 
Feedback: 27, 100% pos. 
Contact 
Item 
Add item to favorites 
See who favorites this item
All credit: John Allspaw
All credit: John Allspaw
All credit: John Allspaw
All credit: John Allspaw
All credit: John Allspaw
All credit: John Allspaw
All credit: John Allspaw
All credit: me 
change 
time 
direction
etsy, briefly 
deploying 
experimenting 
making decisions, everyday 
takeaways
validate early 
and often.
leverage 
existing 
workflows. 
“Changing behavior works only if it 
can be based on the existing ‘culture.’” 
Peter Drucker
don’t confuse 
conflate 
iteration with 
“tweaking pixels” 
the importance 
of the change 
with the size of 
the change
More Goodness 
John Allspaw on CD 
http://www.kitchensoap.com/category/ 
talks/ 
! 
Mike Brittain on CD 
www.mikebrittain.com/blog/talks/ 
! 
Dan McKinley on CE 
http://mcfunley.com/design-for-continuous- 
experimentation 
!
The End 
Learn more 
etsy.com/careers 
github.com/etsy 
! 
Nellwyn Thomas 
nellwyn@etsy.com 
@nellwyn 
! 
!
Watch the video with slide synchronization on 
InfoQ.com! 
http://www.infoq.com/presentations/ab-testing- 
continuous-delivery

More Related Content

More from C4Media

Kafka Needs No Keeper
Kafka Needs No KeeperKafka Needs No Keeper
Kafka Needs No KeeperC4Media
 
High Performing Teams Act Like Owners
High Performing Teams Act Like OwnersHigh Performing Teams Act Like Owners
High Performing Teams Act Like OwnersC4Media
 
Does Java Need Inline Types? What Project Valhalla Can Bring to Java
Does Java Need Inline Types? What Project Valhalla Can Bring to JavaDoes Java Need Inline Types? What Project Valhalla Can Bring to Java
Does Java Need Inline Types? What Project Valhalla Can Bring to JavaC4Media
 
Service Meshes- The Ultimate Guide
Service Meshes- The Ultimate GuideService Meshes- The Ultimate Guide
Service Meshes- The Ultimate GuideC4Media
 
Shifting Left with Cloud Native CI/CD
Shifting Left with Cloud Native CI/CDShifting Left with Cloud Native CI/CD
Shifting Left with Cloud Native CI/CDC4Media
 
CI/CD for Machine Learning
CI/CD for Machine LearningCI/CD for Machine Learning
CI/CD for Machine LearningC4Media
 
Fault Tolerance at Speed
Fault Tolerance at SpeedFault Tolerance at Speed
Fault Tolerance at SpeedC4Media
 
Architectures That Scale Deep - Regaining Control in Deep Systems
Architectures That Scale Deep - Regaining Control in Deep SystemsArchitectures That Scale Deep - Regaining Control in Deep Systems
Architectures That Scale Deep - Regaining Control in Deep SystemsC4Media
 
ML in the Browser: Interactive Experiences with Tensorflow.js
ML in the Browser: Interactive Experiences with Tensorflow.jsML in the Browser: Interactive Experiences with Tensorflow.js
ML in the Browser: Interactive Experiences with Tensorflow.jsC4Media
 
Build Your Own WebAssembly Compiler
Build Your Own WebAssembly CompilerBuild Your Own WebAssembly Compiler
Build Your Own WebAssembly CompilerC4Media
 
User & Device Identity for Microservices @ Netflix Scale
User & Device Identity for Microservices @ Netflix ScaleUser & Device Identity for Microservices @ Netflix Scale
User & Device Identity for Microservices @ Netflix ScaleC4Media
 
Scaling Patterns for Netflix's Edge
Scaling Patterns for Netflix's EdgeScaling Patterns for Netflix's Edge
Scaling Patterns for Netflix's EdgeC4Media
 
Make Your Electron App Feel at Home Everywhere
Make Your Electron App Feel at Home EverywhereMake Your Electron App Feel at Home Everywhere
Make Your Electron App Feel at Home EverywhereC4Media
 
The Talk You've Been Await-ing For
The Talk You've Been Await-ing ForThe Talk You've Been Await-ing For
The Talk You've Been Await-ing ForC4Media
 
Future of Data Engineering
Future of Data EngineeringFuture of Data Engineering
Future of Data EngineeringC4Media
 
Automated Testing for Terraform, Docker, Packer, Kubernetes, and More
Automated Testing for Terraform, Docker, Packer, Kubernetes, and MoreAutomated Testing for Terraform, Docker, Packer, Kubernetes, and More
Automated Testing for Terraform, Docker, Packer, Kubernetes, and MoreC4Media
 
Navigating Complexity: High-performance Delivery and Discovery Teams
Navigating Complexity: High-performance Delivery and Discovery TeamsNavigating Complexity: High-performance Delivery and Discovery Teams
Navigating Complexity: High-performance Delivery and Discovery TeamsC4Media
 
High Performance Cooperative Distributed Systems in Adtech
High Performance Cooperative Distributed Systems in AdtechHigh Performance Cooperative Distributed Systems in Adtech
High Performance Cooperative Distributed Systems in AdtechC4Media
 
Rust's Journey to Async/await
Rust's Journey to Async/awaitRust's Journey to Async/await
Rust's Journey to Async/awaitC4Media
 
Opportunities and Pitfalls of Event-Driven Utopia
Opportunities and Pitfalls of Event-Driven UtopiaOpportunities and Pitfalls of Event-Driven Utopia
Opportunities and Pitfalls of Event-Driven UtopiaC4Media
 

More from C4Media (20)

Kafka Needs No Keeper
Kafka Needs No KeeperKafka Needs No Keeper
Kafka Needs No Keeper
 
High Performing Teams Act Like Owners
High Performing Teams Act Like OwnersHigh Performing Teams Act Like Owners
High Performing Teams Act Like Owners
 
Does Java Need Inline Types? What Project Valhalla Can Bring to Java
Does Java Need Inline Types? What Project Valhalla Can Bring to JavaDoes Java Need Inline Types? What Project Valhalla Can Bring to Java
Does Java Need Inline Types? What Project Valhalla Can Bring to Java
 
Service Meshes- The Ultimate Guide
Service Meshes- The Ultimate GuideService Meshes- The Ultimate Guide
Service Meshes- The Ultimate Guide
 
Shifting Left with Cloud Native CI/CD
Shifting Left with Cloud Native CI/CDShifting Left with Cloud Native CI/CD
Shifting Left with Cloud Native CI/CD
 
CI/CD for Machine Learning
CI/CD for Machine LearningCI/CD for Machine Learning
CI/CD for Machine Learning
 
Fault Tolerance at Speed
Fault Tolerance at SpeedFault Tolerance at Speed
Fault Tolerance at Speed
 
Architectures That Scale Deep - Regaining Control in Deep Systems
Architectures That Scale Deep - Regaining Control in Deep SystemsArchitectures That Scale Deep - Regaining Control in Deep Systems
Architectures That Scale Deep - Regaining Control in Deep Systems
 
ML in the Browser: Interactive Experiences with Tensorflow.js
ML in the Browser: Interactive Experiences with Tensorflow.jsML in the Browser: Interactive Experiences with Tensorflow.js
ML in the Browser: Interactive Experiences with Tensorflow.js
 
Build Your Own WebAssembly Compiler
Build Your Own WebAssembly CompilerBuild Your Own WebAssembly Compiler
Build Your Own WebAssembly Compiler
 
User & Device Identity for Microservices @ Netflix Scale
User & Device Identity for Microservices @ Netflix ScaleUser & Device Identity for Microservices @ Netflix Scale
User & Device Identity for Microservices @ Netflix Scale
 
Scaling Patterns for Netflix's Edge
Scaling Patterns for Netflix's EdgeScaling Patterns for Netflix's Edge
Scaling Patterns for Netflix's Edge
 
Make Your Electron App Feel at Home Everywhere
Make Your Electron App Feel at Home EverywhereMake Your Electron App Feel at Home Everywhere
Make Your Electron App Feel at Home Everywhere
 
The Talk You've Been Await-ing For
The Talk You've Been Await-ing ForThe Talk You've Been Await-ing For
The Talk You've Been Await-ing For
 
Future of Data Engineering
Future of Data EngineeringFuture of Data Engineering
Future of Data Engineering
 
Automated Testing for Terraform, Docker, Packer, Kubernetes, and More
Automated Testing for Terraform, Docker, Packer, Kubernetes, and MoreAutomated Testing for Terraform, Docker, Packer, Kubernetes, and More
Automated Testing for Terraform, Docker, Packer, Kubernetes, and More
 
Navigating Complexity: High-performance Delivery and Discovery Teams
Navigating Complexity: High-performance Delivery and Discovery TeamsNavigating Complexity: High-performance Delivery and Discovery Teams
Navigating Complexity: High-performance Delivery and Discovery Teams
 
High Performance Cooperative Distributed Systems in Adtech
High Performance Cooperative Distributed Systems in AdtechHigh Performance Cooperative Distributed Systems in Adtech
High Performance Cooperative Distributed Systems in Adtech
 
Rust's Journey to Async/await
Rust's Journey to Async/awaitRust's Journey to Async/await
Rust's Journey to Async/await
 
Opportunities and Pitfalls of Event-Driven Utopia
Opportunities and Pitfalls of Event-Driven UtopiaOpportunities and Pitfalls of Event-Driven Utopia
Opportunities and Pitfalls of Event-Driven Utopia
 

Recently uploaded

Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 

Recently uploaded (20)

Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 

A/B Testing + Continuous Delivery = Everyday Product Launches

  • 1. Continuous delivery, A/B testing + everyday launch decisions at Etsy QCon NY 2014 Nellwyn Thomas Director of Analytics, Etsy nellwyn@etsy.com @nellwyn
  • 2. Watch the video with slide synchronization on InfoQ.com! http://www.infoq.com/presentations /ab-testing-continuous-delivery InfoQ.com: News & Community Site • 750,000 unique visitors/month • Published in 4 languages (English, Chinese, Japanese and Brazilian Portuguese) • Post content from our QCon conferences • News 15-20 / week • Articles 3-4 / week • Presentations (videos) 12-15 / week • Interviews 2-3 / week • Books 1 / month
  • 3. Presented at QCon New York www.qconnewyork.com Purpose of QCon - to empower software development by facilitating the spread of knowledge and innovation Strategy - practitioner-driven conference designed for YOU: influencers of change and innovation in your teams - speakers and topics driving the evolution and innovation - connecting and catalyzing the influencers and innovators Highlights - attended by more than 12,000 delegates since 2007 - held in 9 cities worldwide
  • 4. etsy, briefly deploying experimenting making decisions, everyday takeaways !
  • 5. etsy, briefly deploying experimenting making decisions, everyday takeaways
  • 6.
  • 7. The world’s handmade and vintage marketplace.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14. Over 25M items from 1M shops in 150 countries.
  • 15. $1.35B sales in 2013 !
  • 16. 30 deploys by 200+ people per day ! ! ! ! This is continuous delivery at Etsy
  • 17. 3 dozen experiments running simultaneously ! ! ! ! This is experimentation at Etsy
  • 18.
  • 19. etsy, briefly deploying experimenting making decisions, everyday takeaways
  • 20.
  • 21. Basic principles • A single source repository • Automate the build • Automate the testing • Automate deployment • Always ready to deploy quality software
  • 22.
  • 23.
  • 24.
  • 25. Why continuous delivery? • Move faster • Fail faster • More empowering • Breeds confidence
  • 26. Why continuous delivery? “Because you’re integrating so frequently, there is significantly less back-tracking to discover where things went wrong, so you can spend more time building features.” ! http://www.thoughtworks.com/continuous-integration
  • 27.
  • 28.
  • 30.
  • 31.
  • 32. CI Status (1 hour) End-User (1 hour) Error Logs (All) (1 hour) .................................................................. Deploy Dashboard Git Commits Princess Supergrep Supergrep Forum Watcher Time: 1 hour Until: Now Hide Deploys Deploys hidden: Config Web / Api / Atlas Search Photos Blog Chef (prod) Schemanator Push rbateman on qa 6m since 7, 2012 9:54 Three-Armed Sweaters error pages · historical clip Akamai Whoopsies origin failures · historical clip Edgecast Whoopsies origin failures · historical clip Screwed Users unique users · historical clip All File or Script Not Found current · historical clip Exceptions current · historical clip Fatals current · historical clip Errors current · historical clip Warnings current · historical clip Segmentation Faults current · historical clip PHP Allowed Memory Size Exhausted current · historical clip PHP Maximum Execution Time current · historical clip Memcache Connection Failures current · historical clip Thrift Exceptions current · historical clip
  • 33. Segmentation Faults current · historical clip PHP Allowed Memory Other Errors (1 hour) Size Exhausted current · historical Business Graphs (1 hour) clip PHP Maximum Execution Time current · historical clip Memcache Connection Failures current · historical clip Thrift Exceptions current · historical clip StatsD packet receive errors · historical clip CSRF Mismatch current · historical clip CSRF Missing current · historical clip Client Side (JS) Errors current · historical clip Empty Image URLs grey.gif · Default Avatars clip Registrations facebook · facebook (historical) · other · other (historical) clip Logins (82.00%) logins · logins (historical) · errors · errors (historical) clip Checkouts (97.81%) success · failure clip Post Checkouts current · historical clip Mobile Checkouts iOS · mobile web clip Direct Checkout Checkouts (98.00%) success · failure clip
  • 34. Post Checkouts current · historical clip Mobile Checkouts iOS · mobile web Page Performance by Site Section (1 hour) clip Direct Checkout Checkouts (98.00%) success · failure clip Listings Creation/Renewal New & Copied · Renewed clip Requests logged-out · logged-in clip CDN Requests Balance akamai · edgecast · direct-origin clip Search Ads Requests · Responses · Logged clip Forum Posts bugs forum · help forum clip Seller Registration (100.00%) success · failure clip PHP time (median) listing · shop · profile · search · homepage clip PHP time (95th percentile) listing · shop · profile · search · homepage clip webpagetest front-end time listing · shop · profile · search · homepage clip lognormal load time listing · shop · profile · search · homepage clip
  • 35. Page Performance by Site Section (1 hour) PHP time (median) listing · shop · profile · search · homepage Statistics displayed represent signed in page requests. See Page Performance Dashboard for more detail. Web Cluster (1 hour) API Cluster (1 hour) clip PHP time (95th percentile) listing · shop · profile · search · homepage clip webpagetest front-end time listing · shop · profile · search · homepage clip lognormal load time listing · shop · profile · search · homepage clip
  • 36. API Cluster (1 hour) Gearman (1 hour) Memcache (1 hour)
  • 37. Memcache (1 hour) Master01 Database Activity (1 hour) DBShard Database Activity (1 hour)
  • 38. DBShard Database Activity (1 hour) For more detailed shard information see the MySQL Shards Dashboard DBIndex Database Activity (1 hour)
  • 39. DBIndex Database Activity (1 hour) Outgoing Bandwidth (1 hour)
  • 40. etsy, briefly deploying experimenting making decisions, everyday takeaways
  • 41. Experiments are easy • Experiments need large samples, internet “big data” is all about large samples • Visitors are free • Websites are built for iterative change, an experiment is an iterative change
  • 42. And they help. • Fail faster • Fights confirmation bias • Forces you to tie product to goals (hypotheses!) • Helps you understand your users
  • 43. Why experiment? “Because you’re integrating so frequently, there is significantly less back-tracking to discover where things went wrong, so you can spend more time building features.” ! http://www.thoughtworks.com/continuous-integration
  • 44. How do experiment? exactly the same way we deploy. !
  • 45.
  • 46.
  • 47. Bucketing listing page cart page checkout
  • 48.
  • 49. Logging hadoop cluster mysql db internal dashboard
  • 50.
  • 51. reusing config, automated bucketing, automated analysis & graphing ! with no additional effort !
  • 53. etsy, briefly deploying experimenting making decisions, everyday takeaways
  • 54. Buy Sell Registry Community Blogs Mobile Gift Cards Help Reeggiisstteerr Siiggnn IInn Search for items and shops Seeaarrcchh Caarrtt Home › BayTowneLeatherUSA › IPAD Cases Leather Ipad Sleeve/ Case/ Envelope/ Folio for IPAD 2 or 3. Full Grain Veg Tan Leather. Handmade by BayTowneLeatherUSA. This luxurious/rugged and well built IPAD case will protect your IPAD in style. Or you can use it as a folio to carry your necessities . Luxurious enough for use at the office, and rugged enough for use on the trail. Made of beautiful - rugged 5/6 oz. Premium veg tan leather (which will break in beautifully) ; it will develop a wonderful natural patina over time as only full grain veg tan leather can do. (Gets better with age) ***I make these cases ONE BY ONE as orders are received*** Only 1 available Like this item? Add it to your favorites Favorite to revisit it later. $74.00 USD Add to Cart Favorite Shop BayTowneLeatherUSA BayTowneLeatherUSA Add shop to favorites See who favorites this shop 38 items Shop owner Roger Marion, Illinois, United States Favorites Circle Feedback: 27, 100% pos. Contact Item Add item to favorites See who favorites this item
  • 55.
  • 56.
  • 57.
  • 58. All credit: John Allspaw
  • 59. All credit: John Allspaw
  • 60. All credit: John Allspaw
  • 61. All credit: John Allspaw
  • 62. All credit: John Allspaw
  • 63. All credit: John Allspaw
  • 64. All credit: John Allspaw
  • 65. All credit: me change time direction
  • 66.
  • 67.
  • 68.
  • 69. etsy, briefly deploying experimenting making decisions, everyday takeaways
  • 71. leverage existing workflows. “Changing behavior works only if it can be based on the existing ‘culture.’” Peter Drucker
  • 72. don’t confuse conflate iteration with “tweaking pixels” the importance of the change with the size of the change
  • 73. More Goodness John Allspaw on CD http://www.kitchensoap.com/category/ talks/ ! Mike Brittain on CD www.mikebrittain.com/blog/talks/ ! Dan McKinley on CE http://mcfunley.com/design-for-continuous- experimentation !
  • 74. The End Learn more etsy.com/careers github.com/etsy ! Nellwyn Thomas nellwyn@etsy.com @nellwyn ! !
  • 75. Watch the video with slide synchronization on InfoQ.com! http://www.infoq.com/presentations/ab-testing- continuous-delivery