How Render handles zero-downtime deploys
Blog post from Render
Render's zero-downtime deployment ensures that web services, private services, background workers, and cron jobs remain available during updates by routing traffic to a new instance before gracefully shutting down the old one. The deployment sequence involves building a new artifact, running pre-deploy commands, booting the new instance, and conducting health checks to verify readiness before switching traffic. However, zero-downtime deploys are not applicable to services with persistent disks. Health checks are crucial for confirming a service's readiness beyond mere port binding, distinguishing between liveness and readiness. During shutdown, Render sends a SIGTERM signal to the old instance, allowing it a configurable delay to complete in-flight requests before a SIGKILL is issued. Proper handling of SIGTERM and configuring health checks are essential to avoid dropped connections and perceived downtime. Common pitfalls include premature health check responses and ignoring SIGTERM signals, while pre-deploy commands facilitate tasks like database migrations without affecting the main startup sequence.
No tracked trend matches for this post yet.
Use this post, company, and trend context to find content marketing opportunities, perform competitive analysis, or address product feature gaps via the Plushcap MCP server or the Plushcap API.