How to Plan a Cloud Migration Without Downtime
Downtime during migration is usually a planning failure, not a technical one. A wave-based approach keeps the business running while the platform moves.
FlickOps Engineering
Cloud & Platform Team
Big-bang migrations fail for predictable reasons: unknown dependencies, untested rollback, and too many changes at once. A wave-based plan removes most of that risk.
1. Inventory what really exists
Before any architecture diagram, build an honest inventory:
- Applications, owners and business criticality
- Data stores and their size and change rate
- Hidden dependencies: cron jobs, hardcoded IPs, shared file systems
- Compliance constraints on data location
The dependency map is the most valuable artifact of the whole project.
2. Group workloads into waves
Order waves by risk, not by team:
- Wave 0: landing zone, networking, identity and observability
- Wave 1: low-risk, stateless services to prove the pipeline
- Wave 2+: stateful and business-critical systems
Each wave ends with a review. Lessons from one wave make the next one faster.
3. Move data before traffic
Replicate databases continuously to the target and keep them in sync. When replication lag is near zero, cutover becomes a traffic switch instead of a data copy.
4. Switch traffic gradually
- Lower DNS TTLs days in advance.
- Use weighted routing to send a small share of traffic first.
- Watch error rates and latency against the baseline.
5. Always keep a way back
Every cutover needs a tested rollback: reverse replication or a clear point where the old environment stays authoritative. If rollback has never been rehearsed, it does not exist.
6. Optimize after, not during
Right-sizing and re-architecting during the move multiply risk. Lift, stabilize, then optimize with real cloud usage data.
The takeaway
Zero-downtime migration is achievable for most systems. It comes from boring discipline: inventory, waves, replication, gradual traffic and rehearsed rollback.
- Cloud
- Migration
- AWS
- Architecture