Distributed Workflow Orchestration Platform  ·  View 22 of 31  ·  Operations

Deployment & Infrastructure

What runs where, which failures it survives, and the recovery posture that was actually bought.

Editable source SVG draw.io All views
Azure subscription · sub-wfo-prod · Sweden Central
Azure subscription · sub-wfo-prod · Sweden Central
Hub VNet 10.10.0.0/16 — shared connectivity
Hub VNet 10.10.0.0/16 — shared connectivity
Azure Firewall Premium
FQDN egress allow-list
Azure Firewall Premium...
Azure Bastion
no public SSH
Azure Bastion...
ExpressRoute gateway
corporate reachability
ExpressRoute gateway...
Private DNS zones
privatelink.*
Private DNS zones...
Spoke VNet 10.20.0.0/16 — AKS wfo-prod
Spoke VNet 10.20.0.0/16 — AKS wfo-prod
System node pool
3 nodes · 1 per zone
System node pool...
Control node pool
D8s v5 · 3-9 nodes
Control node pool...
Worker node pool
spot + on-demand · 3-40
Worker node pool...
APIM subnet
Premium v2 · zone redundant
APIM subnet...
Private endpoint subnet
no public data plane
Private endpoint subnet...
Zone-redundant managed services
Zone-redundant managed services
Service Bus Premium
4 MU · zone redundant
Service Bus Premium...
Cosmos DB
single write region · ZR
Cosmos DB...
Managed Redis
Enterprise · ZR
Managed Redis...
Blob Storage
ZRS + GRS for archive
Blob Storage...
Azure SQL
Business Critical · ZR
Azure SQL...
Key Vault
Premium · HSM keys
Key Vault...
Secondary region · Norway East — warm standby, RTO 4 h / RPO 5 min
Secondary region · Norway East — warm standby, RTO 4 h / RPO 5 min
DR footprint
DR footprint
Cosmos read region
async replica · promotable
Cosmos read region...
Blob GRS secondary
Blob GRS secondary
ACR geo-replica
ACR geo-replica
AKS cluster (IaC)
scaled to zero
AKS cluster (IaC)...
Service Bus namespace
empty · no geo-DR pairing
Service Bus namespace...
Microsoft Entra ID
global
Microsoft Entra ID...
Azure Monitor
region-paired workspace
Azure Monitor...
GitHub Actions
OIDC federated
GitHub Actions...
all egress
all egress
private endpoints
private endpoints
async replication
async replication
image push
image push
workload identity
workload identity
Deployment & Infrastructure — Sweden Central, Three Zones
Deployment & Infrastructure — Sweden Central, Three Zones
Security / platform
Security / platform
Interface / broker
Interface / broker
Queue / topic
Queue / topic
Data store
Data store
Risk / gap
Risk / gap
External / third party
External / third party
synchronous
synchronous
event / async
event / async
batch
batch
Service Bus is drawn red in the DR footprint on purpose: in-flight messages do not fail over. Regional recovery replays from Cosmos, which is why the queue was never allowed to be the state store.
Service Bus is drawn red in the DR footprint on purpose: in-flight messages do not fail over. Regional recovery replays from Cosmos, which is why the queue was never allowed to be the state store.
v 1.0 · owner Data & AI Global Practice · date 2026-08
v 1.0 · owner Data & AI Global Practice · date 2026-08
Text is not SVG - cannot display

Decisions

  • Zone redundancy in one region rather than multi-region active-active. Cosmos multi-region write would require conflict resolution on state transitions, and a conflict on a state machine is not a merge problem, it is a correctness problem.
  • Hub-and-spoke with all egress through Azure Firewall on an FQDN allow-list. A worker that runs partner code is the most likely place a compromise starts, so its egress is the most tightly controlled path in the estate.
  • Spot node pool for workers with on-demand fallback. Workers are designed to be killed, so the design is already spot-tolerant, and this is the largest single cost lever in the platform.

Recovery targets

  • RTO 4 hours, RPO 5 minutes for regional loss, achieved by promoting the Cosmos read region, deploying the standby AKS cluster from IaC and replaying incomplete executions from state.
  • Zone loss is transparent: AKS spreads across three zones, and Service Bus Premium, Cosmos, Redis, SQL and Blob are all zone redundant. No manual action, no data loss.
  • 99.9% API availability is the engineering target and allows roughly 43 minutes of downtime per month. It is a target, not an Azure guarantee, and it assumes the deployment practice in view 23.

Risks

  • Service Bus is drawn red in the DR footprint deliberately: in-flight messages do not fail over. Regional recovery replays from Cosmos, which is exactly why the queue was never allowed to be the state store.
  • Geo-DR pairing for Service Bus Premium would replicate entity metadata but not messages, so it was not bought. If a future requirement needs message-level continuity, the design has to change, not just the SKU.
  • The standby cluster is scaled to zero and exercised only in drills. A DR test that has not been run in the last quarter should be treated as a DR plan that does not work.