Zero downtime deployments let you deploy new versions without interrupting user traffic. Enable health checks, and Blossom automatically verifies your new version is healthy before switching traffic.
How It Works
1
Deploy new version alongside current version
2
Health checks verify new version is ready
3
Traffic switches to new version
4
Old version cleaned up
i
Key Benefit
Your current version keeps serving traffic until the new version passes health checks. If health checks fail, deployment stops and users stay on the working version.
Quick Setup
- Add health endpoint to your app (see examples below)
- Configure Health Checks in your app settings
- Deploy - zero downtime happens automatically
Configuring Health Checks
Go to your app’s Health Checks settings and enable Web Container Health Check:
Test Command: curl -f http://localhost:3000/health || exit 1
Interval: 5s
Timeout: 5s
Retries: 3
Start Period: 10s
Check URL Path: /health
Adjust the port and path to match your application.
Health Check Endpoint Examples
Your /health endpoint should return HTTP 200 when the application server is ready. Health checks must be reliable and should not depend on external services like databases.
Rails
# config/routes.rb
get '/health', to: 'health#show'
# app/controllers/health_controller.rb
class HealthController < ApplicationController
def show
render plain: 'ok', status: :ok
end
end
Node.js/Express
app.get("/health", (req, res) => {
res.status(200).send("ok");
});
Python/Django
# views.py
from django.http import HttpResponse
def health_check(request):
return HttpResponse("ok", status=200)
Troubleshooting
Deployment fails at health check?
- Verify your
/healthendpoint returns 200:curl http://localhost:3000/health - Check deployment logs for application errors
- Increase Start Period if your app needs more startup time
Deployment too slow?
- Reduce Retries value for faster failure detection
- Optimize your health endpoint to respond quickly
Related Documentation
- Deploy Hooks - Run commands during deployment
- Server Roles - Configure which processes run where