On-Prem to Cloud Migration: What Nobody Tells You Before You Start

Cloud migration without preparation is the fastest way to blow your budget. Field guide: fatal mistakes, Rehost/Replatform/Refactor models, Azure vs AWS vs GCP for Canadian SMBs, 5-step plan.

On-Prem to Cloud Migration: What Nobody Tells You Before You Start

Cloud Journey Series · Post B11

The Cloud Promise… and the Reality

The CEO walks into the boardroom with boundless energy. "We're migrating everything to the cloud in 6 months. We'll cut costs, accelerate deployments, and finally become agile." Applause in the room. General enthusiasm.

Nine months later, the infrastructure bill has tripled. The three best developers have resigned — exhausted by a chaotic migration running in parallel with their usual responsibilities. And the main application, hastily migrated as a "Lift & Shift," is consuming 40 oversized EC2 instances with 60% of resources sitting idle.

We've lived this story. Not once. Multiple times. And every time, the root cause is the same: a cloud migration without adequate preparation.

This guide distills what we learn in the field. Not vendor theory. The reality of Canadian SMBs.


The Reference Framework: The 6 R's of Cloud Migration

Before diving into mistakes and strategies, let's establish the baseline vocabulary. Amazon Web Services popularized the 6 R's of Migration framework — now adopted across the industry and sometimes extended to 7, 8, or 9 R's depending on the source.

Strategy Description Best for
Rehost (Lift & Shift) Direct migration without modification Tight deadline, stable legacy app
Replatform Migration with targeted optimizations SMBs, best effort/benefit ratio
Repurchase Replace with equivalent SaaS CRM, ERP, email (e.g. Salesforce, M365)
Refactor (Re-architect) Full cloud-native redesign Strategic apps, critical scalability
Retire Decommission unused applications Often 10-20% of the application portfolio
Retain Keep on-prem temporarily Apps not yet ready, regulatory constraints

Note: Some frameworks add a 7th R — Relocate (move to managed cloud infrastructure, e.g. VMware Cloud on AWS) — useful when migrating an existing VMware environment without application redesign.

This framework gives the entire organization a common language. Before classifying each workload, it's the first conversation to have with your team.

This guide focuses in depth on the 3 most common strategies for SMB/mid-market contexts: Rehost, Replatform, and Refactor. For a complete view of AWS's 6 Well-Architected Framework pillars or the Cloud Adoption Framework (CAF), refer to the official AWS, Azure, or GCP documentation.

The 3 Fatal Mistakes of a Cloud Migration

1. Blind Lift & Shift

The most common mistake: take each on-prem server and recreate it as-is in the cloud. Result? You pay for cloud, but you have all the drawbacks of on-prem — without any of the native benefits.

A client had 40 on-prem servers. The team migrated them one by one to EC2, keeping the same specs. Six months later: 40 EC2 instances running 24/7, most of them below 20% CPU utilization. 60% of resources wasted. Monthly bill: double the planned budget.

The problem wasn't the cloud. It was the absence of prior analysis: which apps are cloud-ready? Which ones can be containerized? Which ones deserve to be refactored?

2. Underestimating Real Costs

The industry benchmark is brutal: plan for 1.4x your initial estimate. Why? Because visible costs (compute, storage) represent only half the actual bill.

Hidden costs accumulate silently:

  • Network egress: 0.08–0.09 USD/GB to transfer your data out of the cloud
  • Enterprise support: 10%+ of your monthly bill if you opt for business-critical support
  • BYOL licenses: Windows Server, SQL Server — on-prem licenses don't automatically transfer
  • Team training: 15,000–25,000 CAD to properly train a team of 3-4 on cloud best practices
  • Idle resources: one instance left running by mistake = 130 USD/month minimum

3. Ignoring Technical Debt

Migrating an application with 10 years of technical debt means transplanting it with its problems. Worse: cloud amplifies certain inefficiencies (query costs, inter-service network latency, etc.).

Before migrating, do an honest inventory: which apps are a risk? What is their criticality? Can they be modernized simultaneously, or should they be planned separately?


The 3 Migration Models: Choosing the Right One

The 3 cloud migration models

Rehost (Lift & Shift)

Principle: Direct migration, no modification. VMs are moved as-is to the cloud.

Advantages: Fast to execute, low technical risk, useful for emergency migrations or datacenter lease endings.

Disadvantages: No cloud-native benefits, near-systematic over-sizing, high long-term costs.

When to use it: Legacy apps with strong regulatory constraints, imminent deadline, or as a first step before a planned refactoring.

Estimated savings: 10–15% compared to on-prem (mainly on capex elimination).

Replatform (Lift, Tinker & Shift)

Principle: Migration with light optimizations. Use cloud managed services without rewriting application code.

Concrete examples: Replace self-hosted MySQL with Amazon RDS or Azure Database for MySQL. Replace on-prem Redis with ElastiCache or Azure Cache for Redis. Move static files to S3 or Azure Blob Storage.

Why it's the best ratio for SMBs: Moderate effort (2-3 months), quick results, 25–35% savings on infrastructure costs, and a team that progressively builds competence.

This is the model we recommend in 80% of cases for Canadian SMBs.

Refactor (Re-architect)

Principle: Rewriting the application to fully leverage cloud-native capabilities: microservices, containers, serverless, event-driven architecture.

Advantages: 50–70% savings over 3 years, automatic scalability, maximum resilience, accelerated innovation.

Reality: Significant effort (6–18 months), high technical risk, requires advanced cloud skills. Reserve for strategic high-traffic applications.

Plan only for the 20% of applications that justify the investment.


Azure vs AWS vs GCP: Which Cloud for Your Canadian SMB?

The short answer: it depends on your current stack. The long answer:

Microsoft Azure

Recommended if: your organization is Microsoft-heavy (Office 365, Active Directory, SQL Server, .NET).

  • Canadian regions: Canada Central (Toronto) and Canada East (Quebec City)
  • Native integration with Active Directory and Microsoft 365
  • Excellent compliance: PIPEDA, SOC 2, ISO 27001
  • Azure Hybrid Benefit: savings on existing Windows/SQL Server licenses

Amazon Web Services (AWS)

Recommended if: you want the broadest catalog and maximum maturity.

  • Canadian region: ca-central-1 (Montreal) + ca-west-1 (Calgary) announced
  • Largest managed services catalog (200+ services)
  • Largest partner ecosystem
  • Reserved Instances: 40–60% savings vs on-demand

Google Cloud Platform (GCP)

Recommended if: data analytics, machine learning, or native Kubernetes.

  • Canadian regions: northamerica-northeast1 (Montreal) + northamerica-northeast2 (Toronto)
  • BigQuery for large-scale analytics
  • GKE: the best managed Kubernetes on the market
  • Automatic Sustained Use Discounts (no need to reserve in advance)

The 5-Step Plan

Cloud migration 5-step plan

Step 1 — Assessment (2–4 weeks)

Complete inventory of your application portfolio. For each app: criticality, dependencies, architecture, technical debt, current costs. Build the migration business case with a comparative 3-year TCO.

Deliverable: application matrix with recommended migration strategy (Rehost / Replatform / Refactor / Retire / Retain).

Step 2 — Pilot (4–6 weeks)

Migrate 1 to 3 non-critical applications. The goal isn't performance, it's learning: validate the target architecture, identify friction points, train teams in real conditions.

Deliverable: validated migration runbook, reference architecture, actual vs. estimated costs.

Step 3 — Wave 1 (6–10 weeks)

Migration of priority applications: those with the best effort/benefit ratio. Proceed in batches of 5-10 apps. Each batch = regression tests + business validation before traffic cutover.

Deliverable: 40-60% of portfolio migrated, cloud vs. on-prem performance KPIs.

Step 4 — Optimize (ongoing)

Migration isn't the end, it's the beginning. Right-sizing instances (actual CPU/RAM usage), activating Reserved Instances or Savings Plans, implementing FinOps: budgets, alerts, cost dashboards.

Deliverable: additional 20-30% reduction on the initial cloud bill.

Step 5 — Scale

Migration of remaining applications with lessons learned. Exploration of cloud-native services for new projects. Transition to a cloud-first culture in development teams.


Hidden Costs: What Nobody Tells You

Here are the budget items systematically omitted from cloud quotes:

  • Network egress: Azure, AWS, and GCP charge 0.08–0.09 USD/GB to transfer your data outbound. For a system with 10 TB/month outbound transfer = 800–900 USD/month extra.
  • Enterprise support: Business or Enterprise support represents 10%+ of your monthly bill. On 50,000 USD/month of cloud, that's 5,000–8,000 USD/month just for support.
  • BYOL licenses: Windows Server and SQL Server in BYOL (Bring Your Own License) require rigorous verification of your usage rights. Some on-prem licenses don't transfer.
  • Training: AWS Solutions Architect, Azure Administrator, or Google Cloud Professional certifications — budget 15,000–25,000 CAD to properly train a team of 3-4 people.
  • Idle resources: A single EC2 m5.xlarge instance left running = 130 USD/month. Multiply by 20 forgotten resources = 2,600 USD/month wasted. It happens. Often.

BOTUM Case Study: −40% Costs in 90 Days

A mid-size client — services sector, 120 on-prem VMs, aging infrastructure, datacenter lease expiring in 8 months — engaged us for a complete cloud migration.

Assessment (3 weeks): Inventory of 120 VMs. Result: 45% of apps are Replatform-ready, 35% require Rehost as a first phase then Replatform, 20% are Refactor candidates for Phase 2. 15 VMs were to be decommissioned (abandoned apps still running).

Chosen strategy: 80% Replatform (databases to managed services, web apps to managed containers), 20% Refactor for the 3 high-traffic apps.

Execution: Migration in 4 waves over 10 weeks. At each wave, immediate right-sizing and activation of 1-year Reserved Instances for identified stable workloads.

Results at 90 days:

  • Infrastructure costs: −40% vs. on-prem (including datacenter lease amortization)
  • Availability: 99.97% vs. 99.2% on-prem (hardware-related incidents eliminated)
  • Deployment time: from 4 hours to 12 minutes (native cloud CI/CD)
  • 15 VMs decommissioned = immediate savings of 3,200 USD/month

The most effective migration isn't necessarily the fastest. It's the one that's prepared.


Conclusion

Migrating to the cloud is a strategic decision, not a technical one. It starts with an honest assessment of your application portfolio, a rigorous business case, and a clear strategy per application.

The Replatform model offers the best risk/benefit ratio for most SMBs. Refactor, when justified, truly transforms organizations. Pure Lift & Shift is rarely the right answer — except as a planned transitional step.

And above all: budget 1.4x your estimate. Train your teams. Activate FinOps from day one. Cloud savings aren't automatic — they're built.

📥 Complete PDF Guide

Download this guide as PDF to read offline.

⬇ Download the guide (PDF)

🚀 Go Further with BOTUM

This guide covers the essentials. In production, every migration has its own specifics. BOTUM teams help organizations assess, plan, and execute cloud migrations. If you have a project, let's talk.

Discuss your project →
📚 Cloud Journey Series 📋 View complete series →