Home / Cloud Migration
Cloud Migration

Cloud Migration Without the Downtime Drama

Inventory, plan, rehearse, cut over and verify. We migrate websites, applications, databases and email with a rollback plan for every step.

A migration fails when it is treated as copying files. The risky parts are what you forgot: a cron job, a hard-coded IP address, an email setup, a certificate, DNS caching. We start with an inventory of everything the system actually does, then rehearse the move before touching production traffic.

We handle cPanel account moves, VPS-to-VPS migrations, moves from physical or hosted servers to the cloud, and application moves onto AWS. Free website migration is included with our hosting plans. Larger application migrations are scoped to the project. See Case Study 1 and Case Study 4.

What we migrate

Websites and CMS

WordPress and other sites, with files, databases and configuration.

cPanel accounts

Account transfers between cPanel/WHM servers, including email and SSL.

Applications

Node.js, Python, PHP and containerised applications, with their dependencies.

Moves to AWS

Servers and applications moved onto EC2, ECS or Fargate with infrastructure as code.

Databases

MySQL, MariaDB and PostgreSQL moved with consistency checks.

Email and DNS

Mailboxes and DNS records moved in the right order so mail keeps flowing.

Choosing a strategy

ApproachWhat changesBest when
RehostSame application, new serverYou want a fast move with minimal change
ReplatformMove to a managed database or containersYou want less operational work without a rewrite
RefactorRedesign for cloud-native servicesThe application itself needs to change
Retire or retainSwitch off or leave in placeNot everything should move

The cutover pattern

The aim is to do the slow work early and leave a short, rehearsed window for the final switch. For databases that cannot tolerate a write freeze, we use replication or AWS Database Migration Service to keep source and target in sync until cutover.

Example: a simple file and database cutover
# 1. Lower the DNS TTL a few days before cutover (for example to 300 seconds)
# 2. Initial sync while the old server is still live
rsync -aHAX --numeric-ids --info=progress2 /var/www/ user@new-server:/var/www/
# 3. At cutover: pause writes, run a final delta sync, dump and restore the database
mysqldump --single-transaction --routines --triggers appdb | gzip > appdb.sql.gz
# 4. Point DNS at the new server and verify before decommissioning the old one

Cutover checklist

How a migration runs

  1. 1

    Discover

    Inventory the application, data, email, DNS, scheduled tasks and dependencies.

  2. 2

    Plan

    Choose the strategy, the cutover window and the rollback criteria.

  3. 3

    Build the target

    Set up the new environment, ideally as code.

  4. 4

    Sync and rehearse

    Copy data, test the new environment and fix what the rehearsal finds.

  5. 5

    Cut over

    Switch traffic in the agreed window.

  6. 6

    Verify and retire

    Confirm everything works end to end, then decommission the old environment.

FAQ

Common questions

Something else on your mind? Message us and an engineer will answer.

Ask a Question

Often none to a few minutes for read-heavy sites. For write-heavy databases there is usually a short write freeze, and we agree the window with you in advance.

Not if mailboxes and MX records are moved in the right order. We test delivery before and after the switch.

Yes, including from shared hosting and other cPanel servers.

The old environment stays intact until the new one is verified, so rollback is usually a DNS change.

Related services

Planning a migration?

Tell us what you are moving and where to, and we will outline a plan.