Skip to content
willowark

Move to the cloud without betting the company on one weekend

Cloud migration is moving applications, data, and workflows from where they run today — an office server room, a colo rack, another provider — to cloud infrastructure. The risk it carries is real: data loss, extended downtime, quiet breakage discovered weeks later. The problem it solves is bigger: hardware you have to babysit, capacity you cannot change, and a disaster recovery plan that depends on a single building.

Willowark plans migrations backwards from the failure cases. Every phase has a rollback path, every data move has a verification step, and cutover happens only after the new environment has proven itself in a dress rehearsal. We migrate in slices — lowest-risk workloads first — so lessons are cheap.

Illustrative: a quiet server room with blue status lightsCloud & Infrastructure

How the work gets done

The same way every time: scope, build, hand over.

The work starts with discovery: mapping applications, their dependencies, and the undocumented connections that only show up in netstat output. Each workload gets a strategy — rehost, replatform onto managed services, or rebuild where the economics justify it. Data migration gets special care: replication with tools like DMS, checksum verification, and for large datasets, seeded transfer followed by change-data capture so the final sync window shrinks to minutes.

A finished migration is judged weeks after cutover, not the night of. Success looks like applications performing at or above baseline, costs matching the model built before the move, old hardware actually decommissioned, and your team operating the new environment without a consultant on speed dial. We define those acceptance criteria in writing before anything moves.

Scoping a migration means being precise about what is moving and what is not. Discovery produces an inventory with dependencies, data volumes, change rates, and the tolerance each application has for downtime, and from that we sequence waves — usually starting with something low-stakes that still exercises the full process. The trade-offs are concrete: rehosting is fastest but carries the old problems along, replatforming onto managed services costs more effort up front and less to operate, and rebuilding is only justified when the application was due for it anyway. We also plan the network early, because hybrid connectivity during a phased move is where surprises tend to live.

Migrations typically go wrong in the gaps between systems: a hard-coded IP address, a batch job on a forgotten server, a license tied to a hardware fingerprint, a performance assumption that held on local storage and not on network volumes. We design against this with a dress rehearsal for every wave — a full cutover in an isolated environment, with real data and real integrations, before the production date. Rollback is rehearsed too, not just written down. After cutover, we stay engaged through a defined stabilization period, then hand over with a validation report, the cost reconciliation, and a decommissioning checklist for the old environment.

  1. Scope it in writing

    What we agree before work starts

    • Discovery and dependency map of current workloads
    • Per-application migration strategy and sequencing plan
  2. Build with checkpoints

    Working results, not slide decks

    • Data migration with verification and near-zero-downtime sync
    • Cutover runbook with tested rollback procedures
  3. Hand over something you own

    Documentation, source, and training

    • Post-migration validation report and cost reconciliation
    • Hybrid connectivity design (VPN or dedicated link) for the period when workloads span both environments

Sound familiar?

Where cloud migration earns its keep.

A server closet whose hardware warranty expires in six months

An ERP integration layer running on a machine under someone's desk

A datacenter contract ending with 40 VMs and no migration plan

A company that migrated halfway two years ago and now runs both environments badly

Common questions

Asked before every cloud migration project.

How much downtime should we expect?

For most workloads, minutes — replication keeps data synced until cutover, and DNS or load balancer changes make the switch. Some legacy systems with no replication option need a maintenance window; we identify those early and schedule around your business, not our convenience.

Should we lift-and-shift or rearchitect during the migration?

Usually lift-and-shift first, modernize second. Changing platform and architecture at the same time doubles the unknowns when something breaks. The exceptions are workloads where a managed equivalent is a clear drop-in — swapping a self-hosted database for RDS is often worth doing in flight.

Will the cloud actually cost less than staying put?

It depends on the workload profile, which is why we build a cost model during discovery rather than quoting from averages. Steady, predictable loads sometimes cost more in the cloud at sticker price; bursty loads, aging hardware, and the cost of downtime usually swing the math the other way.

Can we keep some systems on-premises after the migration?

Yes, and many organizations should. Plant-floor systems, latency-sensitive equipment controllers, and applications with licensing or regulatory constraints often stay local, connected to the cloud through a VPN or dedicated link. We design the hybrid boundary deliberately — what talks across it, how identity works on both sides, and what happens when the link is down — rather than treating the on-premises remainder as unfinished business.

What happens to our data during the move, and how do you verify nothing is lost?

Data is replicated rather than copied once: databases sync continuously with tools like DMS or native replication, and file data is seeded in bulk then kept current with incremental transfers. Before cutover we verify with row counts, checksums, and application-level spot checks, and the source stays intact and untouched until the new environment has run through its acceptance criteria. If verification fails, the migration pauses; we do not proceed on the assumption it will sort itself out.

Where this sits

Cloud Migration, inside a cloud & infrastructure system.

The lit component is the part of the system this service delivers; the rest is what it has to work with.

Plant to cloud, and what watches itVPNMQTTSQLeventspushPlant networkTunnelVPN / private linkServicescontainersData storesDB, objectsMonitoringlogs, metricsOn-call

Hover or focus a component to see what it is and what it talks to. Arrow keys move between them.

Plant systems reach the cloud over an encrypted tunnel; services run in containers over managed data stores, and monitoring alerts a person before a customer notices.

Components:

  1. Plant network: OT network, segmented from IT.
  2. Tunnel (VPN / private link): Encrypted, allow-listed, no inbound ports on the plant side.
  3. Services (containers): Deployed from CI, rolled back in one command.
  4. Data stores (DB, objects): Managed database and object storage with backups tested, not assumed.
  5. Monitoring (logs, metrics): Health, latency, error rate, cost.
  6. On-call: Someone is paged before a customer emails.

Connections:

  • Plant network to Tunnel over VPN
  • Tunnel to Services over MQTT
  • Services to Data stores over SQL
  • Services to Monitoring over events
  • Monitoring to On-call over push
A typical architecture, drawn to explain the pattern — not a specific client's system.

Strategy. Software. Systems.

Have a system that should exist?

Tell us what your operation is doing manually, what isn't connected, or what you're trying to build. We'll tell you plainly whether and how we can help.