Multi-cloud gets thrown around as a best practice without enough honest discussion of the costs. After architecting multi-cloud data systems at Cork and advising several companies on the decision, here's my pragmatic take.
When multi-cloud makes genuine sense
Regulatory requirements: Some industries and geographies require data residency in specific clouds. If your clients are split between AWS and Azure environments (common in cybersecurity MSP work), a multi-cloud architecture may be necessary.
Avoiding lock-in for critical infrastructure: If your primary compute and your primary data store are both on the same cloud, a regional outage becomes a complete outage. For genuinely critical systems, spreading across clouds provides real resilience.
Following your clients/data sources: At Cork, our telemetry came from Microsoft's ecosystem (Graph API, Azure AD) but our team had deeper GCP expertise. A hybrid approach made sense because that's where the data lived.
When multi-cloud is just complexity
"Vendor lock-in" anxiety without substance: The switching cost between BigQuery and Redshift is real, but it's almost always lower than the ongoing operational complexity of running both. Pick the better tool for your use case.
Cost optimization theater: Running workloads across clouds to get marginal price advantages is almost never worth the networking costs, engineering overhead, and operational complexity.
The hybrid pattern that actually works
The pattern I've seen work well: a primary cloud for compute and orchestration, with a secondary cloud for specific managed services where they're genuinely superior.
At Cork: GCP as primary (Pub/Sub, Dataflow, BigQuery, Cloud Functions) + AWS for specific security tooling that had better native integrations. Clear boundaries, minimal data transfer between clouds, no cross-cloud orchestration dependencies.
The key rule: don't let data freely flow between clouds. Define clear boundaries where data lives and process it there. Cross-cloud data transfer is expensive and introduces latency that compounds.
The decision framework
Ask these questions before committing to multi-cloud:
1. Is it required by your clients, regulations, or data sources?
2. Does a specific service on another cloud genuinely justify the complexity overhead?
3. Do you have the operational maturity to run and debug multi-cloud pipelines?
4. Have you modeled the actual networking costs?
If you can answer yes to 1 or 2 and yes to 3 and 4, multi-cloud might be right. Otherwise, build a great single-cloud architecture first.