Software Engineering·July 21, 2026·2 min read

Tech Stack Landscape

A map of cloud services across AWS, Azure, and GCP — compute, storage, databases, AI, DevOps, and messaging compared side by side.

cloudawsgcpazureinfrastructure

Cloud providers offer hundreds of services across compute, storage, databases, AI, networking, and more. The naming is inconsistent across providers, which makes it hard to understand what you're looking at. This is a side-by-side map of the major categories, so you can recognize equivalent services and understand what each piece does. If Cartara flagged a cloud service in your diff, use this to understand what it is and whether there's a simpler managed alternative.

The big three cloud providers

ProviderMarket ShareSweet Spot
AWS~31%Breadth, enterprise defaults, largest ecosystem
Azure~25%Microsoft shops, enterprise, hybrid cloud
GCP~12%Data/ML workloads, Kubernetes, BigQuery

For most builders, the choice between raw cloud providers matters less than the choice between using them directly versus using a managed platform (Vercel, Supabase, Railway) that runs on top of them. See Cloud Provider Overview and Choosing a Tech Stack for guidance on when to use which.

Compute

Running code — virtual machines, containers, and serverless functions.

CategoryAWSAzureGCP
Virtual MachinesEC2Virtual MachinesCompute Engine
Managed Containers (no Kubernetes)ECS / FargateContainer AppsCloud Run
Container Orchestration (Kubernetes)EKSAKSGKE
Serverless FunctionsLambdaAzure FunctionsCloud Functions
App Platform (PaaS)Elastic BeanstalkApp ServiceApp Engine
Edge ComputeLambda@Edge / CloudFront FunctionsCloud CDN + serverless

What this means for builders: Lambda ≈ Azure Functions ≈ Cloud Functions (event-driven, pay per invocation). ECS/Fargate ≈ Container Apps ≈ Cloud Run (run containers without managing servers). For most apps, Vercel or Railway is simpler than any of these.

Storage

Where data lives at rest.

CategoryAWSAzureGCP
Object Storage (files, images)S3Blob StorageCloud Storage
Block Storage (attached disk)EBSManaged DisksPersistent Disk
File Storage (shared filesystem)EFS / FSxAzure FilesFilestore
Archival / Cold StorageS3 GlacierArchive BlobColdline / Archive

S3 is the de facto standard — most tools treat it as the reference implementation. Azure Blob and GCS are compatible via adapters. Cloudflare R2 is an S3-compatible alternative with no egress fees, making it popular for cost-conscious builders.

Databases

CategoryAWSAzureGCP
Managed PostgreSQLRDS / AuroraAzure Database for PostgreSQLCloud SQL / AlloyDB
Managed MySQLRDS / AuroraAzure Database for MySQLCloud SQL
NoSQL (document)DynamoDBCosmos DBFirestore
In-memory / CacheElastiCache (Redis)Azure Cache for RedisMemorystore
NewSQL / distributedAuroraCosmos DBSpanner
SearchOpenSearch ServiceAzure AI Search

Cross-cloud alternatives that work everywhere: Supabase (PostgreSQL), PlanetScale (MySQL), Neon (serverless Postgres), MongoDB Atlas. These are often a better starting point than the raw cloud databases.

AI and machine learning

CategoryAWSAzureGCP
AI API (foundational models)BedrockAzure AI / Azure OpenAIVertex AI / Gemini API
ML Platform (training + serving)SageMakerAzure Machine LearningVertex AI
Vision APIRekognitionAzure Computer VisionCloud Vision AI
Speech APITranscribe / PollyAzure SpeechSpeech-to-Text
Document ProcessingTextractAzure Document IntelligenceDocument AI

Model access: AWS Bedrock hosts Claude, Llama, and others. Azure OpenAI is the primary commercial access point for GPT-4 models with enterprise data controls. GCP Vertex AI hosts Gemini and partners.

Networking

CategoryAWSAzureGCP
Load Balancer (HTTP/Layer 7)ALBApplication GatewayCloud Load Balancing
Load Balancer (TCP/Layer 4)NLBAzure Load BalancerCloud Load Balancing
DNSRoute 53Azure DNSCloud DNS
CDNCloudFrontAzure CDN / Front DoorCloud CDN
API GatewayAPI GatewayAPI ManagementApigee

Cloudflare sits outside this table — it's a global network layer you can put in front of any cloud provider. It's a major player in CDN, DDoS protection, WAF, and edge compute.

Security and identity

CategoryAWSAzureGCP
Identity and Access ManagementIAMEntra ID (Azure AD)IAM
Secrets ManagementSecrets ManagerKey VaultSecret Manager
Key ManagementKMSKey VaultCloud KMS
Web Application FirewallWAFAzure WAFCloud Armor
DDoS ProtectionShieldDDoS ProtectionCloud Armor

DevOps and developer tools

CategoryAWSAzureGCP
CI/CDCodePipeline / CodeBuildAzure DevOps / GitHub ActionsCloud Build
Container RegistryECRAzure Container RegistryArtifact Registry
Infrastructure as CodeCloudFormation / CDKARM / Bicep / TerraformDeployment Manager / Terraform
MonitoringCloudWatchAzure MonitorCloud Monitoring
TracingX-RayApp InsightsCloud Trace

GitHub (owned by Microsoft) is the dominant source control and CI platform used across all clouds.

Data and analytics

CategoryAWSAzureGCP
Data WarehouseRedshiftAzure SynapseBigQuery
ETL / PipelinesGlueData FactoryCloud Dataflow
StreamingKinesisEvent HubsPub/Sub
BI / DashboardsQuickSightPower BILooker

Cloud-agnostic alternatives widely used across all three: Snowflake, Databricks, dbt, Fivetran.

Messaging and integration

CategoryAWSAzureGCP
Message QueueSQSService BusCloud Tasks / Pub/Sub
Pub/Sub MessagingSNSService Bus TopicsPub/Sub
Event BusEventBridgeEvent GridEventarc
Workflow OrchestrationStep FunctionsLogic AppsWorkflows

What You'll See in Your Code

Cartara may flag use of a raw AWS service where a simpler managed alternative exists:

```javascript
// Using raw AWS S3 directly
import { S3Client, PutObjectCommand } from '@aws-sdk/client-s3'

const s3 = new S3Client({ region: 'us-east-1' })
await s3.send(new PutObjectCommand({
Bucket: 'my-bucket',
Key: uploads/${filename},
Body: fileBuffer,
}))

// Simpler if you're already on Supabase:
const { data, error } = await supabase.storage
.from('uploads')
.upload(filename, fileBuffer)
```

Both are valid — the question is whether the added control of direct S3 is worth the added complexity for your stage.

Related concepts

Serverless Compute
What serverless means, when to use it, and the trade-offs that trip up builders — cold starts, statelessness, costs at scale.
Load Balancing
What a load balancer does, how traffic gets distributed, and what you need to know as a builder using managed platforms.
Message Queues and Async Processing
Message queues let your app offload slow work to the background so users get fast responses. This guide explains queues, pub/sub, workers, and key patterns like idempotency and dead letter queues.

Turn shipping into understanding

Cartara measures what your team actually learns from every AI coding session.

Join the waitlist