Patterns and Playbooks for Making Every Commit Production Ready
Trunk-based-development, continuous deployment and blue/green deploys are powerful techniques to increase the velocity and safety of our releases. But they have a dark side. Life becomes more complicated when new code and old code can run side-by-side. Much of the advice on the broader internet boils down to "Just use feature flags." Reality is a little more nuanced...
The good news is that we engineers have been wrestling with compatibility problems for years and there are some well tested techniques and strategies for coping.
In this talk I want to share some production-ready, battle-tested strategies for evolving live systems with zero down-time. We will look at adding new functionality, refactoring live code, evolving database schemas, and a few of worst mistakes we made along the way.
This talk should be of interest to engineers who are new to, or interested in, working with continuously deployed services (be they micro or otherwise).
You may also be interested in
Stateful Functions is an open source framework that reduces the complexity of building and orchestrating distributed stateful applications at scale....