Cloud migration looks simple on a vendor slide deck: lift your workloads, enjoy elasticity and cost savings, repeat. The reality is more nuanced. After leading cloud migrations for organisations ranging from 50-person SaaS startups to national government agencies, we have accumulated a clear picture of what works and — more instructively — what repeatedly goes wrong.
Mistake One: Lifting and Shifting Legacy Architecture
Moving a monolithic application to a single cloud VM is not cloud migration — it is hosting migration. You get the cloud bill without the cloud benefits. The workloads that deliver real value in the cloud are those re-architected to be cloud-native: containerised, stateless where possible, using managed services for databases, queuing, and caching rather than running these on EC2.
Mistake Two: Underestimating Data Migration Complexity
Compute migrates in hours. Data migrates in weeks or months, and rarely cleanly. Schema inconsistencies, referential integrity issues, character encoding problems, and sheer volume mean that data migration almost always takes two to three times longer than estimated. Budget accordingly, and invest in data validation tooling before you start.
Mistake Three: Neglecting Cost Architecture
Organisations consistently underestimate their cloud bills. The culprits: over-provisioned instances, data egress fees (which are rarely accounted for upfront), unused resources in development and test environments, and storage costs that grow without governance. Implement a cloud cost management tool from day one — FinOps is not optional.
What the Successful Migrations Have in Common
A clear business outcome driving the migration (not “because cloud”), executive sponsorship with real authority to make architectural decisions, a dedicated migration team rather than a committee, and a realistic multi-phase plan that delivers value incrementally rather than promising everything at once.