2. * A marketplace for handmade and vintage goods.
In April 2012
* 875,000 artisans and creative independents
* $63.6 million USD in sales
* 1.32 billion page views
Thursday, May 17, 12
3. Engineering Change:
* Continuous Deployment
* Metrics driven development
Thursday, May 17, 12
4. Engineering Change:
* Make mistakes quickly
* Learn from mistakes
Thursday, May 17, 12
5. Engineering Change:
* Continuous Deployment
* Metrics driven development
Thursday, May 17, 12
12. Continuous Deployment:
No branching.
“All existing revision control systems were
built by people who build installed
software”
- Paul Hammond,
Always Ship Trunk, Velocity 2010
Thursday, March 17, 2011
Thursday, May 17, 12
13. Continuous Deployment:
feature flags
if ($cfg[‘awesome_new_search’]) {
# new hotness
$rsp = do_solr();
} else {
# boring old stuff
$rsp = do_grep();
}
Thursday, May 17, 12
14. Continuous Deployment:
Ramp - ups
(on top of feature flags)
1. Launch to staff only
2. Launch to 1% of all users
3. Launch to members of a beta group
Thursday, May 17, 12
15. Continuous Deployment:
any engineer can launch a feature to
1% of users
Thursday, May 17, 12
21. Metrics driven development:
StatsD @
Instagram, Pinterest, Github,
Mozilla, LAN.com, Zynga,
Kickstarter, LivingSocial and 70+
other companies
Thursday, May 17, 12
22. Metrics driven development:
StatsD
“We love statsd at Instagram. Written by Etsy, it’s a
network daemon that aggregates and rolls-up data into
Graphite. At its core, it has two types of statistics: counter
and timers. We use the counters to track everything from
number of signups per second to number of likes, and we
use timers to time generation of feeds, how long it takes to
follow users, and any other major action.”
- Mike Krieger, Founder and CTO, Instagram.
Thursday, May 17, 12
23. Metrics driven development:
StatsD
Open source,
a daemon for timing and counting things,
graphs rates, averages and 95th percentile,
20-30 minute install,
easy to use
Thursday, May 17, 12