Multi-cloud is not a strategy, it is a consequence
Nobody wakes up and decides to be multi-cloud. It happens. An acquisition brings AWS workloads into an Azure-first organisation. A vendor only supports GCP. A cost optimisation exercise reveals that OCI is significantly cheaper for compute-heavy jobs.
The question is not whether you will end up multi-cloud. The question is whether you will manage it intentionally or let it manage you.
The abstraction trap
The instinct is to abstract away the differences. Build a platform layer that makes all clouds look the same. In theory this is elegant. In practice it means you use the lowest common denominator of every cloud and the unique strengths of none.
What works instead
Embrace the differences. Use each cloud for what it does best. Standardise on the operational layer — observability, security posture, IaC tooling, CI/CD — while allowing workloads to be cloud-native where it matters. Terraform with provider-specific modules. Unified monitoring with Datadog or Grafana. Consistent RBAC policies expressed differently per cloud.