Manage episode 306272826 series 2864122
Reducing risk when deploying code is a huge priority for many DevOps teams, and incidentally, the reason behind our podcast's name, Deploy Friday. Today, we speak with experts Jackie Balzer and Maryann Bell about best practices for risk reduction during code deployment.
Defining code deployment
Code deployment can depend on the scale of your organization. Maryann and Jackie both work at large companies (Adobe and Spotify, respectively), where deployment likely differs from an individual developer's or a small organization's processes.
Jackie says, "At a high level, deploying code is taking the code that you've written and putting it into all of these places. But in practice, for a product and an organization at the scale of Spotify, code deployment is taking it from one place and putting it into lots of places. Deploying code isn't necessarily the same as releasing code."
Code deployment risks
The risks when deploying code are varied. You might accidentally bring down your app or website, or deploy a bug system-wide. According to Jackie, less obvious but more sinister risks include not knowing how to manage an incident if something happens.
Some developers feel hesitant about deploying code, and with good reason. Jackie recalls an incident where her team made last-minute changes that ended up taking an entire site down. The experience made her hesitant about deploying code for a while, but she says it's best to just get back on the horse. "The important part is that you learn from those experiences and put improvements into place so that you can build that confidence back up."
Deploy on Friday with confidence
Deploying code on Friday is often avoided because if issues arise on the weekend, no one is available to make fixes. Both Jackie and Maryann have tips to reduce this risk.
- Rollbacks allow you to go back to the last safe state with the press of a button
- Small change sets inherently carry less risk, as well as being easier and quicker to test
- Review every pull request: at Adobe, where Maryann works, PR reviews are mandatory
- Self-sufficiency: Have as many tools and resources at your fingertips as possible
- Scale thoughtfully: As you scale, think about employing a DevOps person to architect your infrastructure intelligently and safely
Platform.sh is a robust, reliable hosting platform that gives development teams the tools to build and scale applications efficiently. Whether you run one or one thousand websites, you can focus on creating features and functionality with your favorite tech stack.