API Gateway Platform  ·  View 16 of 21  ·  Operations

Deployment Architecture

Two serving regions, each sized to carry all of it.

Editable source SVG draw.io All views
Google Cloud — global Anycast edge Global external ALB one VIP Cloud Armor edge policy Global state Spanner config + credentials Snapshot bucket signed, dual-region europe-west1 — serving Zone b GKE node pool proxy pods Memorystore primary Zone c GKE node pool proxy pods Memorystore replica Zone d GKE node pool headroom for one zone loss us-east4 — serving Zone a GKE node pool proxy pods Memorystore primary Zone b GKE node pool proxy pods Memorystore replica Zone c GKE node pool headroom Control plane — single logical deployment, 99.9% target Management Config API Cloud Run Developer portal Cloud Run Rollout controller scores canaries Evidence Pub/Sub usage spine BigQuery analytics Audit ledger retention lock Upstream service estate 120 services, same regions snapshot pull publish snapshot usage Deployment Architecture Interface / broker Security / platform Data store Application we own Queue / topic External / third party event / async Snapshot pull and usage emission are drawn once; both regions do both. Each region is sized to serve the whole global load at burst, which is what makes a 120 s evacuation a capacity decision already taken rather than one taken during the incident. v 1.0 · owner Integration Platform Architecture · date 2026-09

Decisions

  • Both regions serve continuously behind one anycast VIP. An active–passive design would leave the failover path untested until the day it matters.
  • Each region is sized for the whole global load at burst, which makes a 120 s evacuation a capacity decision already taken rather than one taken during an incident.
  • Three zones per region: two serve, one is headroom for losing a zone without client-visible degradation.

Numbers

  • Steady state 120,000 requests/s globally, 40,000 requests/s per region, 5× burst for 120 s from standing headroom (assumptions).
  • 2,000,000 concurrent TLS connections globally — the figure that makes connection count, not request rate, the autoscaling signal (ADR-15).

Cost

  • Two regions each able to carry 100% of load is roughly 2.4× the compute of a single-region design once headroom is counted. ask.md requires that price to be reported so the availability target can be renegotiated against it.