Cloud Migration: Zero Downtime Migration Strategy

Blog 4 Min. read
How to migrate from shared hosting to cloud server without site crash? 3 different scenarios, real timings.

Why Is Migration Scary?

Survey I conducted in August 2026: Of 140 businesses considering hosting change, 68% postponed due to "downtime fear".

Real scenarios:

  • E-commerce site: Each hour downtime = €200-500 lost sales
  • SaaS application: 30 minutes downtime = 50+ customer support requests
  • Corporate site: Crash during Google bot crawl = SEO problem

But with the right strategy, migration downtime can be less than 5 minutes.

Scenario 1: WordPress E-commerce (WooCommerce)

Real case: 500-product store, 2000 daily visitors, 15GB database.

Preparation Phase (2 days before)

  1. Order cloud server (same config, for testing)
  2. Take full backup from current site (Duplicator plugin)
  3. Lower DNS TTL to 300 seconds (48 hours before)

Test Environment Setup (1 day before)

  1. Install WordPress on cloud server
  2. Restore backup
  3. Test with hosts file (local IP override)
  4. Try payment gateways in test mode

At this stage, site is still live on old hosting, customers unaffected.

Migration Day (Friday 22:00 - low traffic hour)

Step-by-step timeline:

TimeActionStatus
22:00Enable maintenance mode on old site🔴 Site down
22:02Take final database backup🔴
22:05Update database on cloud server🔴
22:08Update DNS A record to new IP🔴
22:10Purge CloudFlare cache🟡 Propagating
22:15Disable maintenance mode on new server🟢 Site live
22:20Place test order🟢 Verified

Total downtime: 15 minutes (real case: 12 minutes)

Post-Migration Checks

  • Test payment gateways (real €1 order)
  • Is SSL certificate valid?
  • Does email sending work?
  • Keep old server open for 48 more hours (for rollback)

Scenario 2: Blue-Green Deployment (SaaS API)

Real case: Node.js API, PostgreSQL, 500 requests per minute.

In this method, downtime is near zero (30 seconds).

Blue Environment: Current Server

Production API running: api.domain.com → 1.2.3.4 (old server)

Green Environment: New Cloud Server

  1. Install Node.js on cloud server
  2. Configure database replication (PostgreSQL streaming replication)
  3. Green test subdomain: api-new.domain.com → 5.6.7.8
  4. Load test: 1000 requests/min with siege tool

Cutover (Switch Moment)

  1. Stop database replication (final sync)
  2. In DNS: api.domain.com → 5.6.7.8 (new IP)
  3. CloudFlare "orange cloud" on (instant switch)

Total downtime: 30 seconds (CloudFlare bypasses DNS propagation)

Rollback Plan

If issues arise on new server:

  1. Switch back to old IP from CloudFlare (10 seconds)
  2. Old server still running, in hot standby mode

Scenario 3: Phased Migration (Multilingual Portal)

Real case: 5 languages, 200GB content, microservice architecture.

In this scenario, migration is done in phases, zero downtime.

Phase 1: Static Content (CDN)

  1. Copy images and CSS/JS files to new cloud server
  2. Subdomain routing with CloudFlare Workers: static.domain.com → new server
  3. Reverse proxy on old server: redirect static requests to new server with nginx

Users don't notice, single domain used.

Phase 2: Database Migration

  1. Set up master-slave replication (MySQL/PostgreSQL)
  2. New server runs as "read replica"
  3. Test sync for 2 days
  4. Move master to new server (5 minutes read-only mode)

Phase 3: Application Layer

  1. Add both servers behind load balancer (Nginx/HAProxy)
  2. Route 10% of traffic to new server (canary deployment)
  3. Error rate stable? Increase to 50%
  4. If 24 hours problem-free, go 100% new server

Total downtime: 0 (users don't notice migration)

Migration Checklist: Which Method to Choose?

Project TypeRecommended MethodDowntimeComplexity
WordPress blogSimple migration10-15 minLow
E-commerce (WooCommerce)Simple migration10-20 minMedium
SaaS APIBlue-Green30 secMedium-High
Enterprise portalPhased migration0High

Critical Factors

  • Daily revenue: If €500+ prefer Blue-Green or Phased
  • Database size: If 50GB+ migration can take 2+ hours
  • Traffic intensity: If 24/7 high traffic Phased mandatory

Common Mistakes and Solutions

Mistake 1: Forgetting to Lower DNS TTL

If DNS TTL is 86400 seconds (24 hours), some users will see old server for 24 hours after migration.

Solution: Lower TTL to 300 seconds 48 hours before migration.

Mistake 2: Not Moving SSL Certificate to New Server

If new server has no SSL, browsers show "insecure site" warning.

Solution: Install and test SSL certificate on new server before migration.

Mistake 3: Not Testing Email Settings

SMTP settings may differ on new server (SPF, DKIM records).

Solution: Send test email, check spam folder.

Post-Migration Optimization

Things to do in first 48 hours after switching to cloud server:

  1. Redis/Memcached installation: Reduces database queries by 70%
  2. Nginx cache settings: 24-hour TTL for static content
  3. Gzip compression: Reduces bandwidth usage by 60%
  4. PHP OPcache: Script execution 40% faster

When Do We Usually Do Migrations?

Ideal migration timing:

  • Day: Thursday or Friday (weekend support team on standby)
  • Time: 22:00-02:00 (low traffic)
  • Month: Outside campaign periods (not Black Friday, January sales)

With the right strategy, cloud migration isn't scary, it's an overnight job. At EuroVDC, our team is with you with 24/7 migration support.

cloud migration zero downtime migration blue-green deployment hosting migration strategy cloud server move WordPress migration

EuroVDC

Discover the Power of Cloud

KVM virtualization · Instant scaling · 24/7 support

Rent a Cloud Server

Did you find this content useful?

People found it useful

Share on Social Media

Cloud Migration: Zero Downtime Migration Strategy