In this article

What makes a workload portable, a practical sorting of common workloads from easiest to hardest to move, the hidden dependencies that slow a move down, and why portable workloads are usually the best place to start when you’re changing providers.


When teams think about leaving a cloud provider, they often picture a giant migration: every application, every database, every dependency, all at once. That’s rarely how it goes, and it’s rarely how it should go. Some workloads can move between providers in days because they’re built on standard pieces that run the same way anywhere. Others are tangled up with one provider’s proprietary services and would take months to untangle. Knowing which is which is the first step in any move.

Here’s a version of a situation we’ve seen. A team runs hundreds of virtual machines, all built from standard images and managed by provisioning automation the team wrote themselves. The automation works fine. The problem is the provider underneath it: unreliable, and a poor match for how the team’s tooling expects infrastructure to behave. Because the VMs are standard and the automation is theirs, moving to a different provider isn’t a rewrite. It’s pointing the same automation at a new API.

That’s what a portable workload looks like. The rest of this article covers how to spot one in your own environment.

What Makes a Workload Portable

A workload is portable when the things it depends on exist, in a compatible form, on the provider you might move to. In practice, that comes down to a few traits.

It Runs on Standard Compute

VMs built from standard Linux images, or containers built from standard base images, run the same way on any provider that offers VMs or Kubernetes. Nothing about the workload is tied to one provider’s hardware or hypervisor.

It Uses Open or Widely Supported Interfaces

Workloads that store data in open-source databases like PostgreSQL or MySQL, use object storage through the S3 API, or run on Kubernetes rely on interfaces that many providers support. Moving them means connecting to the same kind of service in a new place.

It’s Defined in Code You Own

If your infrastructure is described in Terraform, Ansible, or your own provisioning scripts, you can recreate it somewhere else by changing the target. If it was built by hand in a provider’s console, someone has to rebuild it by hand.

Its State Is Contained

Stateless services, or services whose state lives in one well-defined place like a database or a bucket, are easier to move than services with state scattered across disks, caches, and managed services.

From Easiest to Hardest: How Common Workloads Sort Out

Usually Easy to Move

  • Stateless web and API tiers in containers. Build the same images, deploy them to a new cluster, and shift traffic.
  • VM fleets built by automation. If your own tooling builds and configures the VMs, point it at a new provider’s API.
  • CI/CD runners and build agents. They’re stateless by design and often start fresh for every job.
  • Batch and queue workers. They pull work, process it, and write results somewhere else. Move them, then point them at their inputs.
  • Development and test environments. They’re rebuilt often anyway, and they’re a low-risk place to learn a new platform.

Moderate Effort

  • Databases on open-source engines. PostgreSQL and MySQL run anywhere, but moving the data takes planning: replication, a sync window, and a cutover.
  • Object storage behind the S3 API. The interface carries over. The data has to be copied, and large datasets take time.
  • Kubernetes workloads with persistent volumes. The workloads move easily. The volumes need a data migration plan.
  • Services tied to fixed IP addresses or DNS. They move fine, as long as you plan the address and DNS changes ahead of time.

Hard to Move

  • Serverless functions wired together with managed event services. The code may be portable, but the triggers, permissions, and glue usually aren’t.
  • Applications built on proprietary databases. Data in a provider-specific database often needs a new data model, not just a copy.
  • Workloads deeply tied to managed AI or analytics services. Replacing them means choosing and integrating an alternative.
  • Anything with heavy provider-specific identity and permissions logic. Access rules written for one provider’s identity system have to be rebuilt.

None of this means the hard workloads can never move. It means they cost more to move, and that cost belongs in the decision.

The Hidden Dependencies That Slow a Move Down

Even portable workloads can stall on details nobody wrote down. Before you plan a move, look for:

  • Hardcoded endpoints. Service URLs, storage endpoints, and region names baked into code or configuration
  • Provider-specific SDK calls. One call to a proprietary service in an otherwise portable app ties the app to that provider
  • Data gravity. Large datasets that other systems read constantly. Moving the compute without the data can create expensive cross-provider traffic
  • Secrets and credentials. Keys and tokens stored in a provider’s secrets manager
  • Monitoring and logging. Dashboards and alerts built on a provider’s native monitoring tools
  • Network assumptions. Security rules, private addressing, and VPN connections that need to be recreated

A short inventory of these for each workload usually takes a day and saves weeks.

How to Score Your Own Workloads

A quick way to rank your workloads by portability is to answer five questions for each one, giving one point for every “yes”:

  1. Does it run on VMs or containers built from standard images?
  2. Does it store data only in open-source databases or S3-compatible object storage?
  3. Is its infrastructure defined in code your team owns?
  4. Does it avoid calling proprietary managed services directly?
  5. Is its data small enough, or isolated enough, to move in a planned window?

Workloads scoring four or five are your first candidates. Workloads scoring two or three need some preparation, usually replacing one proprietary dependency or planning a data migration. Workloads scoring zero or one are better left in place for now, or treated as longer-term projects.

Run the scoring with the engineers who own each workload, not just the infrastructure team. The owners know which “standard” service quietly depends on a provider-specific feature. Keep the scores in a shared sheet, and revisit them as workloads change. A workload that scores low today can become portable after a refactor.

Why Portable Workloads Are the Right Place to Start

If you’re changing providers, start with the workloads that move easily:

  • They deliver savings sooner. A workload that moves in a week starts saving money in a week.
  • They build confidence. Your team learns the new platform on low-risk workloads before tackling critical ones.
  • They keep options open. Workloads that stay portable can move again later, wherever cost and performance fit best.

A first workload that runs well also makes the next move easier to justify. It proves the platform with your own workload, and bigger moves can follow from there.

Where OpenMetal Fits

OpenMetal is built on standard, widely used interfaces, which is what makes it a natural destination for portable workloads:

  • OpenStack APIs for VMs, networks, and storage, so existing OpenStack tooling, Terraform providers, and automation work with it
  • Kubernetes running on dedicated hardware
  • Ceph object storage reachable through S3-compatible and Swift APIs
  • Bare metal provisioned through the OpenMetal Central API for workloads that need full servers

Moving a portable workload to OpenMetal still means moving it to a new vendor, and you should plan for that like any provider change. But because the interfaces are standard, the skills and code your team already has carry over.

To see how fixed monthly pricing changes the math once a workload moves, our guide to calculating cost per VM and cost per customer on fixed-cost infrastructure walks through it. If part of your workload needs dedicated servers and part runs well in VMs, running bare metal and a private cloud on one private network shows how the two connect.

How a Move Works With OpenMetal

For a portable workload, a move to OpenMetal usually follows the same shape:

  • We plan ahead. We scope the environment with you, plan capacity for the workloads you’re moving, and source and stage the hardware against your go-live date.
  • You decide. You choose which workloads move first, the hardware configuration and location, and how you’ll cut over.
  • We hand over. You get a running environment, admin access, and a private Slack channel with our engineers. For migrations, ramp pricing and running old and new environments in parallel during cutover are available.

Not sure which of your workloads are portable? Our article on which workloads should stay in public cloud covers the other side of the decision.

Who This Is For

This is most useful if you:

  • Are unhappy with your current provider and want to know what could move quickly
  • Run VMs or containers built from standard images and managed by your own automation
  • Want to lower cloud costs without a large, risky migration
  • Are planning a phased move and need to know where to start

It’s less useful if you:

  • Run mainly serverless or proprietary managed services
  • Have already decided to keep everything with your current provider
  • Are planning a full data center move with fixed hardware and licensing constraints

The Short Version

The workloads that move easily are the ones built on standard pieces: standard images, containers, open-source databases, S3-compatible storage, and infrastructure defined in code you own. Start there, and the rest of the move gets easier.

If you want to see how your portable workloads would run on dedicated infrastructure, apply for a proof of concept or talk with our team.

Frequently Asked Questions

What makes a workload portable between cloud providers?

A portable workload runs on standard compute like VMs or containers, uses widely supported interfaces such as open-source databases and the S3 API, is defined in code you own, and keeps its state in a well-defined place.

Which workloads are easiest to move?

Stateless web and API tiers in containers, VM fleets built by your own automation, CI/CD runners, batch workers, and development and test environments.

Which workloads are hardest to move?

Serverless applications wired together with managed services, applications built on proprietary databases, workloads tied to managed AI or analytics services, and anything built around one provider’s identity and permissions system.

Why start a migration with portable workloads?

They move quickly, start saving money sooner, let your team learn the new platform on low-risk workloads, and stay portable for future moves.

Can I use my existing automation with OpenMetal?

Usually, yes. OpenMetal private clouds expose standard OpenStack APIs, and bare metal is provisioned through the OpenMetal Central API, so tools like Terraform and Ansible and your own scripts can target it.

Will my workloads stay portable on OpenMetal?

Moving to any provider means planning for that provider. Because OpenMetal uses standard interfaces like OpenStack, Kubernetes, and S3-compatible storage, workloads built on them stay portable.


Chat With Our Team

We’re available to answer questions and provide information.

Reach Out

Schedule a Consultation

Get a deeper assessment and discuss your unique requirements.

Schedule Consultation

Try It Out

Take a peek under the hood of our cloud platform or launch a trial.

Trial Options

 

 

 Read More on the OpenMetal Blog

Which Workloads Move Easily Between Cloud Providers

Oct 27, 2026

Workloads built on standard interfaces, like VMs from standard images, containers, open-source databases, and S3-compatible storage, move between providers with little rework. This sorts common workloads by how easily they move and what tends to slow them down.

What OpenMetal Manages and What You Manage on a Hosted Private Cloud

Oct 26, 2026

On an OpenMetal hosted private cloud, we run the hardware, the data center network, and the platform underneath your cloud, while you control everything inside it. This lays out the split layer by layer and how Assisted Management shifts it.

Which Workloads Should Stay in Public Cloud?

Oct 23, 2026

Moving off public cloud works best one workload at a time, and some workloads are better left where they are. This covers the patterns that favor staying, the patterns that favor moving, and how to evaluate a workload that could go either way.

How to Run Bare Metal and a Private Cloud on One Private Network

Oct 21, 2026

OpenMetal bare metal servers and Hosted Private Cloud VMs can share the same customer-dedicated VLAN, with unmetered private traffic between them. This covers how it works, a step-by-step setup in Central, addressing and security, and common patterns.

How to Calculate Cost Per VM and Cost Per Customer on Fixed-Cost Infrastructure

Oct 16, 2026

Fixed monthly pricing changes how unit costs work. This walks through calculating usable capacity, cost per VM at your real fill rate, and cost per customer, plus how to handle idle capacity and the step up when you add hardware.

What Hybrid Cloud Networking Actually Costs

Oct 14, 2026

In a hybrid setup, every byte between AWS and your private cloud is billed on one side or the other, depending on direction. This explains where those charges come from, a simple way to estimate them, and design patterns that keep them small.

What Happens When You Add a Node to a Private Cloud Core v4

Oct 12, 2026

Adding a node to a Private Cloud Core v4 uses the same automation that built the cloud. This walks through each step from order to usable capacity, what changes for Ceph and security, and what to plan before you grow.

What the Private Cloud Core v4 Host Firewall Blocks by Default

Oct 09, 2026

Every Private Cloud Core v4 node ships with a host-level firewall that denies inbound traffic on its external interface by default. This explains what’s open, what’s trusted, how to grant access in Central or through the API, and how it differs from security groups.

Choosing Between OVN and OVS Before Your Private Cloud Deploys

Oct 07, 2026

New Private Cloud Core v4 clouds use OVN for OpenStack networking by default. The choice between OVN and OVS is made once, before deployment, and decides which load balancer features you get. This covers the tradeoffs and how to choose.

How to Run the Same OpenStack Tests We Used to Validate Private Cloud Core v4

Oct 06, 2026

We validated Private Cloud Core v4 with OpenStack’s Tempest suite and published the run guide, configuration, and exclusion list. This walks through running it on your own cloud, reading the results, and understanding why each exclusion exists.