• Docs
  • Changelog
Sign in
Get started
    • Home
    • Your first deploy
    • Free instances
    • Platform features by plan
    • Use with coding agents
    • FAQ
    • Templates
      • Migrate from…
        • Heroku
        • Railway
    • Compute plans
    • SandboxesBeta
      • Service types
        • Which to use?
        • Static sites
        • Web services
        • Private services
        • Background workers
        • Cron jobs
        • Workflows
        • Multi-service architectures
      • Data storage
        • Render Postgres
        • Render Key Value (Redis®-compatible)
        • Persistent disks
    • How deploys work
    • Supported languages
    • Git providers (GitHub, etc.)
    • Build pipeline
    • Deploy hooks
    • Monorepo support
    • Troubleshooting deploys
      • Previewing changes
        • Single-service previews
        • Preview environments (multi-service)
      • Docker deploys
        • Overview
        • Deploy a registered image
        • Using secrets
      • Runtime
        • Native runtimes
        • Environment variables & secrets
        • Default environment variables
    • Intro to sandboxes
    • Limits
      • How to…
        • Create & configure sandboxes
        • Execute commands
        • Manage files
        • Manage snapshots
      • Use with…
        • Claude Managed Agents
        • Cursor Cloud Agents
        • OpenAI Agents API
      • SDK/CLI reference
        • TypeScript SDK
        • Python SDK
        • CLI commands
    • Intro to workflows
    • Tutorial
    • Limits & pricing
      • How to…
        • Define tasks
        • Define flowsNew
        • Trigger runs
        • Develop locally
      • SDK reference
        • TypeScript SDK
        • Python SDK
      • Example workflows
        • TypeScript examples
        • Python examples
    • Overview
    • Create & connect
    • Database credentials
    • Extensions
    • Version upgrades
    • Logical replication
    • Legacy instance types
      • Database recovery
        • Recovery & backups
        • High availability
      • Database performance
        • Read replicas
        • Connection pooling
        • Admin apps
        • Repacking tables
        • Troubleshooting performance
    • Regions
    • Inbound IP rules
    • Edge caching
    • WebSockets
    • TLS certificates
      • Custom domains
        • Overview
        • Cloudflare
        • Namecheap
        • Other DNS providers
      • Internal traffic
        • Private network
        • Private links
      • Outbound traffic
        • Default IP ranges
        • Dedicated IP addresses
        • Outbound bandwidth
        • Handling network changes
      • Static site config
        • Custom response headers
        • Redirects & rewrites
    • The Render Dashboard
    • SSH / Shell access
    • Projects & environments
      • Service actions
        • Scaling
        • Rollbacks
        • Maintenance mode
        • One-off jobs
      • Infrastructure as code
        • Blueprints overview
        • render.yaml reference
        • Terraform provider
    • In-dashboard metrics
    • Health checks
    • Uptime best practices
      • Logging
        • In-dashboard logs
        • Log streams (syslog/HTTPS)
      • OpenTelemetry (OTel) metrics
        • Provider setup
        • Metrics reference
      • Notifications
        • Webhooks
        • Email / Slack
    • MCP Server
      • Render CLI
        • Overview
        • Command reference
      • REST API
        • Overview
        • API reference
      • Third-party connections
        • OIDC support
        • Datadog
    • Workspaces, members, & roles
    • Login settings
    • Audit logs
      • Organizations
        • Overview
        • SAML SSO
    • DDoS protection
    • Platform maintenance
      • Compliance
        • Overview
        • HIPAA (US health data)
        • HIPAA best practices
        • Shared responsibility model
        • Pentest policy
    • Heroku vs Render
    • Vercel vs Render

Render Platform Maintenance

Learn about periodic upgrades to Render's underlying infrastructure.

Render routinely performs infrastructure maintenance to improve platform performance, reliability, and security.

In most cases, maintenance is completely transparent, with no interruption to your services.

Service-affecting maintenance

Maintenance never changes a service's configuration details or compute plan.

Certain types of maintenance (such as OS upgrades) do require brief downtime, specifically for services that provide persistent storage:

  • Render Postgres databases
  • Render Key Value instances
  • Services with an attached persistent disk

To ensure the integrity of your data, Render spins down these service instances completely before spinning up their replacements. This process usually takes a few minutes. For Render Postgres databases with high availability, this is reduced to less than one minute.

What about other services?

Services without attached storage ("stateless" services) remain available during maintenance windows, because they support zero-downtime deploys. Render can spin up new instances for these services before deprovisioning the old ones, ensuring there's always a routing destination for incoming traffic:

For services that perform long-running tasks (such as background workers), make sure these services define logic to handle a graceful shutdown in the event of receiving a SIGTERM signal. Render sends this signal when spinning down an instance as part of maintenance (and as part of any zero-downtime deploy).

Resolving maintenance deploy failures

For assistance resolving a maintenance deploy failure:

  • See Troubleshooting Your Deploy for common issues and solutions.
  • Reach out to our support team in the Render Dashboard.

As part of service-affecting maintenance, Render deploys your services to new instances before spinning down the old ones. In certain cases, this deploy might fail. This most commonly occurs if your service's most recent deploys were failing before maintenance began, indicating an issue with your service's current build and deploy configuration.

In the event of a deploy failure, Render keeps your old instance running (until a specified deadline) and continues routing traffic to it:

Render immediately notifies you by email if a maintenance deploy fails. This email includes a deadline for resolving the issue, after which Render will bring down the old instance. If you do not resolve the issue before the deadline, your service will be taken offline.

Rescheduling maintenance

Free services do not support rescheduling maintenance.

Render might perform maintenance on a free service at any time, without advance notice.

If any of your paid services will experience downtime as part of a maintenance window, Render always provides advance notice via email and in the Render Dashboard. Service-affecting maintenance windows usually occur no more than once every three months.

Whenever possible, Render provides the ability to reschedule a paid service's maintenance window to a more convenient time (usually within a few days of the original scheduled date). You can reschedule in the Render Dashboard or via the Render API.

Triggering maintenance

Both the Render Dashboard and API support immediately triggering a service's scheduled maintenance.

The following actions also trigger maintenance immediately, because they already involve replacing a service's current instance with a new one:

  • Redeploying a service
  • Restarting a Render Postgres database
  • Suspending and resuming a Render Postgres database
  • Changing the compute plan for any service, Render Postgres database, or Render Key Value instance
Render Platform Maintenance
  • Service-affecting maintenance
    • Resolving maintenance deploy failures
    • Rescheduling maintenance
    • Triggering maintenance
All Systems Operational
© Render Inc. All rights reserved.