Cloud promises speed, flexibility, and cost optimization. But far too often, companies move workloads from on-premises to the cloud using a “lift-and-shift” approach, such as migrating virtual machines as-is, without adapting them to the cloud model and their real business needs.

It sounds simple. And typically it is. But simplicity can be expensive.

The Pitfalls of Lift-and-Shift

Yes, lift-and-shift reduces migration time. Yes, you can apply reserved instances or savings plans to reduce ongoing costs. However, those actions alone often miss the biggest opportunities for optimization and expose your company to hidden inefficiencies.

The core issues:

  • Cloud instances are often more powerful than their on-prem counterparts
  • Right-sizing efforts are usually based on already overprovisioned infrastructure (on-prem environments are often projected for 5–7 years of usage)
  • Like-for-like migrations recreate on-prem waste in the cloud

Visualizing the Gap Between Needs and What’s Provisioned

This chart illustrates what usually happens in real-world migrations:

  • The green zone represents actual workload needs: what you’ll get if you right-sized based on real consumption
  • The red zone represents where many cloud deployments land: oversized instances, often chosen because they resemble the original on-prem setup

The result? Overspending on CPU, memory, and, more subtly, licenses (e.g., Oracle and/or VMWare per-core pricing), even with savings plans in place.

What You Should Be Doing Instead

To truly optimize your cloud environment, go beyond simple re-hosting:

1. Start with Performance Profiling

Use tools like Turbonomic/Apptio, CloudHealth, or Flexera One to assess real usage patterns and detect inefficiencies before migration

2. Right-Size for Cloud, Not On-Prem

Avoid like-for-like. Base decisions on actual consumption. The best-fit instance is often smaller and more cost-effective

3. Design an intelligent Landing Zone

Implement governance and structure from the start:

  • Budget controls
  • Tagging policies
  • Network and identity standards

4. Adopt FinOps-Driven Automation

Use FinOps platforms to continuously:

  • Monitor cloud usage
  • Fetch live pricing
  • Recommend actions like auto-scaling, scheduling, or even cloud switching

Cloud-Native Isn’t Optional: It’s Essential

For longer-term gains, modernize:

  • Re-platform legacy workloads
  • Re-architect where necessary
  • Embrace containers or serverless
  • Automate resource scheduling for demand-based scaling

Use Frameworks to Guide Your Journey

  • For example, AWS CAF or Azure CAF offer structured paths for secure, optimized cloud adoption
  • They also go beyond technology: covering governance, operations, people… and costs (TCO and ROI)

Conclusion: Lift Strategically, Not Blindly

Lift-and-shift is a starting point, not a strategy.

Most workloads don’t need the raw power that cloud instances offer by default. And many cloud environments remain under-optimized long after migration (while cloud services evolve daily to improve both performance and cost – don’t forget that they operate in a very competitive landscape).

What can be done quickly?

  • Run a quick sizing assessment
  • Rethink your landing zone
  • Add FinOps tools

Written by Nuno Neto