Home

zerodowntime

Zero-downtime, or zerodowntime, is the design goal of performing software deployments, configuration changes, or maintenance without user-visible interruptions. It aims to maintain continuous availability and consistent service level during changes that would traditionally require a restart or downtime. In practice, zero-downtime is achieved through architectural choices, deployment pipelines, and operational processes designed to avoid service disruption.

Key techniques include redundancy and fault tolerance, such as active-active or active-passive deployments, load balancing, and

Database and data migrations pose special challenges; patterns include online schema changes, shadow writes, dual writes

Operational practices include thorough testing, monitoring, canary metrics, and well-defined rollback procedures. Reliability targets such as

Limitations: true zero-downtime is not always feasible, especially for services with strong external dependencies or long

health
checks.
Rolling
updates
deploy
changes
to
a
subset
of
instances
while
routing
traffic
away
from
updated
ones,
gradually
replacing
instances.
Blue-green
deployments
run
two
production
environments
in
parallel;
traffic
is
switched
to
the
new
environment
once
it
is
ready.
Canary
releases
expose
changes
to
a
small
portion
of
users
for
validation
before
full
rollout.
Feature
flags
allow
disabling
new
code
paths
if
issues
arise.
with
validation,
and
using
read
replicas
to
absorb
load.
Maintenance
tasks
can
be
scheduled
with
extendable
automation
and
backout
plans.
service
level
objectives
(SLOs),
recovery
point
objectives
(RPO),
and
recovery
time
objectives
(RTO)
guide
design
decisions.
transactions.
It
often
involves
increased
complexity
and
cost,
and
requires
disciplined
change
management
and
testing.