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

Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfPrecisely
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 

Recently uploaded (20)

Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 

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