"Deploying software can be a nerve-wracking process. Often deployments need to be conducted during ""off-hours"" and are orchestrated across multiple teams. Deploying features becomes a large scale event. When these deployments inevitably fail on-call staff have to scramble to find the cause of these new bugs, rollback changes, and fix broken data. Under these conditions forward progress grinds to a halt.
We were recently faced with these same challenges and we decided to take a different approach to the problem. Instead of deploying releases on a set schedule we decided to automatically deploy new features as soon as they were finished (and sometimes even before they're finished).
In this talk we'll look at the benefits of continuous deployments and showcase some of the tools and techniques that we use to safely deploy multiple times a day. Specifically we'll discuss automated deploys, methodology for rolling out database migrations, tools for canary deployments, feature flags, and how to monitor and test your deployments."