Zero Downtime Deployment
Zero downtime deployment is the practice of releasing new software without interrupting service for any users — achieved by combining a suitable deployment strategy with backward-compatible database migrations, graceful connection draining, and health-gated traffic switching.
Zero downtime deployment is the practice of releasing new software without interrupting service for any users — achieved by combining a suitable deployment strategy with backward-compatible database migrations, graceful connection draining, and health-gated traffic switching.
What the diagram shows
The diagram walks through the full zero downtime deployment workflow as a sequential decision tree. It begins with a Database Migration Check: the migration must be backward-compatible (additive only — new nullable columns, new tables) so that the old code version continues to work during the transition. If migration is not backward-compatible, the release is blocked for re-design.
Next, the Deployment Strategy selection branch chooses between Blue-Green, Canary, or Rolling based on team requirements. Regardless of strategy, new instances must pass a Readiness Probe before receiving traffic. Connection Draining ensures in-flight requests on old instances complete before those instances are terminated. A final Smoke Test against production confirms the new version is healthy before old instances are fully decommissioned.
Why this matters
Zero downtime is not a single technique but a combination of practices. The database migration constraint is the most commonly violated: a migration that drops a column or renames a table will break the old application version still serving traffic during rollout. For the specific deployment strategies referenced, see Blue Green Deployment, Canary Deployment, and Rolling Deployment.