How do I stop my cloud migration from blowing the budget before the first workload moves?
That's the question I hear from every IT leader who's read the Flexera report. 84% of organizations say managing cloud spend is their top challenge (Flexera 2025). If you're about to lift and shift a portfolio of 500 VMs, you're probably planning to pay for all of them in the cloud. That's your first mistake.
Stop Counting Servers, Start Finding Zombies
Imagine you're a cloud architect at a mid-sized company. You've got 300 on-prem VMs. Your CFO wants a cost estimate. The classic move is to run a TCO calculator, multiply by three years, and present a tidy number. But that number is fiction if you haven't identified which workloads are actually dead.
AWS defines a 'zombie application' as one with average CPU and memory usage below 5% over 90 days. An 'idle application' sits at 5–20% usage over the same period. Both are prime candidates for the retire strategy (AWS Prescriptive Guidance). If you rehost those, you're paying monthly for compute that does nothing. In my experience, most portfolios have 10–20% zombies. That's pure waste.
Retire Before You Rehost
The 6 Rs framework from DigitalOcean includes Retire, and it's the cheapest migration of all. But most teams skip it because they're in a hurry to move. They treat every server as sacred. That's a cost disaster.
Here's the concrete scenario. You have 200 VMs. AWS says zombies average under 5% CPU. Let's say 20 of your VMs are zombies. If you rehost them at, say, $50/month each, that's $1,000 a month, or $12,000 a year, for nothing. Over a three-year cloud commitment, that's $36,000 down the drain. Retiring those 20 apps before you migrate saves that money instantly.
And it's not just about the money. Zombie apps add dependency complexity. They make your dependency map messier. The Azure Migrate assessment includes dependency analysis of network connections to avoid missing critical dependencies (Azure Migrate). If you keep zombies, you're mapping connections to apps that should be gone. That slows down the whole migration.
The Assessment Phase Is Where You Win or Lose
Microsoft Learn's Azure migration framework starts with Assess. That's where you create a full inventory and dependency map, and estimate cost savings using the Azure TCO Calculator (Microsoft Learn). AWS agrees: large migrations have an assess phase that lets you create a migration plan and set up a foundation (AWS Prescriptive Guidance).
But here's the thing: the TCO calculator only helps if you input the right data. If you feed it a list of 200 servers without filtering out zombies, it spits out a number that's too high. You'll present that inflated number to the CFO, and then when you actually migrate, you'll see waste and wonder why costs are out of control.
So the first step in your Assess phase should be a simple audit. Pull CPU and memory metrics for every server for 90 days. Flag anything under 5% average CPU. That's your zombie list.
How to Kill a Zombie (Without Getting Fired)
Retiring an app sounds scary. What if someone still needs it? The answer is to check for inbound connections over 90 days. AWS says applications with no inbound connection in the last 90 days are retire candidates (AWS Prescriptive Guidance). That's a solid, objective test.
For each zombie, you have two options: retire it entirely, or if there's a business need, convert it to a serverless function. Red Hat notes that serverless is event-driven and an idle function costs nothing (Red Hat). So if a zombie only runs once a month, you can rearchitect it to serverless and pay pennies instead of dollars.
But don't overthink it. Most zombies are just dead. Retire them. You can always bring them back if someone screams.
The Cost of Not Killing Zombies
Flexera's 2025 report found that cloud budgets exceeded limits by 17%, and 33% of organizations spend more than $12 million annually on public cloud (Flexera 2025). That overspend isn't from AI or new workloads—it's from waste. In 2026, wasted cloud spend on IaaS and PaaS rose to 29%, the first increase after five years of decline (Flexera 2026).
If you don't kill zombies before migration, you're building that waste into your baseline. And once you're in the cloud, it's harder to clean up. You've got contracts, commitments, and momentum.
Replatform the Survivors, Don't Rehost Everything
Once you've retired the dead, you're left with the living. Now the question is: rehost or replatform? Rehost is fastest, but it doesn't leverage cloud-native features (DigitalOcean). Replatform makes minor optimizations, like moving to a cloud-managed database, without changing core architecture (DigitalOcean).
Red Hat found that 47% of organizations plan to skip rehosting and go straight to replatforming (Red Hat). That's the smart play. If you're already touching the app to fix dependencies, you might as well switch the database to a managed service. That saves you patching and maintenance costs later.
But don't refactor everything. Refactor is the most complex and costly strategy (AWS Prescriptive Guidance). Save that for the few apps that truly need to scale or that you're rebuilding anyway.
Make Retire a Formal Part of Your Migration Plan
Your migration plan should have a 'retire' phase, not just 'migrate.' AWS's 7 Rs include Retire as a formal strategy (AWS Prescriptive Guidance). DigitalOcean's five-phase process includes an inventory assessment in planning (DigitalOcean). Use that inventory to drive the retire list.
Quick tip: Before you run any TCO calculation, spend a day pulling CPU and memory metrics. Flag anything under 5%. You'll likely find 10–15% of your portfolio is dead weight.
The single most important thing to remember: Retire zombie apps before you migrate, or you'll be paying for them in the cloud forever.
Sources
- DigitalOcean - https://www.digitalocean.com/resources/articles/cloud-migration-strategy
- Red Hat - https://www.redhat.com/en/blog/how-should-you-modernize-your-applications
- Microsoft Learn - https://learn.microsoft.com/en-us/training/modules/design-migrations/3-describe-azure-migration-framework
- AWS Prescriptive Guidance - https://docs.aws.amazon.com/prescriptive-guidance/latest/large-migration-guide/migration-strategies.html
- Flexera 2025 - https://www.flexera.com/about-us/press-center/new-flexera-report-finds-84-percent-of-organizations-struggle-to-manage-cloud-spend
- Flexera 2026 - https://www.flexera.com/blog/finops/the-new-era-of-cloud-what-2026-data-tells-us-about-spend-scale-and-strategy/
Comments (0)
Please sign in to post a comment.
Don't have an account? Create one
No comments yet. Be the first to comment!