What is a zero-downtime deployment and how to avoid outages when updating a website?

Published on 2026-10-26 by frfrand

Zero-downtime deployments: health checks, load balancers, compatible versions, and rollbacks.

What is a zero-downtime deployment and how to avoid outages when updating a website?
What is a zero-downtime deployment and how to avoid outages when updating a website?

A zero-downtime deployment seeks to publish a new version without interrupting legitimate requests being served by the application. In practice, it requires thinking about processes, traffic, dependencies, and data changes; it does not consist solely of copying files faster.

A simple way to understand it

Imagine a restaurant with two kitchens. While one continues serving orders, you prepare the other with the updated menu. You test that it works and then start sending it orders. That idea is similar to a gradual instance replacement strategy.

How it works in practice

A common pattern consists of starting a new version, waiting for it to pass its health checks, adding it to the load balancer, and removing the previous one when its active requests finish. Other strategies include blue-green or rolling deployments. The choice depends on resources, how the application handles connections, and the available infrastructure.

What it does not solve and its limits

If the new version modifies a table in an incompatible way, the previous one may fail even if the load balancer works perfectly. Database migrations should be designed with temporal compatibility when both versions coexist. Zero real interruptions are not achieved either if only one instance exists and restarting it is mandatory.

How to apply it and verify it without surprises

Test how a long request reacts during the switch, what happens if the new version fails, and how long the rollback takes. Separate availability from functional correction: a health endpoint can return 200 while a real purchase fails. Also document irreversible data changes.

How does it appear in ArduMaker?

In ArduMaker you can organize processes and deployments on VPS; a zero-downtime strategy requires properly configuring multiple instances or a traffic switching mechanism, if the environment allows it. The panel alone does not guarantee perfect availability.

What does zero downtime really mean?

It is an operational goal, not an absolute promise. A long-lasting WebSocket connection, an incompatible migration, or a downed external dependency can affect users even if the main website returns 200. Define which interactions count as an interruption and measure their impact.

A gradual rollout

You can send a small fraction of traffic to the new version, observe errors, and progressively increase the percentage. You need logs, metrics, and a rollback policy. If a change alters data irreversibly, reverting to old binaries may not be enough: prepare compatibility and recovery mechanisms from the design.

To remember

A zero-downtime deployment aims to publish a new version without interrupting legitimate requests being handled by the application. Understanding when it applies, how it fails, and what data to review is more useful than memorizing isolated commands.

To expand: Kubernetes: Deployments.

  • deploy
  • alta disponibilidad
  • DevOps

Keep reading

All articles · VPS plans