I have seen people reacting completely differently to the term “DevOps.” Few people consider it the symbol of increased deployment rates, while others tremble by some of the DevOps horror stories. When my organization moved to DevOps, we also had our fair share of doubts and concern. But rather than focussing on the negatives, we focussed on the positive side of DevOps and the transformation it brought to some of the organizations.
Companies like Netflix, Walmart, Etsy, Target, Nordstorm, etc., are just a few amongst many that are shinning in their business through DevOps. Our driving force towards DevOps adoption was Etsy’s DevOps success story. The company succeeded in deploying more than 50 times a day. Impossible to believe at first, right? We also had the same reaction until we found out how they did it.
Etsy made slow yet significant changes in its delivery, automation, and development approaches to increase its deployment frequency. It all started with a two-step process -
- Etsy focussed on stabilizing the website by monitoring using a metric-based system.
- Upgraded the database to provide access to developers in order to troubleshoot issues.
Soon the team at Etsy realized that the quicker and friction-free way to deploy code involves implementing a CI/CD pipeline. Etsy leveraged CI systems to automatically test code changes upon merging to ensure successful integrations. They created a series of in-house software solutions to make the process more streamlined.
The team at Etsy came up with this solution back in 2011. It is a library created by Etsy to test code changes in Jenkins without committing to the master trunk. Try is responsible for keeping the trunk clean while developers can quickly test their changes. This increased their deployment rate to more than 20 in a day.
The goal was to create a one-button, easy and painless deployment solution. To answer this, Etsy came up with its very own solution known as the Deployinator. Before Deployinator, the DevOps team usually required three engineers, one operation engineer, and production engineers on standby to push any update. With the help of Etsy’s in-house solution, it just takes one person and hardly two minutes to push any updates. In 2015, the company made Deployinator an open-source project.
Etsy had its own staging environment as well. Popularly known as Princess, it uses stored data, networks, and production resources and is hosted on a separate server other than Etsy.com. This makes it feasible for the development team to test their live code without affecting the website. Once satisfied with the code, code can be made live with the push of a button.
Etsy’s DevOps story showcases that every organization faces challenges, and you need to come up with innovative solutions to cope. They made sure that their CI/CD pipeline operated without any friction whatsoever. I was impressed how they cut down complex processes and made easy one-stop solutions for the same. Which step did you find the most interesting? Let me know in the comments below.