Skip to content

Cloud Migration

Cloud migration planned workload by workload, with a rehearsed rollback

We inventory what you run today, choose a path for each workload, move data with verified integrity and switch traffic only when agreed go and no-go checks pass. You land on AWS, Azure or Google Cloud with infrastructure in code and a cost baseline you understand.

Cloud & DevOps

What is cloud migration?

Cloud migration is the planned move of applications, data and infrastructure from on-premises servers, a hosting provider or another cloud onto a platform such as AWS, Microsoft Azure or Google Cloud. Each workload is assessed and then rehosted, replatformed, refactored or retired, its data is transferred and verified, and traffic is switched over with a rehearsed rollback.

Migrations that go wrong usually fail for ordinary reasons: an undocumented dependency on a file share, a cron job nobody knew existed, a database that took longer to copy than the maintenance window allowed. The cloud platform is rarely the problem. The plan is.

We start with an inventory of what actually runs: servers, applications, databases, scheduled jobs, DNS records, certificates and the traffic between them. Each workload then gets a migration path chosen on its merits. Some are rehosted as they are, some are replatformed onto managed databases or containers, and a few are worth refactoring before they move. Some are simply retired.

The target environment is defined in Terraform, deployed through pipelines and tested with production-like data before any customer traffic moves. Cutover follows a written runbook with go and no-go checks and a rehearsed rollback. Afterwards we compare running costs with the estimate, right-size anything over-provisioned and decommission the old servers only once you have signed off.

Challenges

The problems we are usually brought in to solve

  • Hidden dependencies between systems

    Hard-coded IP addresses, shared file mounts, scheduled jobs and undocumented integrations tend to surface only when something stops working after the move.

  • Downtime the business cannot absorb

    Busy applications and large databases cannot simply be switched off for a weekend, yet many migration plans quietly assume they can.

  • Oversized servers copied straight across

    Moving servers into the cloud at their current size, running around the clock, often produces a bill higher than the old hosting, with none of the benefits of managed services.

  • No clear decision per workload

    Teams debate rehosting versus refactoring in general terms instead of deciding application by application on value, risk and effort.

  • Data nobody can prove is complete

    Without row counts, checksums and reconciliation, there is no evidence the migrated data matches the source until a customer finds the gap.

  • An unfamiliar platform after go-live

    Internal teams inherit cloud accounts with no runbooks, no infrastructure code and no tested restore procedure, so every change feels risky.

Capabilities

What the service covers

  • Discovery and dependency mapping

    An inventory of servers, applications, databases, jobs, DNS and certificates, plus observed network flows, turned into a dependency map that groups systems into migration waves.

  • Migration path per workload

    A recorded decision for every application to rehost, replatform, refactor, retain or retire, weighing operating system support, licensing, latency to the systems it talks to and the data it must bring.

  • A landing zone ready for the first wave

    Separate production and non-production accounts, IP ranges that do not clash with your offices or VPN, private links back to systems that stay behind, plus logging and backups, all in Terraform.

  • Rehosting and replatforming

    Virtual machines replicated with the provider's migration tooling for a like-for-like move, or rebuilt on managed databases, load balancers and containers where that removes patching and failover work.

  • Cloud-readiness code changes

    Focused changes that let an application run on more than one instance: configuration from the environment, uploads in object storage, sessions outside memory and jobs safe to run anywhere.

  • Database transfer and integrity checks

    Bulk transfer followed by continuous replication for PostgreSQL, MySQL and MongoDB, verified with row counts, checksums on key tables and application-level reconciliation.

  • Cutover runbooks and rollback

    Step-by-step runbooks with owners, timings, lowered DNS TTLs, write freezes, go and no-go criteria and a rollback route that is rehearsed before the real event.

  • Before-and-after cost comparison

    A monthly running-cost estimate built from measured CPU, memory, storage and data transfer before the move, then checked against the first real bills so oversized resources are cut back.

Our process

How an engagement runs

Every engagement has a named lead, a written scope and working software to review every one to two weeks.

  1. 01

    Discovery and inventory

    We gather data from servers, hosting panels, DNS, monitoring and billing, and interview system owners to record dependencies, peak periods and acceptable downtime.

  2. 02

    Assessment and wave plan

    Each workload is assigned a migration path and grouped into waves, with a target architecture, cost estimate and risk list set out in a written plan.

  3. 03

    Landing zone build

    We build the target environment in Terraform with identity, networking, logging and backups, and set up GitHub Actions pipelines to deploy into it.

  4. 04

    Pilot wave

    A low-risk but representative workload moves first, proving the tooling, runbook, monitoring and rollback before critical systems are touched.

  5. 05

    Replication and cutover

    Data is synchronised, cutover is rehearsed, and each wave goes live against agreed go and no-go checks, followed by a period of close monitoring.

  6. 06

    Optimise and hand over

    We right-size resources, decommission the old estate after sign-off, and hand over runbooks and infrastructure code or continue with agreed support.

Technology

Technology we use

Chosen per project for fit, maintainability and your team's ability to own it.

Target clouds

  • AWS
  • Microsoft Azure
  • Google Cloud

Infrastructure and delivery

  • Terraform
  • GitHub Actions
  • Docker
  • Kubernetes

Databases

  • PostgreSQL
  • MySQL
  • MongoDB

Source stacks we work with

  • Linux
  • Nginx
  • PHP
  • Laravel
  • Node.js
  • WordPress

Use cases

Where it makes the biggest difference

  • Data centre or colocation exit

    Racks of virtual machines move in planned waves ahead of a contract end date, starting with the least critical systems and finishing with the core platform.

  • Hosting provider to cloud

    PHP, Laravel and WordPress platforms and their MySQL databases leave shared hosting or a single VPS for containers or managed instances with TLS and a CDN.

  • Provider-to-provider move

    Workloads shift between AWS, Azure and Google Cloud to consolidate after an acquisition or a contract change, with managed services mapped to their equivalents.

  • Self-managed database to a managed service

    A MySQL or PostgreSQL server patched and backed up by hand moves to a managed database service, kept in sync by replication so the final switch needs only a short write freeze.

  • File shares and uploads to object storage

    Documents and user uploads held on a network share or a server's local disk move into cloud object storage, with access rules mapped and the application pointed at the new location.

  • Partner integrations tied to fixed IP addresses

    SFTP drops, payment callbacks and bank feeds that allowlist your current addresses move with reserved IPs and change windows agreed with each partner in advance.

Why Softweb Planet

Why teams choose us for this work

  • Migrations planned by engineers who build cloud platforms

    Wave plans and cutover runbooks are written by our DevOps and SRE engineers, whose daily work is AWS and Google Cloud environments and CI/CD, and our CTO reviews each target architecture.

  • We change the code, not just the servers

    When a workload needs configuration moved out of files or uploads moved off local disk, our own application engineers make the change, so a replatform does not stall waiting for another supplier.

  • Every cutover written down

    Each migration has a named lead and a written scope, each cutover has a written runbook, and you review working environments every one to two weeks.

  • Fixed quote after discovery

    A discovery call comes first, then a written proposal with a fixed quote for the migration and an estimate of monthly running costs, so both are clear before you commit.

What you can expect

  • Each workload running on the path chosen for it, not one approach forced on everything
  • Migrated data backed by documented, reconciled checks
  • Cutovers completed against a rollback route that was rehearsed beforehand
  • A landing zone in Terraform that later waves and new projects can use the same way
  • Running costs checked against the pre-move estimate, with oversized resources cut back

Cloud Migration FAQ

Frequently asked questions

We combine automated discovery with conversations, because neither finds everything on its own. Network flow data and connection logs show which servers talk to each other and on which ports. We then read configuration files, crontabs, DNS zones, firewall rules and certificate stores for hard-coded addresses, scheduled jobs and expiring certificates. Interviews with system owners add what no tool sees, such as a monthly export the finance team relies on. The result is a dependency map that decides which systems move together.

Start your project

Tell us what you're building.

Share the problem, the systems involved and where you want to be. A senior engineer replies with honest advice on scope, architecture and the fastest safe path to production.