Zero-Downtime Deploys and Hot Upgrades
Ship new Elixir releases without dropping connections using rolling deploys, health checks, and the BEAM's hot code upgrade capabilities.
Why Zero Downtime Matters
Restarting a server drops in-flight requests and live WebSocket connections. Zero-downtime deploys roll out new code while users stay connected and unaware.
Two Strategies
The BEAM supports two upgrade paths:
- Rolling deploys: start new nodes, drain old ones — simple and common
- Hot code upgrades: swap code inside a running node without restart — powerful but complex
All lessons in this course
- Building Releases with Mix Release
- Containerization with Docker
- Cloud Deployment Strategies
- Zero-Downtime Deploys and Hot Upgrades