Amazon Web Services, Microsoft Azure, and Google Cloud Platform (GCP) together control roughly 65% of the global cloud market. AWS launched in 2006 and still leads; Azure dominates enterprise Microsoft shops; GCP is the data and AI powerhouse. This guide covers every major dimension to help you choose the right cloud — or understand why your team already uses the one it does.
At a glance
| AWS | Azure | GCP | |
|---|---|---|---|
| Founded | 2006 | 2010 | 2011 |
| Market share (2025) | ~31% | ~25% | ~11% |
| Regions | 34 geographic regions | 60+ regions | 42 regions |
| Availability Zones | 108 AZs | 200+ AZs | 127 zones |
| Services count | 200+ | 200+ | 150+ |
| Free tier | 12 months + always-free | 12 months + always-free | $300 credit + always-free |
| Strengths | Breadth, maturity, ecosystem | Enterprise, Microsoft stack, hybrid | Data, ML/AI, Kubernetes, networking |
| Pricing model | On-demand, Reserved, Spot | Pay-as-you-go, Reserved, Spot | On-demand, Committed use, Spot |
| Default VM pricing (4 vCPU / 16 GB) | ~$0.192/hr (m7i.xlarge) | ~$0.192/hr (D4s_v5) | ~$0.190/hr (n2-standard-4) |
| Certifications | 12+ paths | 12+ paths | 11+ paths |
Market share and momentum
Synergy Research Group Q1 2025 figures:
| Provider | Market Share | YoY Growth |
|---|---|---|
| AWS | ~31% | ~17% |
| Azure | ~25% | ~21% |
| GCP | ~11% | ~28% |
| Others | ~33% | varies |
AWS has the largest absolute revenue (~$100B annualised run rate) but Azure is growing faster in enterprise and GCP is growing fastest of the three. GCP has leaned heavily into AI/ML workloads and Kubernetes since Google invented both MapReduce and Kubernetes.
Compute services
| Capability | AWS | Azure | GCP |
|---|---|---|---|
| VMs | EC2 | Virtual Machines | Compute Engine |
| Managed containers | ECS / EKS | AKS | GKE |
| Serverless functions | Lambda | Azure Functions | Cloud Functions / Cloud Run |
| Container platform (managed) | App Runner | Container Apps | Cloud Run |
| Batch compute | AWS Batch | Azure Batch | Cloud Batch |
| Spot / preemptible VMs | Spot Instances | Spot VMs | Spot VMs (preemptible) |
| Bare metal | EC2 dedicated hosts | Azure Bare Metal | Bare Metal Solution |
AWS EC2 has the widest instance variety: 750+ instance types across 40 families. If you need a very specific CPU/GPU/memory combination, EC2 probably has it.
Azure Virtual Machines shine for organisations already running Windows Server or SQL Server — Microsoft licensing benefits (Azure Hybrid Benefit) can cut costs 40–85% on Windows workloads.
GCP Compute Engine uniquely allows custom machine types (any combination of vCPU + memory within limits), so you pay for exactly what you need. GKE is widely considered the most mature managed Kubernetes offering; Google invented Kubernetes and contributes most upstream patches.
Storage services
| Service type | AWS | Azure | GCP |
|---|---|---|---|
| Object storage | S3 | Blob Storage | Cloud Storage |
| Block storage | EBS | Managed Disks | Persistent Disk / Hyperdisk |
| File storage | EFS (NFS) / FSx | Azure Files | Filestore |
| Archive storage | S3 Glacier | Azure Archive | Cloud Storage Archive |
| Transfer service | DataSync | Data Box | Transfer Service / Storage Transfer |
S3 is the de-facto standard for object storage — its API is so universal that MinIO, Backblaze B2, and many other services emulate it. AWS also has the richest set of S3 features (Intelligent-Tiering, Glacier Instant Retrieval, S3 Object Lambda, Multi-Region Access Points).
Azure Blob Storage has tight integration with Azure Data Lake Storage Gen2 (ADLS Gen2) for analytics workloads and supports hierarchical namespaces efficiently.
GCP Cloud Storage is the most straightforward pricing-wise — no charges for egress to internet for the first 1 TB/month, and free egress within the same region to most GCP services.
Database services
| Database type | AWS | Azure | GCP |
|---|---|---|---|
| Managed PostgreSQL | RDS for PostgreSQL / Aurora | Azure Database for PostgreSQL | Cloud SQL for PostgreSQL / AlloyDB |
| Managed MySQL | RDS for MySQL / Aurora | Azure Database for MySQL | Cloud SQL for MySQL |
| Managed SQL Server | RDS for SQL Server | SQL Database (PaaS) | Cloud SQL for SQL Server |
| Managed NoSQL (document) | DynamoDB | Cosmos DB | Firestore / Datastore |
| In-memory cache | ElastiCache (Redis/Memcached) | Azure Cache for Redis | Memorystore |
| Data warehouse | Redshift | Azure Synapse Analytics | BigQuery |
| Time-series | Timestream | InfluxDB via Marketplace | Cloud Bigtable |
| Graph | Neptune | Cosmos DB (Gremlin API) | — |
| Multi-model / global | DynamoDB Global Tables | Cosmos DB | Spanner |
BigQuery is GCP's headline differentiator in databases. It's serverless, charges per query (first 1 TB/month free), and can scan terabytes in seconds with no index management. Data science and analytics teams often choose GCP for BigQuery alone.
Cosmos DB (Azure) is a fully managed globally-distributed, multi-model database (SQL/MongoDB/Cassandra/Gremlin/Table APIs). If your team needs multiple data models under one service with 99.999% SLA, Cosmos DB is compelling.
Aurora (AWS) is a MySQL/PostgreSQL-compatible database with up to 5× better performance than standard MySQL at ~10% of commercial Oracle licensing costs. Aurora Serverless v2 scales in increments of 0.5 ACUs (Aurora Capacity Units) with no cold-start.
Networking services
| Service | AWS | Azure | GCP |
|---|---|---|---|
| Virtual private network | VPC | Virtual Network (VNet) | VPC |
| Load balancer (L4/L7) | ALB / NLB / GWLB | Application Gateway / Azure LB | Cloud Load Balancing |
| CDN | CloudFront | Azure CDN / Front Door | Cloud CDN |
| DNS | Route 53 | Azure DNS | Cloud DNS |
| Private connectivity (ISP) | Direct Connect | ExpressRoute | Cloud Interconnect |
| Service mesh / API gateway | API Gateway / App Mesh | API Management / Service Fabric | Apigee / Cloud Service Mesh |
| Global anycast network | AWS Global Accelerator | Azure Global Network | Google's private backbone |
GCP has a unique advantage here: Google's private undersea fibre backbone connects all regions. Traffic between GCP regions travels over Google's own network, not the public internet. This means lower latency and higher throughput for multi-region applications. Google's Premium Tier network is consistently ranked fastest by ThousandEyes and other independent benchmarks.
AI / ML services
This is where GCP differentiates most clearly in 2025.
| Capability | AWS | Azure | GCP |
|---|---|---|---|
| Foundation model hosting | Bedrock | Azure AI / Azure OpenAI | Vertex AI Model Garden |
| Managed ML platform | SageMaker | Azure Machine Learning | Vertex AI |
| GPT / OpenAI models | via Bedrock (3rd party) | Azure OpenAI Service (exclusive) | Gemini models (native) |
| Computer vision | Rekognition | Computer Vision | Vision AI |
| Speech | Transcribe / Polly | Speech Service | Speech-to-Text / Text-to-Speech |
| NLP | Comprehend | Language Service | Natural Language AI |
| Custom GPU training | SageMaker + P4/P5 instances | NDv4/NDv5 (A100/H100) | TPU v4/v5 + A100/H100 |
| ML feature store | SageMaker Feature Store | Azure ML Feature Store | Vertex AI Feature Store |
Azure has an exclusive commercial partnership with OpenAI, meaning Azure OpenAI Service gives enterprise customers GPT-4o, o1, and DALL-E with data residency, private endpoints, and compliance guarantees not available on api.openai.com.
GCP offers Tensor Processing Units (TPUs) — custom ASICs designed specifically for neural network training. TPU v5p pods (8960 chips interconnected) are the fastest ML training infrastructure commercially available for PyTorch and JAX workloads.
AWS SageMaker is the most mature end-to-end ML platform (data labelling → feature engineering → training → deployment → monitoring), with tight integration to the broader AWS data ecosystem (Glue, EMR, Redshift).
Pricing comparison
Cloud pricing is notoriously complex. Here are representative monthly costs for a common web app stack (small scale):
| Component | AWS (us-east-1) | Azure (East US) | GCP (us-central1) |
|---|---|---|---|
| 2× t3.medium (2vCPU/4GB, on-demand) | $60/mo | $70/mo | $56/mo |
| Managed PostgreSQL (db.t3.medium, 100 GB) | $66/mo | $74/mo | $65/mo |
| Object storage (1 TB, 10M GETs) | $28/mo | $26/mo | $23/mo |
| Outbound data transfer (1 TB) | $90/mo | $87/mo | $85/mo |
| Managed Kubernetes (control plane) | $73/mo | Free | Free |
| CDN (10 TB transfer) | $850/mo | $830/mo | $800/mo |
| Approximate total | ~$1,167/mo | ~$1,087/mo | ~$1,029/mo |
Prices are approximate, change frequently, and vary by commitment level. Use each provider's calculator for actual quotes.
Cost-saving strategies per provider:
| Strategy | AWS | Azure | GCP |
|---|---|---|---|
| Long-term discounts | Reserved Instances (1yr = ~40%, 3yr = ~60%) | Reserved VMs (~40-70%) | Committed Use Discounts (1yr=~37%, 3yr=~55%) |
| Automatic sustained-use | ❌ | ❌ | ✅ (automatic up to 30% after 25% monthly use) |
| Spot / preemptible | Spot (up to 90% off) | Spot (up to 90% off) | Spot (up to 91% off) |
| Free egress | Limited | Limited | 200 GB/mo free to internet |
GCP's sustained-use discounts are automatic — if you run a VM for more than 25% of a month, GCP applies incremental discounts with no commitment required.
Developer experience
| Dimension | AWS | Azure | GCP |
|---|---|---|---|
| CLI quality | aws CLI (mature, verbose) |
az CLI (good, PowerShell-first history) |
gcloud CLI (clean, opinionated) |
| IaC support | CloudFormation, CDK, Terraform | ARM templates, Bicep, Terraform | Deployment Manager, Config Connector, Terraform |
| Console UX | Functional but busy | Improving, Azure Portal is polished | Clean, minimalist |
| SDK quality | Excellent (all languages) | Excellent (.NET first, then others) | Good (Go/Python/Java strongest) |
| Local emulation | LocalStack (3rd party) | Azurite | Cloud Functions emulator, Spanner emulator |
| GitHub integration | CodePipeline / CodeBuild | Azure DevOps / GitHub Actions (native) | Cloud Build |
Compliance and certifications
| Standard | AWS | Azure | GCP |
|---|---|---|---|
| SOC 2 Type II | ✅ | ✅ | ✅ |
| ISO 27001 | ✅ | ✅ | ✅ |
| HIPAA | ✅ | ✅ | ✅ |
| PCI DSS Level 1 | ✅ | ✅ | ✅ |
| FedRAMP High | ✅ | ✅ | ✅ |
| GDPR | ✅ | ✅ | ✅ |
| DoD IL2/IL4/IL5 | ✅ | ✅ | ✅ |
All three major clouds have comparable compliance coverage for most industries. Azure has historically been strongest for US federal/DoD workloads (GovCloud and Secret regions), though AWS and GCP have caught up considerably.
Professional certifications
| Level | AWS | Azure | GCP |
|---|---|---|---|
| Foundational | Cloud Practitioner | AZ-900 Fundamentals | Cloud Digital Leader |
| Associate | Solutions Architect / Developer / SysOps | AZ-104 Administrator / AZ-204 Developer | Associate Cloud Engineer |
| Professional | Solutions Architect Pro / DevOps Pro | AZ-305 Architect / AZ-400 DevOps | Professional Cloud Architect / DevOps Engineer |
| Specialty | 6 specialty paths (ML, Security, Database…) | Specialty (AI-102, SC-300, DP-203…) | 5 specialty paths (ML, Data, Security…) |
AWS certifications are the most recognised on the job market — many enterprise RFPs and government contracts require AWS-certified staff. The Solutions Architect Associate (SAA-C03) is one of the most-taken IT certifications globally.
Azure certifications are highly valued in enterprises running Microsoft stacks (Office 365, Active Directory, SQL Server). The AZ-104 and AZ-305 are strong career paths for Windows/enterprise IT.
GCP certifications are growing in demand, especially Professional Cloud Architect and Professional Data Engineer, as more organisations adopt BigQuery and Vertex AI.
When to choose each cloud
Choose AWS if:
- You need the broadest service catalogue and mature ecosystem
- Your team has no prior cloud experience — AWS documentation and community are largest
- You're building a startup and want the most VC-backed ecosystem (AWS credits, Activate programme)
- You need specific AWS-only services (Bedrock, SageMaker, Aurora, Step Functions)
- You want the most serverless options (Lambda, Fargate, Aurora Serverless, DynamoDB)
- Your customers or contracts require AWS (common in media, fintech, SaaS)
Choose Azure if:
- Your organisation is Microsoft-heavy (Office 365, Active Directory, SQL Server, .NET)
- You need hybrid cloud with on-premises Windows Server via Azure Arc
- You want Azure OpenAI (exclusive access to OpenAI models with enterprise SLAs)
- Your company has an existing Microsoft Enterprise Agreement (EAs often include Azure credits)
- You're in the public sector / defence and need FedRAMP High or IL5 quickly
- Your developers use Visual Studio, GitHub, or Azure DevOps
Choose GCP if:
- Data analytics is core — BigQuery is unrivalled for ad-hoc petabyte-scale SQL
- You're running Kubernetes at scale — GKE is the most mature managed K8s offering
- You need ML training on TPUs (cheapest cost-per-FLOP for JAX/PyTorch)
- Network performance matters — Google's private backbone offers lowest global latency
- Your team uses Google Workspace and wants unified identity
- You're doing geospatial or maps work — Google Maps / Earth Engine integration is native
- Cost sensitivity: GCP often wins on compute + storage pricing, especially with sustained-use discounts
Multi-cloud strategy
Many large enterprises use two or three clouds deliberately:
| Reason | Example |
|---|---|
| Avoid vendor lock-in | Primary on AWS, DR on GCP |
| Best-of-breed | AWS + BigQuery for analytics |
| Regulatory / data residency | One cloud per region/country |
| Acquisition integration | Two companies with different cloud stacks |
| Negotiating leverage | Threaten to move to get discounts |
Drawbacks of multi-cloud: higher operational complexity, harder to use managed services deeply, data egress costs between clouds (~$87–90/TB), and duplicate expertise required. Most smaller organisations are better served by going deep on one cloud before diversifying.
Full comparison table
| Feature | AWS | Azure | GCP |
|---|---|---|---|
| Market share | ~31% | ~25% | ~11% |
| YoY growth | ~17% | ~21% | ~28% |
| Regions | 34 | 60+ | 42 |
| VM types | 750+ | 800+ | 300+ (+ custom) |
| Managed Kubernetes | EKS | AKS | GKE ⭐ |
| Serverless | Lambda ⭐ | Azure Functions | Cloud Run |
| Object storage | S3 ⭐ | Blob Storage | Cloud Storage |
| NoSQL | DynamoDB | Cosmos DB ⭐ | Firestore |
| Data warehouse | Redshift | Synapse | BigQuery ⭐ |
| ML platform | SageMaker | Azure ML | Vertex AI |
| GPT / LLM | Bedrock (3rd party) | Azure OpenAI ⭐ | Gemini (native) |
| Custom ML chips | No | No | TPUs ⭐ |
| Network backbone | Public internet | Public internet | Private global backbone ⭐ |
| Windows workloads | Good | Excellent ⭐ | Good |
| Hybrid cloud | Outposts | Azure Arc ⭐ | Anthos |
| Free K8s control plane | ❌ ($73/mo) | ✅ | ✅ |
| Sustained-use auto-discount | ❌ | ❌ | ✅ |
| Community / ecosystem | Largest ⭐ | Large | Growing |
| Certifications (market value) | Highest ⭐ | High | Medium |
| Free tier generosity | Good | Good | Best ($300 credit) |
Common mistakes
| Mistake | Why it hurts | Fix |
|---|---|---|
| Choosing by hype, not fit | Wrong cloud for your workload = higher cost + friction | Map your top 3 workloads to each cloud's strengths |
| Ignoring egress costs | Data transfer out can dwarf compute costs | Design for data locality; calculate egress in TCO |
| Not using Reserved/Committed instances | On-demand for steady workloads = 2× overpay | Commit to 1-year for baseline, spot for burst |
| Lifting and shifting without re-architecting | Misses cloud-native cost savings | Use managed services (RDS vs self-managed MySQL) |
| Using one region for global users | High latency for distant users | Multi-region or CDN from day one |
| Underestimating IAM complexity | Security misconfigurations cause breaches | Apply least-privilege; use SCPs / policies |
| Ignoring free tiers during development | Paying for dev/staging unnecessarily | Use free tier for non-production environments |
| Multi-cloud too early | Complexity before scale | Master one cloud first; add second only if justified |
FAQ
Q: Is AWS always the safe default choice?
AWS is the safest choice if you have no strong signals pointing elsewhere — its breadth, community, and documentation are unmatched. But "safe" can mean overpaying or missing BigQuery/GKE/Azure OpenAI advantages that genuinely matter for your use case.
Q: Can I mix AWS and GCP?
Yes. Many organisations run primary workloads on AWS and use BigQuery or Vertex AI on GCP. Egress costs (~$90/TB) and operational complexity are the main drawbacks. Use Terraform to manage both clouds under one IaC workflow.
Q: Which cloud is cheapest?
Depends on the workload. GCP is often cheapest for compute-heavy sustained workloads (sustained-use discounts are automatic). AWS is most competitive with Reserved Instances for predictable workloads. Always model your specific usage in each provider's pricing calculator — a 20% difference is common.
Q: Does Azure require Microsoft technology?
No. Azure runs Linux (60%+ of Azure VMs run Linux), Python, Go, Node.js, and open-source databases. But Azure gives the most additional value if you're already in the Microsoft ecosystem (free Windows licensing via Hybrid Benefit, tight AD/EntraID integration, GitHub Actions native integration).
Q: Which cloud is best for machine learning?
Depends on the type of ML work: BigQuery ML for SQL-based analytics; Vertex AI + TPUs for large-scale training; Azure OpenAI for GPT-4o/o1 access with enterprise compliance; SageMaker for end-to-end MLOps pipelines integrating with S3/Glue/Redshift.
Q: Which certification should I get first?
If you're new to cloud: AWS Cloud Practitioner has the most value in terms of job postings and employer recognition. If you're in a Microsoft-heavy organisation: AZ-900 then AZ-104. If you're focused on data engineering: Google Professional Data Engineer pairs well with BigQuery expertise.