Skip to Content
crafty-penguins / who-we-help / challenges-solutions / infrastructure-migrations
Build & migrate

Move off the old. Land on the new.

Infrastructure migrations are easy to start and hard to finish. We've finished them. AWS to VMware, on-prem to cloud, one Linux distribution to another, a database two major versions behind to current, the kind of work where the data has to survive and the change window has to hold.

Sounds like "We need to be off this server by Q3."
Infrastructure Migrations
What it looks like

You might recognize one of these.

Most migration conversations start the same way: something works, but the place it's running is wrong. Wrong vendor. Wrong contract. Wrong version. Wrong era. Wrong bill.

A contract is ending Cloud renewal, colo lease, vendor agreement, and the renewal cost or terms aren't acceptable anymore.
The OS is end-of-life Debian 9, RHEL 6, an Ubuntu LTS past its security window. Patches stopped coming. Auditors started asking.
The cloud bill stopped making sense What was reasonable at launch isn't reasonable at scale. Time to move workloads where the economics work.
A database is two versions behind Oracle, MySQL, Postgres. Upgrades got deferred. Now you're stuck on a version with no security updates left.
An acquisition or split The infrastructure has to move, out of the parent company's environment, or into yours.
You're consolidating A decade of one-off VMs. Each one runs something important. None of them are documented.
Why it's hard

Migrations fail in predictable ways.

The technical lift is rarely the problem. The problem is everything around the lift, the undocumented assumptions, the integrations no one remembers, the schedule that has to hold while real customers keep using the system.

01

What you have isn't what you think you have

Every migration starts with discovery, because the "production environment" is always bigger than the architecture diagram. Cron jobs, side services, that one script that's been running since 2017, they all have to come too.

02

The cutover window is shorter than the project

Building the destination is the easy half. The hard half is getting from "we have a working replica" to "production traffic is on it" without losing data, dropping connections, or extending the downtime window past what the business agreed to.

03

Rollback isn't a button

If something goes wrong at 2 a.m., reverting isn't a checkbox, it's a procedure that has to be designed, rehearsed, and timed. Migrations that succeed are migrations that planned for the rollback first.

Migrations we've done optional section

Most paths between A and B, we've walked.

A non-exhaustive list of common routes. If your migration doesn't fit one of these, and many don't, it's almost certainly some combination of them.

AWS → VMware / on-prem

Repatriation work: legacy Linux workloads back into customer-controlled infrastructure, often for cost or data-residency reasons.

On-prem / colo → Cloud

The classic "move us off the rack", usually triggered by hardware aging out, a colo move, or a board mandate.

Bare VMs → Kubernetes

A platform migration, not just a host migration. Hand-built servers consolidated into a real orchestrated environment.

CentOS / Debian 9 → Modern LTS

Distribution upgrades and replacements, usually when the OS is past end-of-life and patches have stopped coming.

Oracle / MySQL N → Latest version

Database major-version upgrades. The schema survives. The queries still run. The auditor stops asking.

One cloud → Another cloud

DigitalOcean, AWS, GCP, Azure, Hetzner, the move between them, with care for the data, the networking, and the bill on the other end.

How we approach it

Four steps. No theatrics.

The pattern is boring on purpose. Migrations that go well look like the same set of steps applied to different stacks, not heroic last-minute saves.

  1. 01

    Discovery, what's actually there

    Inventory the workloads, the dependencies, the cron jobs, the side services, the integrations no one wrote down. Most migration risk lives in the gap between the diagram and the reality.

  2. 02

    Design, the destination and the path to it

    Architect the target environment. Pick the data-transfer strategy (live replication, dump-and-restore, snapshot, storage-level). Plan the cutover. Write the rollback before writing the runbook.

  3. 03

    Rehearse, the cutover in a dry run

    For anything non-trivial, the cutover gets rehearsed end to end against a staging environment first. We measure the actual downtime, find what breaks, and fix the runbook before production.

  4. 04

    Execute, the change window holds

    Production cutover during the agreed window, with a tested rollback ready, monitoring in place, and someone senior watching the metrics while the switch is flipping. And then we stay long enough to be sure it stuck.

What you walk away with

A migration that actually finished.

✓
Workloads on the new platform Production traffic, not just a working replica.
✓
Data intact and verified Pre/post checksums, row counts, application-level smoke tests.
✓
A runbook of what was done So the next person, yours or ours, isn't starting from zero.
✓
The old environment, cleanly retired Or kept warm for a defined parking period. Your call.

We've done this work

All success stories

Adjacent challenges

Often part of the same conversation
Get started

Have a migration that needs to actually finish?

Tell us the source, the destination, and the deadline, we'll tell you whether we've done it before, how long it usually takes, and what the gotchas are. 30 minutes, no obligation.