Multi-Cloud Strategy: When and How
Baalvion Strategic Brief • June 11, 2026
Strategic Intelligence by Baalvion Engineering
Registry Date: June 11, 2026
8 min read
The question is not 'how many clouds' but 'why'
Multi-cloud has become a checkbox in too many architecture reviews: a thing teams claim to want because single-vendor dependence sounds risky out loud. But running workloads across two or more cloud providers is not a virtue in itself. It is a specific engineering decision with a measurable cost, and like every infrastructure decision it should be justified by a concrete requirement rather than a vague unease about lock-in. At Baalvion, we operate the Baalvion Operating System across 198 markets and 180+ jurisdictions, and that footprint forces the multi-cloud question early. The lesson we keep relearning is that the strategy only earns its keep when a real constraint demands it.
Before committing, name the driver. There are only a handful of legitimate ones, and most teams reaching for multi-cloud cannot point to a single one. Knowing your driver determines the architecture; without it you inherit the overhead of multi-cloud and none of the benefit. For the platform thinking behind these decisions, see how we frame the Baalvion platform and our broader approach to cloud solutions.
Five legitimate drivers for multi-cloud
- Data residency and sovereignty. When a jurisdiction requires data to stay in-country and only one provider has a compliant region there, you have no choice. Operating across 180+ jurisdictions, this is our most common forcing function.
- Regulatory or contractual mandate. Some financial regulators and large enterprise customers explicitly require a credible exit path or a second operational provider. This is a written requirement, not a hypothetical.
- Best-of-breed services. A specific managed service — a particular ML accelerator, a specialised database, a settlement rail integration — exists on one provider and not another, and rewriting it is more expensive than spanning two clouds.
- Acquisition and merger reality. You inherited workloads on a different provider and consolidating them would cost more than operating both for a defined period.
- Concentration-risk limits. A genuine business-continuity requirement to survive a regional or provider-wide outage, where the blast radius justifies running active infrastructure in two places.
Notice what is absent from this list: 'avoiding lock-in' as a standalone goal, and 'negotiating leverage' as the primary justification. Both are real but secondary. Pricing leverage rarely covers the engineering tax of true portability, and lock-in avoidance pursued without a residency or continuity requirement usually produces a lowest-common-denominator architecture that is slower and more expensive than committing well to one provider.
The honest cost of single-cloud
Single-cloud is the correct default for most teams, and it is worth being explicit about why. Committing to one provider lets you use managed services at full depth — provider-native databases, identity, queues, observability, and serverless primitives — without abstracting them behind a portability layer that strips their best features. You get unified billing, one IAM model, one networking topology, one support relationship, and a smaller surface for misconfiguration. Operational expertise compounds rather than fragmenting across two control planes.
The real exposure of single-cloud is concentration risk and pricing power, not technical inferiority. A provider outage takes you down; a provider price change hits your whole bill. Those risks are manageable with multi-region deployment within one provider, reserved-capacity commitments, and an unexercised but documented exit plan. For the majority of workloads, that is a better trade than paying the multi-cloud tax every day to insure against an event that may never come.
Portability is a spectrum, not a switch
The central confusion in multi-cloud planning is treating portability as binary. It is a spectrum, and each rung up costs more. Recognising where you actually need to sit on that spectrum is the difference between a pragmatic strategy and an expensive abstraction project.
- Level 0 — Provider-native. You use managed services directly. Maximum velocity and lowest operational cost, zero portability. Correct for most workloads on a single cloud.
- Level 1 — Portable runtime, native data. Containers on Kubernetes run anywhere, but you still depend on a provider-managed database and object store. Compute is portable; data has gravity. This is the most honest 'multi-cloud' most teams should target.
- Level 2 — Portable platform. Compute, orchestration, networking, and CI/CD are abstracted via Kubernetes, Terraform or OpenTofu, and a service mesh. Data services use open engines (PostgreSQL, Kafka, S3-compatible storage) you can run anywhere. Substantial cost, genuine portability.
- Level 3 — Active-active across providers. The same service runs simultaneously on two clouds behind global traffic management, with replicated state. The highest cost and the only level that survives a full provider outage without intervention.
Most organisations that say 'multi-cloud' need Level 1 and accidentally build toward Level 2 because it feels more complete. The discipline is to choose the lowest level that satisfies your actual driver and refuse to climb further. Our DevOps practice treats this level choice as the first artefact of any cloud engagement.
Data gravity and the egress trap
Compute is cheap to move; data is not. This single fact governs more multi-cloud architectures than any other. Once a large dataset lives in one provider, the compute that uses it wants to be co-located, and moving the data elsewhere incurs egress fees that can dwarf storage and compute costs combined. Cross-cloud chatter between a service on one provider and its database on another is the most common way a multi-cloud bill quietly doubles.
The architectural rule we enforce is simple: keep data and its hot-path compute on the same provider, and let only deliberate, batched, or low-volume traffic cross the boundary. If two clouds must share state, design the replication explicitly — change-data-capture streams, scheduled synchronisation, or an event backbone — and budget the egress as a first-class line item. Never let a synchronous request path span providers by accident. Multi-cloud done well looks like several well-isolated single-cloud deployments stitched together at a few intentional seams, not a mesh of services calling each other across the internet.
The abstraction trade-off: which seams to standardise
Portability comes from standardising on open interfaces, but every abstraction you adopt to gain portability costs you the provider-specific feature underneath it. The skill is choosing which seams to abstract and which to leave native. Abstract the layers where the open standard is genuinely good and the provider-native equivalents are interchangeable; stay native where the managed service is decisively better.
- Worth abstracting: container orchestration (Kubernetes is a real cross-cloud standard), infrastructure provisioning (Terraform/OpenTofu with provider modules), identity federation (OIDC/SAML), and object storage (the S3 API is a de facto standard).
- Usually not worth abstracting: managed relational and analytical databases, serverless functions, native message brokers, and provider observability — the portability layer here typically costs more in lost capability than it returns.
- Decide case by case: networking and load balancing, secrets management, and CI/CD runners, where the right answer depends on how much of your team's expertise already lives on one provider.
Kubernetes deserves a specific caution. It does make your compute portable, but a managed Kubernetes cluster on each provider is not the same as a portable system — your ingress controllers, storage classes, load balancers, and IAM bindings are still provider-specific. The cluster moves; the surrounding plumbing does not, unless you abstract it deliberately. Treat Kubernetes as necessary but not sufficient for portability.
Complexity is the bill you pay forever
The honest accounting of multi-cloud is that its cost is not the engineering project to set it up — it is the permanent operational overhead afterwards. Two IAM models to reason about. Two networking topologies. Two billing systems to reconcile and forecast. Two sets of provider quirks, quotas, and outage modes. Two on-call playbooks. A security posture that must hold across both control planes simultaneously, which is exactly the kind of cross-boundary correctness our governance and compliance work is built to enforce.
This overhead is why we treat multi-cloud as compliance-first infrastructure rather than a convenience. AES-256 encryption, SOC 2 Type II controls, ISO 27001 alignment, and consistent KYC/AML posture must be provably identical on every provider you run, because an auditor and a regulator do not care that one region is 'the secondary'. Every seam between clouds is a place where policy can drift. The teams that succeed with multi-cloud invest in policy-as-code, unified observability, and a single source of truth for configuration before they ever split a workload. The teams that struggle bolt the second cloud on and discover the governance gap during an incident.
A decision framework you can actually use
Reduce the decision to a short, ordered set of questions. Start with single-cloud and only move when a question forces you upward. Do you have a written data-residency, regulatory, or business-continuity requirement that one provider cannot satisfy? If no, stay single-cloud and harden it with multi-region and a documented exit plan. If yes, identify the lowest portability level (1 through 3) that satisfies it. Then confirm you have the operational maturity — policy-as-code, unified observability, and the headcount — to run that level indefinitely, because multi-cloud is a standing commitment, not a migration.
This is the same discipline we apply when unifying disparate systems into one coherent platform, as we did when unifying global trade operations for customers spanning dozens of jurisdictions. The right answer is frequently a deliberately committed single-cloud core with narrowly scoped multi-cloud extensions for the few workloads that genuinely require them — not a sprawling, evenly-distributed two-cloud estate. Multi-cloud is a tool. Used for the right reason, at the right level, it is indispensable. Used as a default, it is one of the most expensive forms of architectural insurance you can buy. If you want a second opinion on where your workloads belong, talk to our engineering team.
Frequently Asked Questions
Is multi-cloud always more resilient than single-cloud?+
No. Resilience comes from how you deploy, not how many providers you use. A well-architected multi-region single-cloud deployment is more resilient than a poorly-coordinated two-cloud setup, and far cheaper to operate. True provider-outage survival requires active-active across clouds (Level 3), which most workloads do not justify.
Doesn't multi-cloud eliminate vendor lock-in?+
Only partially, and at a cost. You can make compute portable with Kubernetes and infrastructure-as-code, but data gravity, managed services, and operational expertise still bind you. Pursuing zero lock-in usually produces a lowest-common-denominator architecture that is slower and more expensive than committing well to one provider with a documented exit plan.
What is the single biggest hidden cost of multi-cloud?+
Data egress and cross-cloud traffic. Moving data between providers, or letting a request path span them synchronously, incurs fees that can quietly double a bill. The architectural fix is to keep data and its hot-path compute on the same provider and let only deliberate, batched traffic cross the boundary.
Does running Kubernetes mean my system is portable?+
Not on its own. Kubernetes makes your containers portable, but ingress controllers, storage classes, load balancers, IAM bindings, and managed data services remain provider-specific. The cluster moves; the surrounding plumbing does not, unless you abstract it deliberately. Treat Kubernetes as necessary but not sufficient for portability.
When should a team choose single-cloud instead?+
Whenever there is no written data-residency, regulatory, or business-continuity requirement that one provider cannot meet. Single-cloud gives you deeper managed services, one IAM and networking model, unified billing, and compounding operational expertise. Harden it with multi-region deployment and a documented exit plan rather than paying the multi-cloud tax daily.
How does Baalvion decide between single- and multi-cloud for a workload?+
We start single-cloud by default and only move up when a concrete driver forces it: data residency across our 180+ jurisdictions, a regulatory mandate, a best-of-breed service, or a genuine concentration-risk limit. We then pick the lowest portability level (1 to 3) that satisfies the driver and confirm we have the policy-as-code and observability maturity to run it indefinitely.