ESEN

Dictionary

The fine print of multicloud: where the analogy breaks across Azure, AWS and GCP, with official sources and verified Terraform.

Dead-letter queueasync-event

Destination for messages that couldn't be processed after N attempts, to inspect and reprocess them without blocking the main queue.

Azure

AWS

GCP

⚠ Where the analogy breaks

All three move the message after N failed deliveries, but the 'container' differs: implicit subqueue (Azure), separate queue (AWS) or separate topic that needs a subscription (GCP). In GCP a dead-letter topic without a subscription drops the messages.

Event routingasync-event

Event bus that filters and routes events from services and applications to targets.

Message queueasync-event

Producer/consumer decoupling with guaranteed delivery and retries.

GCP

⚠ Where the analogy breaks

Peek-lock (Service Bus), visibility timeout (SQS) and ack deadline (Pub/Sub) are the same mechanism: at-least-once delivery. None of them frees you from idempotent consumers.

Workflow orchestrationasync-event

Coordinating stateful steps with retries and branching without your own server.

API managementcompute-web

API gateway with authentication, quotas, transformation and developer portal.

⚠ Where the analogy breaks

API Management and Apigee are full platforms (portal, monetization, policies); Amazon API Gateway and Google API Gateway are lighter gateways. Comparing APIM with AWS API Gateway on price alone compares products in different categories.

Event-driven computecompute-web

Code/container execution triggered by events or messages, scaling to zero.

AWS

Managed Kubernetescompute-web

Provider-operated Kubernetes control plane.

⚠ Where the analogy breaks

Pod identity is where they differ most: AKS uses Microsoft Entra Workload ID (OIDC federation), EKS uses Pod Identity or IRSA, and GKE uses Workload Identity Federation for GKE. The concept is the same (Kubernetes service account token → cloud identity), the configuration isn't.

Serverless container platformcompute-web

Run HTTP containers without managing nodes or clusters, with managed scaling.

Azure

⚠ Where the analogy breaks

ACA and Cloud Run include HTTP ingress and scale to zero. ECS Fargate doesn't: ingress is a separate ALB (with fixed cost) and scaling comes from Application Auto Scaling.

Governance guardrailsgovernance

Organization-scale policies that restrict or audit how resources are configured.

⚠ Where the analogy breaks

Azure Policy evaluates resource configuration and can audit, deny or remediate (modify, deployIfNotExists). AWS SCPs don't look at configuration: they limit which API actions principals can use, and configuration compliance goes through AWS Config. GCP organization policies restrict configuration with predefined or custom constraints, without automatic remediation.

Cryptographic key managementidentity

Managed encryption keys (CMK) with access control, rotation and auditing.

⚠ Where the analogy breaks

In AWS key access is defined first by the KMS key policy (in addition to IAM); in Azure and GCP RBAC/IAM on the key or its container is enough. Copying IAM permissions without the key policy is the typical mistake when migrating to AWS.

External identity federation (OIDC)identity

Trust in tokens from an external IdP (GitHub Actions, GitLab, Kubernetes, another cloud) to exchange them for short-lived credentials, with no stored secrets.

⚠ Where the analogy breaks

Where the trust rule lives differs. In Azure, each federated identity credential is an issuer + subject pair that must match exactly (no wildcards, up to 20 per identity). In AWS it's a trust policy with condition operators (StringEquals/StringLike). In GCP it's a CEL expression (attribute_condition) plus IAM bindings on mapped attributes.

Resource access controlidentity

Permission model over cloud resources: who can do what, at which scope.

⚠ Where the analogy breaks

Azure and GCP assign roles at a scope that's inherited downward (management group/subscription/RG in Azure; organization/folder/project in GCP). AWS evaluates identity and resource policies per request, with explicit deny always winning, and the hard boundary is the account.

Secrets storeidentity

Managed secret storage with access control, versioning and auditing.

⚠ Where the analogy breaks

Key Vault groups secrets, keys and certificates. In AWS that is split across Secrets Manager, KMS and ACM; in GCP across Secret Manager, Cloud KMS and Certificate Manager.

Workload identity (secretless)identity

Platform-assigned identity a workload uses to obtain short-lived tokens, with no stored keys.

⚠ Where the analogy breaks

aws_iam_role has no 1:1 Azure resource. In AWS the role bundles identity + trust policy + permissions (attached policies). In Azure the identity (Managed Identity) and the permission (role assignment on a scope) are separate objects. In GCP the Service Account is the identity and the permission is an IAM binding on the resource.

CDN and global entry pointnetworking

Edge caching and TLS termination, with WAF and global routing to origins.

⚠ Where the analogy breaks

Cloud CDN isn't a standalone service: it's enabled on a global external Application Load Balancer. Front Door and CloudFront are entry points by themselves.

Data perimeter (anti-exfiltration)networking

Control preventing PaaS data from leaving to identities or networks outside the organization, even with valid credentials.

AWS

No direct equivalent

There is no single service. AWS's 'data perimeter' is assembled from Organizations SCPs/RCPs, VPC endpoint policies and bucket policies with conditions (aws:PrincipalOrgID, aws:SourceVpce, aws:ResourceOrgID).

↗ docs

GCP

Hybrid DNS forwarding (inbound and outbound)networking

Entry points for on-premises to query the cloud's private zones, and rules for the cloud to forward corporate domains to on-premises DNS.

⚠ Where the analogy breaks

In Azure and AWS, inbound and outbound are endpoints with IPs in subnets that you pay for hourly even with zero queries. In GCP there are no endpoints: the inbound policy takes one IP from each subnet in the VPC and outbound is a forwarding zone, billed like any zone plus queries.

Internal HTTP ingressnetworking

HTTP(S) entry point reachable only from the private network (or connected networks), without a public IP.

⚠ Where the analogy breaks

In ACA and the internal ALB, the network is the access boundary. In Cloud Run, 'internal' restricts the network origin, but by default IAM (roles/run.invoker) is also required on every request: two controls, not one.

L3/L4 traffic filteringnetworking

Stateful/stateless rules that allow or deny traffic between network resources.

⚠ Where the analogy breaks

AWS Security Groups only have allow rules (stateful) and attach to interfaces; explicit deny lives in NACLs (stateless, per subnet). Azure NSGs have prioritized allow and deny rules attached to a subnet or NIC. In GCP rules belong to the VPC and target instances by network tags or service accounts.

Managed network firewall (L3-L7)networking

Stateful firewall as a service to inspect and filter traffic between networks, to the internet and from on-premises, with centralized rules and policy.

⚠ Where the analogy breaks

The deployment model differs. Azure Firewall is a resource that lives in a dedicated subnet of the VNet. Network Firewall creates endpoints in VPC subnets and traffic reaches them through route tables. Cloud NGFW transparently intercepts the traffic that a policy rule selects and sends the packets to a zonal firewall endpoint for layer 7 inspection.

Outbound filtering by domain (FQDN)networking

Allows or denies outbound internet traffic by destination domain name, not only by IP and port.

⚠ Where the analogy breaks

The mechanism differs. Azure Firewall application rules (HTTP/S and MSSQL) and Network Firewall domain lists (with TLS_SNI and HTTP_HOST, HTTP and HTTPS) rely on the SNI or the Host header. Cloud NGFW FQDN objects, and the FQDNs in Azure Firewall network rules, are resolved to IPs through DNS.

Outbound internet NATnetworking

Address translation so resources with no public IP can reach the internet from fixed public IPs, without accepting unsolicited inbound connections.

⚠ Where the analogy breaks

In Azure the NAT gateway is attached to the subnet and needs no routing configuration in its route table. In AWS it lives in a public subnet and private subnets need a route that points to it. In GCP it is configured on a Cloud Router and, per the docs, is not based on proxy VMs or appliances.

Private access to PaaS servicesnetworking

Consume a managed service (storage, queues, databases) from the private network without traversing the internet.

Azure

AWS

GCP

⚠ Where the analogy breaks

'Private Endpoint' (Azure), 'Interface Endpoint' (AWS) and 'Private Service Connect' (GCP) are conceptually the same. 'Service Endpoint' (Azure), 'Gateway Endpoint' (AWS) and 'Private Google Access' (GCP) are similar in being free, but do NOT do the same thing: none gives the service a private IP in your network.

Private and hybrid DNSnetworking

DNS zones resolvable only from private networks, and resolution between cloud and on-premises.

⚠ Where the analogy breaks

The private zone resolves inside the cloud; for on-premises to resolve Private Endpoint/interface endpoint names (and vice versa) all three need a separate component: Private Resolver, Resolver endpoints or an inbound server policy.

Virtual networknetworking

Isolated private network where resources live, with their own subnets and routing.

⚠ Where the analogy breaks

GCP's VPC is global with regional subnets; Azure's VNet and AWS's VPC are regional. In AWS each subnet lives in a single AZ; in Azure a subnet spans every zone in the region.

Centralized loggingobservability

Collection, querying and retention of platform and application logs.

In-memory cache (Redis)storage-data

Managed Redis/Valkey for caching, sessions and lightweight queues.

Managed PostgreSQLstorage-data

PostgreSQL as a service with managed backups, HA and patching.

⚠ Where the analogy breaks

Azure SQL Database is NOT the equivalent of RDS PostgreSQL (it is SQL Server). Comparing different engines invalidates any conclusion about auth or cost.

NoSQL document / key-value databasestorage-data

Serverless or provisioned database for JSON documents or low-latency key access.

⚠ Where the analogy breaks

The cost model is the first thing that breaks when translating: Cosmos DB bills Request Units (provisioned or serverless), DynamoDB read/write capacity (on-demand or provisioned) and Firestore per operation. A partitioning design that's cheap in one can be expensive in another.

Object lifecycle (TTL / tiering)storage-data

Declarative rules that expire or re-tier objects by age, prefix or tags.

⚠ Where the analogy breaks

None of the three is an exact TTL. They are asynchronous background processes; design assuming the object may still exist hours or days after it "expires".

Object storagestorage-data

Durable blob/object storage accessed over an HTTP API, billed by stored GB, operations and egress.

Azure

  • Azure Blob Storage

    Lives inside a Storage Account, which is the unit for networking, encryption and authentication.

⚠ Where the analogy breaks

In Azure, networking, encryption and auth settings live on the Storage Account (which holds N containers); in S3 and Cloud Storage they live on each bucket. A 'bucket' is not a 'container': it is closer to Storage Account + container.