Skip to content

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