Scaling Deployment at Etsy by Daniel Schauenberg
In this talk, "Scaling Deployment," Daniel Schauenberg from Etsy talks on the development and deployment infrastructure that they utilize at Etsy. This talk was recorded at the Continuous Delivery NYC meetup at Etsy Labs. At Etsy they have over 100 engineers deploying more than 60 times a day. This culture of continuously deploying small change sets enables them to build and release robust features all while serving over a billion page views per month. In order to make sure they can keep up this pace, they have development and deployment infrastructure in place that makes it comfortable and simple to make changes. So simple that as an engineer at Etsy you deploy the site on your first day - even if you're a dog.
But how is it possible to deploy so frequently among so many engineers and yet maintain a stable system? To answer this Dave gives a high-level overview of the basic application structure to introduce the specific architecture at Etsy and how their development environment is set up. For development, every engineer gets their own VM with the full application stack configured. This makes it easy to get started and puts every developer in the same, familiar setup. This is a crucial part in removing confusion and ambiguity about how to work on and deploy changes.
For the actual deployment Etsy uses a one-button deploy system - Deployinator - which they developed and open sourced. This system is integrated tightly with their company-wide IRC server and its set of tools that they've built to foster confidence, fast feedback and easy communication and collaboration between engineers. A detailed overview will be given on how the system works, how they use it and what problems they had to solve while making sure everyone can deploy as easily and fast as possible. One of the pillars of keeping it fast and scalable was also implementing Atomic Deploys for their web stack. This talk will go into details about what challenges they faced and how Etsy made it work with minimal interruption to the developer workflow.
Bio: Daniel Schauenberg is a Software Engineer in Etsy's infrastructure and development tools team. Automation, documentation and simplicity are his usual tools for improving the status quo. He previously worked in systems and network administration, on connecting chemical plants to IT systems and as an embedded systems networking engineer. Things he thoroughly enjoys when not writing code include coffee, breakfast, TV shows and basketball.