Library · Cloud

AWS vs Azure vs OCI vs GCP - an honest matrix.

By Mokshify Engineering · Reviewed by the team · Updated 17 Jul 2026 · 6 min read

The problem

Cloud comparisons are usually written by whoever profits from the answer. We deploy to all four (portably, via Terraform), so our only stake is this: the architecture matters more than the logo, and the logo should be chosen for reasons you can write down.

What actually differs

What does not differ (much)

For the platform we ship - containers, managed PostgreSQL, Redis, object storage, a load balancer (the reference diagram) - all four are excellent. This is the quiet argument for boring architecture: it makes the cloud decision reversible, which converts a bet into a preference.

The decision procedure we run

  1. Team gravity. Existing skills and identity systems outweigh feature checklists - the cloud your team can operate at 2am wins.
  2. Region and data residency. Where must data live; where are your users; what latency is acceptable.
  3. Priced workload, not list prices. Model YOUR shape (compute hours, storage, egress) on each - egress especially punishes assumptions; this is where OCI surprises people.
  4. Managed-service fit. The two or three services you will lean on hardest - compare those, ignore the other two hundred.
  5. Write it down. The choice becomes an ADR with a revisit condition, like every decision we keep.

Tradeoffs of multi-cloud itself

Portability-by-design (our approach): Terraform + containers + managed Postgres keeps the exit real at near-zero daily cost. Active multi-cloud (same workload on two clouds): double the operational surface for redundancy few products need - we recommend it rarely and say so.


Related: Cloud Engineering · Migration checklist · Observability · Terraform ADR