Skip to content
Cloud

Day 42: One Platform. Any Cloud. Zero Friction.

Multi-cloud isn't about using many clouds for its own sake. It's about giving developers freedom of choice while the platform keeps consistency — a genuinely harder version of everything this series has already covered.

Thamunkpillai 4 min read

Everything this series has built up — golden paths, guardrails, platform APIs, policy as code — has implicitly assumed one cloud underneath. Multi-cloud platform engineering is what happens when that assumption breaks: the organization has genuine reasons to run on AWS, Azure, and GCP simultaneously — vendor lock-in avoidance, best-of-breed services, cost and performance optimization, resilience, data sovereignty — and the platform has to deliver the identical experience regardless of which cloud a given workload actually lands on.

Note

"Multi-cloud is not about using many clouds. It's about giving developers freedom of choice with platform consistency." That distinction matters because the naive version of multi-cloud — every team picks whatever cloud they like, independently — just multiplies the "ten teams solving the same problem differently" failure mode from Day 20 by however many clouds are in play.

The architecture that makes consistency possible

Text
AWS (EKS, S3, RDS) | Azure (AKS, Blob, SQL DB) | GCP (GKE, Cloud Storage, Cloud SQL)
                              ↓
        PLATFORM CONTROL PLANE (cloud-agnostic)
  Unified API Gateway · Identity & Access (OIDC/IAM) · Policy as Code
  (OPA/Kyverno) · Observability (Datadog/Prometheus) · Cost Management
  (FinOps) · Service Catalog & Portal
                              ↓
        WORKLOADS / APPLICATIONS
  Web App · Mobile API · Data Pipeline · ML/AI Service · Event Processor

The control plane in the middle is the entire answer to "how do you keep this consistent." It's the same platform API layer from Day 31 and the same policy-as-code enforcement from Day 41, just abstracted one level higher so it can target three different clouds' native services underneath instead of one. A developer calling the unified API gateway shouldn't need to know or care whether their request provisions an EKS pod or a GKE pod — that's a control-plane concern, not a developer-facing one.

What breaks without a control plane, and what it takes to avoid it

Common challengeBest practice that addresses it
Inconsistent IAM and access policiesFederated identity — OIDC and SSO, one identity model everywhere
Complex networking and connectivityNetworking abstraction (service mesh, Crossplane-style abstractions)
Cross-cloud monitoring complexityCentralized observability, one pane of glass across all three clouds
Data transfer costsFinOps and cost governance applied specifically to cross-cloud transfer
Tool sprawl and integration overheadStandardized landing zones and golden paths, per cloud, kept in sync
Keeping policies truly consistentPolicy as code (Day 41), enforced identically regardless of target cloud

Every row on the right is a capability this series has already introduced for a single cloud. Multi-cloud doesn't invent new concepts — it takes federated identity, policy as code, and centralized observability and insists they actually hold across cloud boundaries, which is a materially harder engineering problem than making them hold within one AWS account.

Real reasons organizations actually do this

  • Financial services — resilience and regulatory compliance across regions and providers, not a single point of failure with one vendor.
  • E-commerce — best-of-breed services and cost optimization, picking whichever cloud's offering is genuinely better for a given workload.
  • Healthcare — data sovereignty and high availability requirements that a single cloud's regions can't satisfy alone.
  • Gaming — global scale and low latency, placing compute closer to players regardless of which cloud has presence there.

None of these are "multi-cloud because it sounds impressive on an architecture diagram" — each is a specific constraint that a single-cloud approach genuinely can't satisfy.

The principles, in priority order

Consistency over diversity. Portability over lock-in. Automation over manual work. Observability over assumptions. Value delivery over complexity for its own sake. That ordering matters — multi-cloud done for its own sake, without a clear value being delivered, is pure complexity tax with nothing to show for it.

Why this is deliberately placed after everything else in this series

Multi-cloud platform engineering is one of the hardest capabilities in this entire fifty-day arc precisely because it's not a new discipline — it's every discipline covered so far (IaC, GitOps, policy as code, observability, FinOps), held to a stricter bar of abstraction so it survives contact with more than one cloud's specific quirks. Organizations that attempt multi-cloud before they've solidified those single-cloud practices tend to multiply their problems by the number of clouds instead of dividing their risk. Tomorrow's article covers the layer that makes any of this trustworthy at all: secrets and identity at platform scale, the foundation every other guardrail in this stack ultimately depends on.

Written by Thamunkpillai · Have a question or a correction? Reach out via email.

Get the useful stuff, not the noise.

Occasional notes on engineering, Platform Engineering, AI, cloud and things I’m learning along the way.

No spam. Unsubscribe anytime.