Presentation: "Etsy: Architecture Optimized for Change"

Time: Monday 12:05 - 13:05

Location: Salon D

Abstract:

The interesting bits of Etsy's architecture are not about the what, but the why.  Two years ago, in the face of poor uptime and brittleness, we rolled out a new architecture that, in addition to providing horizontal scalability and performance, optimized for some non-traditional goals:

  * rapid change, experimentation and low drag
  * mean time to resolve
  * organizational resilience

We prefer global appropriateness to local optimization, failure recovery to failure avoidance, confidence building techniques to QA, and iteration to releases. We've collapsed a diverse set of languages and datastores to PHP backed by sharded MySQL with heavy lifting in Java, removed message queues in favor of job servers, removed frameworks in preference of home rolled, and collapsed a multi-tier SOA into a primarily monolithic codebase.  In particular we use PHP, Apache, MySQL, Gearman, S3, Elastic Map Reduce, Cascading, SQLite, Statsd, Deployinator, Squid, Graphite, and Ganglia.

Etsy serves between 1-2 billion page views a month, did $525 million in sales last year, deployed the site 10,000+ times, released 35 open source projects, added 14,000 automated tests and checks, and gathered 260,000 different site metrics.

Kellan Elliott-McCrea, CTO, Etsy

 Kellan  Elliott-McCrea
Etsy's CTO, joined two years to replace the rapidly growing site's failing architecture, introduce high velocity development, and build a world class engineering team.  Previously at Flickr for 4 years as the architect. Helped build Odeo which later became Twitter, Indymedia.org (a citizen journalism network in over 100 countries), and dropped out of college to sell his first startup to Palm Computing.  One of the original authors of OAuth, he is passionate about the importance and power of the Open Web. Also passionate about building great engineering cultures, scalable architectures, and coffee.