How Etsy does deployment

Erik Kastner at Etsy explains how their team handles deployment. They have moved to a continuous deployment system based on a tool they built themselves. Here’s the bottom line:

Using Deployinator we’ve brought a typical web push from 3 developers, 1 operations engineer, everyone else on standby and over an hour (when things went smoothly) down to 1 person and under 2 minutes.

I particularly liked this question:

It’s a metric I’ve come to call the “quantum of deployment”: what’s the smallest number of steps, with the smallest number of people and the smallest amount of ceremony required to get new code running on your servers?

I wish everyone would write up how their deployment process works, just because I find it so darn interesting.

3 thoughts on “How Etsy does deployment

  1. This is great as a way to talk about how much manual work people are willing to take on. As the company grows incrementally, the increased workload of more production servers doesn’t seem so bad, even if developments require a conference room of developers, sysadmins and QA folk. I would love to simplify my employer’s app deployment. What I find difficult at times is convincing others that investing the time to make the deployments easier is worth not doing something else, particularly when the apparent benefit is infrequent (monthly or less frequent).

    Seeing someone else’s concrete end result is pretty powerful. I would love for our deployments to get to one person and two minutes, particularly since that provides a lot more flexibility to release quickly and consistently.

  2. The Etsy system is heavily inspired by how we do deployment at Flickr, but they still don’t have my favorite feature, which is the public naming-shaming we do at the bottom of http://code.flickr.com, where we list when the last deploy went out, and whose changes were in it.

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>