Cloud Migration and Infrastructure

Zero-Downtime Cloud Migrations

Some systems cannot be switched off for a weekend. We migrate them while they keep serving customers, with a rollback path at every step.

Why weekend maintenance windows stopped working

There was a time when you could put up a maintenance page on Saturday night and be done by Monday. That still works for internal tools with a single timezone. It does not work for a store, a customer-facing platform, or anything with an SLA attached to it.

The cost of downtime is rarely the outage itself. It is the orders that were not placed, the support tickets that follow, and the fact that a planned window has a habit of turning into an unplanned one when the restore takes longer than the estimate. So the question is no longer how to schedule downtime. It is how to avoid needing it.

What a zero-downtime migration actually involves

The idea is straightforward. Instead of stopping the old system and starting the new one, you run both, keep them in sync, and move traffic across gradually.

The work is in the details. The new environment has to be a genuine equivalent, not an approximation: same runtime versions, same environment variables, same certificates, same scheduled jobs. Data has to flow continuously from old to new with replication lag low enough that switching is safe. Traffic has to be shiftable in small increments, which usually means a load balancer, a proxy, or DNS with a short TTL that was lowered days in advance rather than an hour before.

And every stage has to be reversible. If the new system starts returning errors at five percent of traffic, you move that five percent back and investigate with no customer impact. That property is what makes the whole approach worth the extra effort.

The database is the part that decides everything

Application servers are easy to move. They are stateless, you can run ten of them, and nobody notices which one answered.

Databases are the opposite. There is one authoritative copy, it is constantly changing, and the moment two systems both think they are authoritative you have a data problem that is far more expensive than an outage. This is where migration plans succeed or fail.

The usual approach is continuous replication from the old database to the new one, running long enough that lag is consistently low, followed by a short, carefully sequenced switch of the write path. We rehearse that sequence against a restored copy of production before doing it for real. Rehearsal is not optional here. It is the only way to find out how long the switch actually takes on your data volume rather than on an estimate.

What we check before agreeing to switch

A cutover is a decision, and it should be made against evidence rather than a calendar date. Before we shift meaningful traffic, we want to see the new environment handling a realistic load, replication lag stable and low, backups taken and restored successfully on the new platform, and monitoring reporting the same metrics you were watching on the old one.

If any of those are missing, the sensible move is to wait. A migration that slips by a week costs far less than one that goes ahead on a system nobody can observe.

When downtime is the cheaper answer

Not every system justifies this. If you run an internal tool used by thirty people in one country, a two-hour Sunday window is simpler, faster, and less expensive than building a parallel environment and a staged traffic shift. Complexity has a price, and it is worth paying only where continuity genuinely matters.

We will tell you which category your system falls into during scoping. Some clients arrive expecting a zero-downtime project and leave with a much smaller plan, because that is what their situation actually needed.

What you get

Dependency map of the current system

Before anything moves we document what talks to what, including the integrations nobody remembers. Most migration incidents trace back to a connection that was never on the diagram.

Target environment built in parallel

The new infrastructure is stood up alongside the old one and exercised with real workloads, so the cutover is a routing change rather than a first run.

Data replication and cutover plan

Continuous replication keeps the two systems in sync until the switch, with a written sequence for the switch itself and for reversing it.

Gradual traffic shift

Traffic moves in increments rather than all at once, so a problem shows up on a small slice of users instead of all of them.

Monitoring in place before the switch

Error rates, latency and queue depth are instrumented on the new stack first. You cannot judge a cutover on a system you cannot see.

Decommissioning of the old stack

The legacy environment is retired deliberately after a defined observation period, not left running quietly and billing you for another year.

How we work

  1. 01

    Inventory and risk assessment

    We map services, data stores, scheduled jobs and third-party integrations, then rank them by how badly a failure would hurt. That ranking decides the migration order.

  2. 02

    Build and validate the target

    Infrastructure is defined as code and deployed to the new platform. We run load tests and restore a real backup into it before any production traffic gets near it.

  3. 03

    Synchronise the data

    Replication runs between old and new until lag is measured in seconds. This is usually the longest phase and the one that decides whether the cutover is boring.

  4. 04

    Shift traffic in stages

    A small percentage first, then wider, watching error rates and latency at each step. If something moves in the wrong direction we shift it back.

  5. 05

    Stabilise and retire

    We keep the old environment reachable through an agreed observation window, then shut it down and remove the cost.

Tools and technology

Where a solid open-source tool exists, we choose it over a closed one. No lock-in to a single vendor, and costs you can actually predict.

  • OpenTofu
  • Terraform
  • Docker
  • Kubernetes
  • PostgreSQL
  • Debezium
  • Grafana
  • Prometheus
  • AWS
  • Microsoft Azure
  • Google Cloud
  • Cloudflare

Frequently asked questions

Related work

More services in this category

Read testimonials from companies that trusted us

They're always a few steps ahead.

Mikołaj

CEO & Founder, GBS®

View on Clutch
GBS® logo

Delivered well ahead of the deadline.

Yasniel

CEO, IMEGA Sp z o.o.

View on Clutch

ZanReal's individual approach is impressive.

Adam

Executive, w-studio.pl

View on Clutch

Knowledge and business intuition make them a valuable partner.

Magda

Designer, DIGITALUNI

View on Clutch

Quick solutions that reduced costs by 99%.

Andrei Kapytau

Team Lead, busel.uk

View on Clutch

+20% deliverability for our email campaigns.

Joan Calabria

Sales Director, 36NORTH

View on Clutch
36NORTH logo

Is there a system you cannot afford to switch off?

Message us

Tell us what it runs on and what depends on it, and we will outline a migration plan with a rehearsed rollback at every step.

Zanek

Can't keep up with changes in AI world?

Let us do the heavy lifting. Every week we distill the most important AI developments into a focused 5-minute briefing — so you stay ahead without the noise.

Find out more
Weekly AIonline