Opens in a new tab
Home / Blog / Data Engineering

Cloud Migration: The Benefits, the Challenges, and What Decides the Outcome

Cloud migration promises scalability and cost savings but often ends up with you paying a bigger bill for the same architecture. Here is what actually determines which of the two outcomes you get.

SoftmaxAI EngineeringPublished November 25, 2025Updated August 25, 202612 min read
Topic
Migrating workloads to the cloud, realistically
Real benefits
Elasticity, managed services, speed of change
Real challenges
Cost control, data gravity, skills, compliance
What decides it
Whether you modernise or merely relocate

What cloud migration actually means

Cloud migration is the movement of applications, data and infrastructure from on-premises or hosted environments to cloud platforms. It's a very broad term and can cover a spectrum of ambition, from simply moving a VM across to the cloud to a complete re-architecting of an application around the use of managed services. The difference between those two scenarios is what ultimately determines whether or not the promised benefits are actually achieved.

StrategyWhat happensBenefit realised
Rehost (lift and shift)Same architecture on cloud instancesSpeed of exit from a data centre; little else
ReplatformMinor changes to use managed servicesReduced operational burden, some elasticity
RefactorRearchitect around cloud-native servicesFull elasticity and managed-service benefit
RepurchaseReplace with a SaaS productNo infrastructure to run at all
RetireDecommission unused systemsImmediate saving — frequently overlooked
RetainLeave in place for nowAvoids migrating something with no case
Migration strategies and what each delivers

The most under-used option on the list is to retire. A migration inventory will invariably reveal systems that nobody uses, and switching them off is the single cheapest win available in the whole programme.

The benefits that are genuinely real

  • Elasticity. Capacity that follows demand rather than peak provisioning. That's where the vast majority of the real savings come from, and it only ever happens if the architecture is actually capable of scaling down.
  • Speed of change. Provisioning in minutes rather than as part of a procurement cycle changes what the teams attempt. That's probably the biggest benefit and the one most difficult to put on a spreadsheet.
  • Managed services. Databases, queues and pipelines are patched and run by someone else. The saving is in staff time as much as it is in licence cost.
  • Access to specialised capability. GPU and accelerator capacity and managed AI services without any capital purchase required — which is precisely why AI programmes so frequently end up depending on migration.
  • Resilience made attainable. Multi-region redundancy which would be impractical to build physically becomes a configuration decision.
  • Geographic reach. Serving users from regions close to them without having any facilities there.

Note that the majority of these arise from using cloud services rather than from being in the cloud. That's the very reason lift and shift is so disappointing.

The challenges that decide outcomes

Cost control

The most common post-migration shock is a bigger bill. On-premises capacity is a sunk cost, so nobody counts an idle server at all; in the cloud, every idle resource is billed hourly. The reasons are always the same and all avoidable.

  • Oversized instances. Provisioned to on-premises habits rather than to measured utilisation.
  • Idle and forgotten resources. Development environments, orphaned volumes and endpoints that nobody ever switched off.
  • Egress charges. Data leaving the platform is billed, and architectures that are constantly moving data between clouds or back on-premises accrue this quietly.
  • No ownership of spend. When no team can see the cost of what they've provisioned, consumption goes up without anyone having actually decided that it should.
  • Storage tiers unused. Keeping cold data in hot storage is a continual charge for access you never make.

Data gravity and sequencing

Large datasets are expensive and time-consuming to move, and applications naturally want to be close to their data. That's why big-bang migrations fail: an application in the cloud querying a database on-premises performs poorly and costs more than either arrangement alone. The sensible approach is to sequence by data domain rather than by application.

Compliance and residency

Where data may lawfully reside, who may access it and what must be demonstrable to an auditor are design constraints. These are vastly cheaper to design for than to retrofit and can in some cases completely rule out an otherwise very attractive architecture.

Skills and operating model

Cloud infrastructure is run differently, and a team that currently manages its servers manually will manage its cloud servers manually — just replicating the same practice at a higher cost. The practices that turn the migration into a benefit are infrastructure as code, automated deployment and cost ownership.

Why AI programmes make migration urgent

A pattern worth naming is that organisations get to their AI plans and discover that migration is the actual prerequisite. Modern AI services assume that the data is accessible, queryable and governed in the cloud.

  • Training needs accessible data. Data locked in systems which can't be queried at volume cannot be used to train anything, regardless of its quality.
  • Accelerator capacity is a cloud service. Access to GPU and other specialised hardware without any capital commitment is one of the clearest arguments for migration today.
  • Managed AI services assume cloud data. The value of a managed platform depends on your data being accessible from it.
  • Lineage and governance come along. A well-run migration is an opportunity to get the definitions and lineage right — the very foundations that determine whether or not analytics and AI are trusted.

Which is why we often find that the honest answer to 'where should we start with AI?' is a scoped migration and modernisation project for one data domain.

How to run a migration that works

  1. Inventory honestly, including what you're going to retire. Every system, its dependencies, its data and its owner. The cheapest win available is simply retiring the things you don't need.
  2. Sequence by data domain. Move the domain and the workloads that use it as a unit, so that nothing is left querying across the boundary for any length of time.
  3. Pick a first workload that will teach you something. Something meaningful but not critical, and with a real owner. The objective is to establish a repeatable process, not to do a single relocation.
  4. Establish cost ownership on day one. Tagging, budgets and alerts in place before any workloads arrive, as retrofitting attribution is a pain.
  5. Define infrastructure as code from the outset. Manually configured cloud infrastructure simply reproduces on-premises practice at a higher cost.
  6. Modernise selectively, not universally. Refactor where elasticity or managed services are actually going to deliver; rehost where they won't and come back to them later.
  7. Measure against the pre-migration baseline. Cost, performance and reliability, all recorded before migration starts — you simply can't demonstrate the value of the programme without that.

How SoftmaxAI approaches migration

We build and migrate the way we always work. We have a written, client-approved specification prior to any code. We have an agent-accelerated build led by senior engineers. And every decision that matters is owned by a human.

  • Sequenced by data gravity. We plan around where the data is and what depends on it rather than in application inventory order, as that's what stops us having to build expensive cross-boundary architectures.
  • Cost modelled before the move. Realistic consumption modelling throughout the specification phase, with tagging and budget alerts in place before workloads actually land.
  • Modernise where it pays. We refactor where elasticity or managed services make the effort worthwhile and we rehost where they don't — and we are absolutely clear which is which.
  • Foundations fixed along the way. Definitions, lineage and access control are all dealt with as part of the migration process, because that's when the data is being touched anyway. See our cloud migration practice as a Google Cloud Partner.

Related reading: data science impact on business for what good foundations enable, and ML and AI services on GCP for what becomes available afterwards.

Cloud migrationModernisationFinOpsData gravityInfrastructure as codeManaged servicesComplianceGoogle Cloud

FAQ

Questions we get asked.

What is cloud migration?
The move of applications, data and infrastructure from on-premises or hosted environments to the cloud. That covers the spectrum from simply moving a VM as is, through to some degree of replatforming to take advantage of managed services, and right through to a complete re-architecting of the application to be cloud native. The extent of the move is what dictates the benefits that are achieved.
Does cloud migration save money?
Not automatically, and lift and shift is often more expensive. The savings are in elasticity (which requires an architecture that can scale down) and in the managed services which reduce the operational burden. Running the same static architecture on rented hardware will usually end up costing more, while removing the sunk-cost illusion of all that idle on-premises capacity.
What are the biggest challenges in cloud migration?
Cost control (as every idle resource is now billed hourly), data gravity (large volumes of data are slow and expensive to move, and applications perform very poorly when separated from their data), compliance and residency requirements, and the operating model change (manually managed cloud infrastructure simply replicates the old model at greater cost).
Should we lift and shift or refactor?
Refactor where elasticity or managed services actually pay back the effort; rehost where they don't and come back to it later. Universal refactoring is expensive and slow. Universal lift and shift gives you a bill without the benefits. It's a case-by-case decision, based on how variable the workload's demand is and how much operational burden it carries.
How do we control cloud costs after migrating?
Tagging, budgets and alerts should be in place before workloads even arrive. Instances should be right-sized on the basis of actual utilisation rather than on-premises habits. Idle development environments and orphaned resources should be shut down. Appropriate storage tiers should be used for cold data. Egress charges need to be monitored in any architecture that moves data between environments, and teams need to have visibility of what they are spending.
Do we need to migrate before we can use AI?
Quite frequently. Modern AI services assume that data is accessible, queryable and governed in a cloud environment, and accelerator capacity is obtained as a cloud service rather than as a capital purchase. For many organisations the honest answer to 'where do I start with AI?' is a scoped migration of one data domain.
Start here

Planning a migration? Let’s pressure-test it — free.

A 30-minute call with Google Cloud Partner engineers, not a salesperson. You'll get a genuine assessment of the sequencing, the real cost, and what you should modernise versus what you should relocate.