Cloud Service Comparison: Compute Services¶
Quick Reference¶
This guide provides a comprehensive comparison of compute services across AWS, Google Cloud Platform (GCP), and Microsoft Azure. Use this to understand equivalent services when switching cloud providers or studying multiple certifications.
Virtual Machines (IaaS)¶
| Feature | AWS | GCP | Azure |
|---|---|---|---|
| Service Name | EC2 (Elastic Compute Cloud) | Compute Engine | Virtual Machines (VMs) |
| Instance Types | General Purpose (T, M), Compute Optimized (C), Memory Optimized (R, X), Storage Optimized (I, D), Accelerated (P, G, Inf) | General Purpose (N, E2), Compute Optimized (C2, C3), Memory Optimized (M1, M2, M3), Accelerated (A2, G2) | General Purpose (B, D, DC, DS), Compute Optimized (F, FX), Memory Optimized (E, M), Storage Optimized (L), GPU (N, NC, ND, NV) |
| Pricing Models | On-Demand, Reserved, Savings Plans, Spot | On-Demand, Committed Use Discounts, Preemptible, Spot | Pay-as-you-go, Reserved, Spot |
| Cost Savings | Reserved: 30-70%, Spot: 70-90% | Committed: 37-55%, Preemptible/Spot: 60-91% | Reserved: 40-72%, Spot: up to 90% |
| Auto-scaling | Auto Scaling Groups | Managed Instance Groups (MIG) | Virtual Machine Scale Sets (VMSS) |
| Load Balancing | Application Load Balancer (ALB), Network Load Balancer (NLB) | HTTP(S) Load Balancer, Network Load Balancer | Application Gateway, Load Balancer |
| Metadata Service | Instance Metadata Service (IMDS) | Metadata server | Instance Metadata Service |
| User Data | User data scripts | Startup scripts | Custom data, cloud-init |
| Image Types | AMI (Amazon Machine Image) | Images, Snapshots | VM Images, Managed Images |
| Storage | EBS (Elastic Block Store) | Persistent Disks | Managed Disks |
| Temporary Storage | Instance Store | Local SSD | Temporary Storage |
Documentation: - π AWS EC2 Documentation - Complete EC2 guide - π GCP Compute Engine Documentation - Complete Compute Engine guide - π Azure Virtual Machines Documentation - Complete VM guide
Managed Kubernetes¶
| Feature | AWS | GCP | Azure |
|---|---|---|---|
| Service Name | EKS (Elastic Kubernetes Service) | GKE (Google Kubernetes Engine) | AKS (Azure Kubernetes Service) |
| Control Plane Cost | $0.10/hour per cluster | Free (Standard), Pay-per-use (Autopilot) | Free |
| Worker Node Management | Self-managed, Managed Node Groups, Fargate | Standard (self-managed), Autopilot (fully managed) | Node pools, Virtual nodes |
| Serverless Pods | Fargate | Autopilot | Virtual Kubelet, Azure Container Instances |
| Auto-scaling | Cluster Autoscaler, Karpenter | Cluster Autoscaler (built-in) | Cluster Autoscaler |
| Networking | Amazon VPC CNI | VPC-native, GKE Dataplane V2 | Azure CNI, kubenet |
| Service Mesh | App Mesh | Anthos Service Mesh, Cloud Service Mesh | Open Service Mesh |
| GitOps | Flux, Argo CD | Config Sync (Anthos) | GitOps with Flux |
| Multi-cluster | EKS Anywhere | Anthos, GKE Enterprise | Azure Arc-enabled Kubernetes |
| Windows Support | Yes | Yes | Yes |
| GPU Support | Yes | Yes | Yes |
| Upgrading | Manual, managed node groups | GKE release channels (Regular, Rapid, Stable) | Auto-upgrade with maintenance windows |
Documentation: - π AWS EKS Documentation - Complete EKS guide - π GCP GKE Documentation - Complete GKE guide - π Azure AKS Documentation - Complete AKS guide
Serverless Compute (Functions-as-a-Service)¶
| Feature | AWS Lambda | GCP Cloud Functions | GCP Cloud Run | Azure Functions |
|---|---|---|---|---|
| Execution Model | Event-driven functions | Event-driven functions | Containerized applications | Event-driven functions |
| Languages | Node.js, Python, Java, .NET, Go, Ruby, Custom | Node.js, Python, Go, Java, .NET, Ruby, PHP | Any language (containers) | C#, JavaScript, Python, Java, PowerShell, TypeScript |
| Max Timeout | 15 minutes | 9 min (1st gen), 60 min (2nd gen) | 60 minutes | 10 min (Consumption), 230 min (Premium) |
| Max Memory | 10 GB | 8 GB (1st gen), 32 GB (2nd gen) | 32 GB | 1.5 GB (Consumption), 14 GB (Premium) |
| Cold Start | Yes (100ms-1s typical) | Yes (~500ms typical) | Yes (~1s typical) | Yes (varies by language) |
| Warm Instances | Provisioned Concurrency | Min instances | Min instances | Premium plan always warm |
| Pricing Model | Per request + duration | Per invocation + compute time | Per 100ms + requests + CPU/memory | Per execution + duration |
| Free Tier | 1M requests/month, 400K GB-seconds | 2M invocations/month | 2M requests/month, 360K GB-seconds | 1M requests/month |
| Container Support | Lambda Container Images | Cloud Run (separate service) | Native container support | Custom handlers |
| Concurrency | 1000 (default, can increase) | 1000 (configurable) | 1000 (configurable) | Dynamic (consumption plan) |
| Event Sources | 20+ AWS services | Cloud Storage, Pub/Sub, HTTP, Firestore | HTTP, Pub/Sub, Cloud Tasks, Eventarc | 100+ triggers (HTTP, Timer, Queue, Event Grid) |
Documentation: - π AWS Lambda Documentation - Complete Lambda guide - π GCP Cloud Functions Documentation - Cloud Functions guide - π GCP Cloud Run Documentation - Cloud Run guide - π Azure Functions Documentation - Complete Functions guide
Platform-as-a-Service (PaaS)¶
| Feature | AWS | GCP | Azure |
|---|---|---|---|
| Service Name | Elastic Beanstalk | App Engine | App Service |
| Languages | Java, .NET, Node.js, Python, Ruby, Go, PHP, Docker | Python, Java, Node.js, Go, Ruby, PHP (Standard); Any (Flexible) | .NET, Java, Node.js, Python, PHP, Ruby |
| Environments | Web Server, Worker | Standard (sandboxed), Flexible (containers) | Windows, Linux, Containers |
| Auto-scaling | Yes | Automatic (Standard), Manual (Flexible) | Built-in auto-scale |
| Deployment | ZIP, Docker, Git | gcloud, Git, Docker | Git, ZIP, Docker, FTP |
| Deployment Slots | Environment cloning | Versions + Traffic Splitting | Deployment slots (Standard tier+) |
| Custom Domains | Yes | Yes | Yes |
| SSL/TLS | AWS Certificate Manager | Managed SSL certificates | Managed certificates, custom |
| VNet Integration | VPC | VPC Connector (Flexible) | VNet integration |
| Pricing | EC2 + ALB + other resources | Instance hours | App Service Plan (Basic, Standard, Premium) |
Documentation: - π AWS Elastic Beanstalk Documentation - Beanstalk guide - π GCP App Engine Documentation - App Engine guide - π Azure App Service Documentation - App Service guide
Container Services¶
| Feature | AWS | GCP | Azure |
|---|---|---|---|
| Container Registry | ECR (Elastic Container Registry) | Artifact Registry, Container Registry | ACR (Azure Container Registry) |
| Container Orchestration | ECS (Elastic Container Service), EKS | GKE, Cloud Run | AKS, Container Instances, Container Apps |
| Serverless Containers | Fargate (ECS/EKS) | Cloud Run, GKE Autopilot | Azure Container Instances, Container Apps |
| Batch Processing | AWS Batch | Cloud Run Jobs, GKE Batch | Azure Batch, Container Instances |
Comparison: Managed Container Orchestration (Non-Kubernetes)
| Feature | AWS ECS | GCP Cloud Run | Azure Container Instances | Azure Container Apps |
|---|---|---|---|---|
| Orchestration | AWS proprietary | Fully managed | Single containers | Microservices platform |
| Pricing | Pay for EC2/Fargate | Pay per 100ms | Pay per second | Pay per usage |
| Scaling | Task-based | Request-based | Manual | Event-driven, KEDA |
| Load Balancing | ALB, NLB | Built-in | Manual setup | Built-in |
| Networking | VPC native | VPC Connector | VNet integration | VNet integration |
Documentation: - π AWS ECS Documentation - ECS guide - π AWS EKS Documentation - EKS guide - π AWS ECR Documentation - Container registry - π GCP Cloud Run Documentation - Cloud Run guide - π GCP GKE Documentation - GKE guide - π Azure Container Instances Documentation - ACI guide - π Azure Container Apps Documentation - Container Apps guide
Batch & HPC¶
| Feature | AWS | GCP | Azure |
|---|---|---|---|
| Batch Processing | AWS Batch | Cloud Run Jobs, Dataflow | Azure Batch |
| HPC | ParallelCluster, Batch | Google Cloud HPC Toolkit | CycleCloud, HPC Pack |
| Job Scheduling | AWS Batch, Step Functions | Cloud Scheduler, Workflows | Azure Batch, Logic Apps |
| Spot/Preemptible | Spot Instances | Spot VMs, Preemptible VMs | Spot VMs |
Documentation: - π AWS Batch Documentation - Batch processing - π GCP Cloud Run Jobs Documentation - Batch jobs - π Azure Batch Documentation - Batch service
Decision Tree: Which Compute Service?¶
When to Use Virtual Machines¶
- β Need full OS control
- β Legacy applications requiring specific OS configurations
- β Long-running, persistent workloads
- β Licensing requirements (BYOL)
- β Don't want to manage OS patches and updates
When to Use Kubernetes¶
- β Microservices architecture
- β Need container orchestration
- β Multi-cloud portability requirements
- β Complex deployment patterns (canary, blue-green)
- β Small, simple applications (overhead too high)
When to Use Serverless Functions¶
- β Event-driven workloads
- β Short-running tasks (< 15 minutes)
- β Variable/unpredictable traffic
- β Want zero server management
- β Long-running processes
- β Need persistent connections
When to Use PaaS¶
- β Web applications
- β Want minimal infrastructure management
- β Standard language runtime
- β Built-in scaling and load balancing
- β Need custom OS or kernel modules
When to Use Managed Containers (ECS/Cloud Run/Container Apps)¶
- β Containerized applications
- β Don't need full Kubernetes complexity
- β Want managed service with less overhead than K8s
- β Simpler deployment models
Cost Comparison (Approximate)¶
Example: 2 vCPU, 8 GB RAM, US East/Central region
| Provider | On-Demand | Reserved/Committed (1 year) | Spot/Preemptible |
|---|---|---|---|
| AWS (t3.large) | ~$67/month | ~$40/month (40% savings) | ~$20/month (70% savings) |
| GCP (e2-standard-2) | ~$60/month | ~$39/month (35% savings) | ~$18/month (70% savings) |
| Azure (D2s v3) | ~$70/month | ~$41/month (41% savings) | ~$21/month (70% savings) |
Note: Prices vary by region and are subject to change. Always use official pricing calculators.
Pricing Calculators: - π AWS Pricing Calculator - AWS cost estimates - π GCP Pricing Calculator - GCP cost estimates - π Azure Pricing Calculator - Azure cost estimates
CLI Command Comparison¶
Create a Virtual Machine¶
AWS:
aws ec2 run-instances \
--image-id ami-0c55b159cbfafe1f0 \
--instance-type t3.micro \
--key-name my-key \
--security-group-ids sg-xxxxx \
--subnet-id subnet-xxxxx
GCP:
gcloud compute instances create my-instance \
--machine-type=e2-micro \
--image-family=ubuntu-2004-lts \
--image-project=ubuntu-os-cloud \
--zone=us-central1-a
Azure:
az vm create \
--resource-group myResourceGroup \
--name myVM \
--image UbuntuLTS \
--size Standard_B1s \
--admin-username azureuser \
--generate-ssh-keys
Create a Kubernetes Cluster¶
AWS:
eksctl create cluster \
--name my-cluster \
--region us-east-1 \
--nodegroup-name standard-workers \
--node-type t3.medium \
--nodes 3
GCP:
gcloud container clusters create my-cluster \
--zone us-central1-a \
--machine-type e2-medium \
--num-nodes 3
Azure:
az aks create \
--resource-group myResourceGroup \
--name myAKSCluster \
--node-count 3 \
--node-vm-size Standard_DS2_v2 \
--enable-addons monitoring
Key Takeaways¶
AWS Strengths¶
- β Most mature and comprehensive service catalog
- β Deepest feature set for EC2 and Lambda
- β Best for enterprise-scale deployments
- β Extensive third-party tool ecosystem
GCP Strengths¶
- β Best Kubernetes service (GKE)
- β Live migration for VMs (no downtime updates)
- β Superior networking performance
- β Simplified pricing model
- β Strong in data analytics and ML
Azure Strengths¶
- β Best Windows/Microsoft stack integration
- β Hybrid cloud focus (Azure Arc, Azure Stack)
- β Enterprise Active Directory integration
- β Strong in enterprise scenarios
- β Container Apps (best serverless container platform)
Related Guides: - Storage Service Comparison - Database Service Comparison - Networking Service Comparison - Serverless Service Comparison