AWS vs. Azure vs. GCP: A Platform Engineer's Cold-Blooded Comparison
Most cloud comparisons are written by sales teams or "cloud architects" who focus on feature checklists and pricing tiers. For a Platform Engineer, that's irrelevant. We don't care if a provider has 200+ services; we care about the API consistency, the K8s control plane experience, and the cognitive load of the IAM model.
The Technical Comparison Matrix
When evaluating a cloud provider, you aren't choosing a set of tools—you're choosing the "OS" for your infrastructure. Here is how they actually compare on the vectors that matter to SREs.
| Vector | AWS | Azure | GCP |
|---|---|---|---|
| K8s Experience | EKS: Powerful but manual. Historically high overhead (though Karpenter helps). | AKS: Strong AD integration, but sometimes inconsistent API stability. | GKE: The gold standard. Autopilot and native integration make it the lowest friction. |
| IAM Complexity | High: Granular, powerful, but a nightmare to audit at scale. | Medium: Centered around Entra ID (AD). Great for corporate, clunky for pure cloud. | Low: Project-based hierarchy is intuitive and easier to reason about. |
| API Ergonomics | Inconsistent. Legacy services feel like 2006; newer ones are modern. CLI is a beast. | Heavy. The Azure Resource Manager (ARM) is powerful but often feels slow and verbose. | Clean. GCP's APIs are generally the most consistent and developer-friendly. |
| Lock-in Surface | High. Once you use DynamoDB and Lambda, moving is a total rewrite. | Medium. Strong tie-in to the Microsoft ecosystem (O365, AD). | Medium. BigQuery is a huge "gravity well" that makes leaving hard. |
Deep Dive: The Managed K8s Battle (EKS vs AKS vs GKE)
For platform engineers, the managed Kubernetes service is the "center of gravity." This is where the real operational difference lies.
GKE (The Gold Standard)
GCP basically invented the modern K8s experience. GKE Autopilot is the first real attempt to make K8s "serverless" by managing the nodes for you. The integration with Google's network is seamless, and the upgrade process is the most reliable in the industry.
EKS (The Industrial Powerhouse)
EKS is the most flexible, but it forces you to do more of the heavy lifting. For years, managing node groups was a pain until Karpenter (developed by AWS) changed the game. Karpenter allows for just-in-time node provisioning based on pod requirements, making EKS competitive with GKE's efficiency.
AKS (The Enterprise Bridge)
AKS is the best choice for organizations already deep in the Microsoft ecosystem. The integration with Azure Active Directory (Entra ID) is a massive win for security teams. However, AKS has historically struggled with "strange" outages and API inconsistencies that can break CI/CD pipelines.
The "Exit Strategy" Analysis
The most important question for a platform lead is: \"How hard is it to leave?\"
The lock-in isn't the VM; it's the Proprietary Data Plane. If you use AWS S3, you can move to any S3-compatible storage. If you use AWS DynamoDB, you are locked into a proprietary API. The same applies to GCP's BigQuery and Azure's CosmosDB.
The Platform Monkey Strategy: To maintain sovereignty, use a "Cloud-Agnostic" abstraction layer. Use Crossplane to define your resources and Kubernetes as your universal control plane. By defining a XDatabase resource rather than an RDSInstance, you make the cloud provider an implementation detail rather than a permanent anchor.
Final Verdict
- Choose GCP if: You want the best K8s experience and the lowest operational overhead. GKE is simply better.
- Choose AWS if: You need the most mature ecosystem, the widest range of instance types, and the absolute industry standard for scale.
- Choose Azure if: Your organization is a "Microsoft Shop" and you need seamless integration with Active Directory and Office 365.