ESEN
AzureAWSGCP

Translatearchitectures.Not justservices.

Complete patterns across Azure, AWS and GCP: where the analogy breaks, with official sources, verification dates, list prices and Terraform that compiles.

Today’s fine print

Practice with flashcards

Why it exists

Tables say S3 “is” Blob Storage. They don’t tell you where it breaks.

Patterns

5 published patterns.

Decision matrix
Publishedmessagingserverless12 gotchasScale-to-zero async worker with dead-letterA worker processes messages from a queue, scales on queue length (down to zero), stores results in object storage and sets aside failing messages.Monthly floor with no traffic: Azure USD 9.81 · AWS USD 0 · GCP USD 0AzureAWSGCPPublishedidentityci-cd15 gotchasSecretless CI/CD deployments (OIDC federation)A GitHub Actions job deploys to the cloud with Terraform using its OIDC token, with no client secrets or access keys stored in the repository.Monthly floor with no traffic: Azure USD 0 · AWS USD 0 · GCP USD 0AzureAWSGCPPublishednetworkingdns14 gotchasHybrid private DNS (on-premises ↔ cloud)On-premises resolves the cloud's private zones (Private Endpoints included) and the cloud resolves the corporate domain, with no self-managed DNS servers in the cloud.Monthly floor with no traffic: Azure USD 363 · AWS USD 365 · GCP USD 0.40AzureAWSGCPPublishedstoragelifecycle17 gotchasPrivate object ingestion with expiration (TTL)A workload uploads files to a private bucket, keyless, over a private network, and files delete themselves after N days.Monthly floor with no traffic: Azure USD 7.80 · AWS USD 0 · GCP USD 0AzureAWSGCPPublishedcontainerspostgres16 gotchasZero Trust private web API with passwordless PostgreSQLAn HTTP container reachable only from the private network, connecting to PostgreSQL with its workload identity instead of a username and password.Monthly floor with no traffic: Azure USD 24.39 · AWS USD 74.21 · GCP USD 51.01AzureAWSGCP

The most valuable contribution

It isn’t a new pattern. It’s re-verifying a gotcha.

Clouds change. Open the official source, confirm it still holds and update verified_at.