Blossom Logo Blossom

Zero Downtime Deployments

3 min read

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

  1. Add health endpoint to your app (see examples below)
  2. Configure Health Checks in your app settings
  3. 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 /health endpoint 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