In this article
If you’re evaluating whether to exit public cloud, this guide walks you through the five factors that determine whether migration makes strategic sense for your organization, including honest guidance on when it doesn’t.
There’s no shortage of content on how to migrate off public cloud. Step-by-step playbooks, VM inventory checklists, networking diagrams. It’s all out there.
What’s harder to find is a clear answer to the question that actually comes first: should you migrate at all?
This isn’t a trivial question. Cloud exit projects fail, stall, and disappoint more often than vendors admit. Sometimes the failure is technical. More often it comes down to a mismatch between expectations and reality: the wrong workloads, an unprepared team, an underestimated timeline, or a destination that wasn’t the right fit.
This guide is for IT leaders who are exploring the option seriously. Not 100% ready to commit, but past the point of casual curiosity. If you’re trying to figure out whether migration is the right move for your organization and what “ready” actually looks like, this is the framework we use when talking with companies considering a move to OpenMetal.
We’ll also tell you when it doesn’t make sense. The goal here is to help you make the right call, not just the one that leads to a sales conversation.
Factor 1: Your Workload Profile
The most important variable in any migration decision isn’t your budget or your team. It’s what you’re actually running.
Public cloud was designed for elasticity. The pricing model reflects that. If your workloads are genuinely spiky because of seasonal traffic, variable compute demand, or burst-heavy applications, you’re using public cloud the way it was intended. The cost premium you’re paying is buying you something real: capacity on demand without capital commitment.
The calculation changes when your workloads are steady-state. Database servers, internal tools, backend services, analytics infrastructure, anything that runs at consistent utilization doesn’t benefit from elastic pricing. You’re paying the per-unit premium every month without ever needing the flexibility it’s buying you. At that point, fixed-cost infrastructure starts to look different.
Strong migration candidates:
- Workloads running at 60–80%+ utilization consistently
- Services with predictable resource requirements month over month
- Applications generating significant egress (data that has to leave the cloud)
- Workloads with strict data residency or compliance requirements
- VMs that have been running unchanged for 12+ months
Workloads that should likely stay in public cloud:
- Seasonal applications with 3x–10x traffic variance
- Certain development and staging environments (burst by nature)
- Services that rely on managed platform features you’d have to rebuild (ML pipelines, managed Kubernetes, specialized analytics engines)
- Anything genuinely unpredictable in resource demand
A useful starting exercise: pull your cloud utilization reports for the last 6 months. For each major workload, ask whether the average utilization is within 20% of the peak. If yes, that workload is a migration candidate. If the variance is wide, it probably isn’t.

Factor 2: Your Cost Reality
Migration is frequently justified on cost grounds, and often correctly so. But the math only works if you’re doing it accurately.
The public cloud vs. private cloud cost tipping point analysis OpenMetal published shows that for medium-to-large deployments, the gap between public cloud and managed private cloud can run into the hundreds of thousands of dollars annually. At 500 VMs with 50TB of bandwidth, the difference is over $200,000 per year. At 1,000 VMs, it crosses $500,000.
Those are real numbers, but they assume you’re comparing the right things. The cost calculation that gets companies into trouble is the one that only looks at the monthly infrastructure bill and ignores everything else.
What to include in an honest cost model:
- Your current public cloud bill (compute + storage + egress, especially egress)
- The cost of the destination infrastructure (private cloud, hosted private cloud, or colo)
- Internal labor to plan and execute the migration
- Any tooling costs (migration software, testing environments)
- Management overhead on the other side: who runs the new environment, and at what cost?
- The cost of downtime or service degradation during the move
Egress deserves special attention. It’s often the line item that surprises organizations the most. If you’re transferring significant data volumes out of AWS or Azure each month, you’re likely paying $0.06–$0.09/GB. On private infrastructure, that cost structure looks very different. Run the numbers on your actual egress before building your migration business case.
One more honest note on the management side: running a private cloud isn’t free labor. What we’ve seen at OpenMetal is that well-architected clouds don’t require large dedicated teams, typically one part-time admin for smaller clusters, scaling modestly from there, but this needs to be planned for, not assumed away.

Factor 3: Team Readiness
This is where migration projects quietly fail.
The technical work of moving VMs and data from one environment to another is solvable. The harder problem is what happens after the move: someone has to run the new environment, understand the platform, and respond when something breaks at 2 a.m.
Public cloud abstracts a lot of operational complexity. Your team may be excellent at deploying workloads into AWS or Azure without ever needing to understand what’s underneath. That abstraction goes away in a private cloud environment.
Questions to pressure-test team readiness:
- Does your team have experience with OpenStack, or will there be a learning curve?
- Who owns the new environment day-to-day? Is that person identified?
- Do you have 24/7 coverage capacity, or will you need managed services to fill the gap?
- Has anyone on your team run a migration project of this scale before?
- What’s your incident response plan for the new platform?
None of these questions are disqualifiers. They’re planning inputs. A team without OpenStack experience can get trained. Gaps in coverage can be addressed. The danger is assuming readiness that isn’t there, then running into problems mid-migration.
If your team is light on private cloud operations experience, a hosted private cloud model (where the provider handles the underlying infrastructure) may be a better starting point than jumping directly to self-managed. OpenMetal’s hosted private cloud gives you full root access and control while offloading the hardware and network management layer.

Factor 4: Application Architecture
Some applications migrate cleanly. Others surface surprises.
The cleanest migrations involve workloads that are well-documented, loosely coupled, and don’t have undisclosed dependencies. A VM running a database with known storage requirements and predictable network behavior is a good migration candidate. An application with undocumented service dependencies, hard-coded IP addresses, or external integrations that haven’t been fully mapped is a risk.
Red flags to find before you start:
- Applications with hard-coded cloud provider endpoints (S3 URLs baked into config, for example)
- Services that rely on provider-specific managed features without an obvious equivalent (RDS, Lambda, SQS, etc.)
- Undocumented inter-service dependencies — things that call other things that nobody mapped
- Stateful applications where storage migration adds complexity beyond VM movement
- Services tied to compliance certifications that may need re-validation after a move
A dependency mapping exercise (not just a VM inventory, but a real map of what calls what) is one of the highest-value pre-migration activities you can do. It’s also one of the most frequently skipped. Don’t skip it.
OpenMetal’s guide on solving common private cloud migration challenges covers several of these failure patterns in more detail, including networking issues that catch teams off guard.
Factor 5: Timeline Expectations
Migration projects consistently take longer than initial estimates. Plan accordingly.
The teams that run into trouble are the ones that treat migration as a lift-and-shift task with a tight deadline. The teams that succeed treat it as a phased operational project with checkpoints, rollback plans, and contingency time built in.
Realistic timeline benchmarks:
| Scope | Realistic Timeline |
|---|---|
| Single non-critical workload (pilot) | 2–4 weeks |
| 50–100 VMs, well-documented | 6–10 weeks |
| 500 VMs, mixed workloads | 4–6 months |
| 1,000+ VMs, production-critical | 6–12 months |
These assume you’ve done the dependency mapping work before you start. If you haven’t, add time.
The most effective migration strategy for most organizations is phased: start with a non-critical workload, learn what you don’t know, develop your playbooks, then scale to production. A big-bang migration of everything at once has a poor track record. Even when it succeeds technically, it creates a compressed incident window that puts enormous pressure on teams.
For organizations considering OpenMetal specifically, the workload migration steps for OpenStack and cloud-to-cloud migration guide are practical starting points once you’ve cleared the readiness assessment.
When Migration Doesn’t Make Sense
Here’s the honest summary of when you should stay where you are, at least for now.
Stay in public cloud if:
- Your workloads are genuinely elastic and variable demand is real, not assumed
- You’re below the cost tipping point; at small scale, public cloud’s operational simplicity may still be worth the premium
- Your team has no private infrastructure experience and no path to building it
- You’re dependent on managed services that would require significant rebuilding (ML platforms, advanced analytics engines, etc.)
- You have a major product launch or other high-risk event in the next 6 months. This is not the time to change your infrastructure.
Reconsider the destination if:
- You’re thinking about colocation without managed services, but your team isn’t staffed for it. Todd Robinson’s analysis of colocation vs. hosted private cloud for repatriation is worth reading here. Colocation can look cheaper on paper while creating operational gaps that cost more in practice.
- You’re considering migration primarily because of one bad billing cycle, rather than a structural cost problem
- You haven’t done a dependency audit yet and have no sense of application complexity
The Readiness Summary
If you’ve worked through each factor above, you should have a clearer picture of where your organization stands. Use this as a quick reference:
| Factor | Green Light | Yellow Flag | Stop |
|---|---|---|---|
| Workload profile | Steady-state, consistent utilization | Mixed (some elastic, some steady) | Primarily elastic or variable |
| Cost model | Clear savings after full accounting | Marginal savings, narrow margin | Public cloud is still cheaper at your scale |
| Team readiness | OpenStack or private cloud experience on staff | Learning curve, manageable with training | No capacity to run new environment |
| App architecture | Well-documented, loosely coupled | Some undocumented dependencies | Heavy cloud-native service dependencies |
| Timeline | 6+ months available, phased approach planned | Tight timeline, some flexibility | Hard deadline, no contingency |
Multiple green lights with no red flags: you’re a strong migration candidate. One or two yellow flags with no red flags: proceed with planning, address the gaps. Any red flags: resolve them before you commit.
What Comes Next
A readiness assessment is the beginning of the conversation, not the end. If you’ve worked through this framework and migration looks viable, the next step is building a proper business case, one that includes a real cost model, a scoped workload inventory, and a phased migration plan.
OpenMetal’s cloud exit strategy guide and choosing your cloud migration strategy are good follow-up reads. And if you want to pressure-test your numbers, the Cloud Deployment Calculator gives you a concrete private cloud cost baseline to work from.
Schedule a Consultation
Get a deeper assessment and discuss your unique requirements.
Read More on the OpenMetal Blog



































