Manual deployments are a false safety net
“Whether a human is involved in pressing the deploy button or not, you are going to deploy a bad update eventually.”I am a strong advocate of Continuous Deployment. Most of the reasons people avoid continuous deployment are based on fear, not rational facts.
This morning I heard another such reason as I was listening to the DevOps Speakeasy podcast, episode 3 of season 2. Co-host Kat Cosgrove said something very interesting:
In defensive of continuous deployment instead of continuous delivery: you are absolutely, without a doubt, whether a human is involved in pressing the deploy button or not, you are going to deploy a bad update eventually. It is going to happen. You are not perfect. Nobody on your team is perfect. Your QA is not perfect. You’re going to deploy a bad update and a human pressing deploy does not reduce your rate of bad deploys. What matters is how quickly you can respond to it. So accept that the bad deploy is going to happen and do what you can to ensure that you can roll it back or patch it really, really, really fast, and it’s fine.