Decentralized Spoke AI

Each application has its own complete AI stack deployed inside its own landing zone. No dependency on a central AI hub — every workload is fully self-contained with its own Azure OpenAI, storage, search, and compute.

~$7,360/mo
3 spokes
12
Services / Spoke
~$7,360
Monthly (3 Spokes)
99.95%
AKS SLA
Isolated
Per-Workload

Overview

The Decentralized Spoke AI pattern gives each workload team complete autonomy over their AI stack. Every spoke contains its own Azure OpenAI instance, AI Search, storage, Key Vault, and AKS cluster — fully isolated from other workloads.

This is the pattern of choice when workloads have different compliance requirements, need dedicated OpenAI quotas, or require data isolation boundaries (PII, PCI-DSS, PHI).

Key Characteristics
  • Full Isolation — Each workload has its own VNet, AI services, and compute
  • Independent Scaling — Right-size each spoke independently
  • Dedicated Quotas — No shared OpenAI TPM limits
  • AKS per Spoke — System pool (D4s_v5 Ã- 3) + optional GPU pool
  • Shared Monitoring — Centralized Log Analytics + optional Azure Firewall
OpenAI Models (per spoke)
GPT-4o20K TPM
text-embedding-3-large80K TPM
AKS Configuration
System PoolD4s_v5 Ã- 3
GPU PoolNC6s_v3 (optional)
Storage Containers
data embeddings models

Architecture Diagram

graph LR
    subgraph Mgmt[" Shared Management
(Centralized)"] FW[" Azure
Firewall

Control all
outbound traffic"] MON[" Log Analytics

Monitor metrics
from all spokes"] end subgraph SP1[" SPOKE 1
(Team A)
VNet 10.10.0.0/16"] AKS1["AKS Cluster
D4s_v5 x 3 nodes

Runs AI apps"] AOAI1["Azure OpenAI
S0 Tier

LLM models"] AIS1["AI Search
Basic Tier

Vector DB"] ADLS1["Data Lake
Gen2 Storage

Datasets"] end subgraph SP2[" SPOKE 2
(Team B)
VNet 10.20.0.0/16"] AKS2["AKS Cluster
D4s_v5 x 3 nodes

Runs AI apps"] AOAI2["Azure OpenAI
S0 Tier

LLM models"] AIS2["AI Search
Basic Tier

Vector DB"] ADLS2["Data Lake
Gen2 Storage

Datasets"] end subgraph SP3[" SPOKE 3
(Team C)
VNet 10.30.0.0/16"] AKS3["AKS Cluster
D4s_v5 x 3 nodes

Runs AI apps"] AOAI3["Azure OpenAI
S0 Tier

LLM models"] AIS3["AI Search
Basic Tier

Vector DB"] ADLS3["Data Lake
Gen2 Storage

Datasets"] end FW -->|Allow| AKS1 FW -->|Allow| AKS2 FW -->|Allow| AKS3 AKS1 -->|Call API| AOAI1 AKS1 -->|Search| AIS1 AIS1 -->|Read/Write| ADLS1 AOAI1 -->|Fetch| ADLS1 AKS2 -->|Call API| AOAI2 AKS2 -->|Search| AIS2 AIS2 -->|Read/Write| ADLS2 AOAI2 -->|Fetch| ADLS2 AKS3 -->|Call API| AOAI3 AKS3 -->|Search| AIS3 AIS3 -->|Read/Write| ADLS3 AOAI3 -->|Fetch| ADLS3 AKS1 -.->|Logs & Metrics| MON AOAI1 -.->|Performance| MON AKS2 -.->|Logs & Metrics| MON AOAI2 -.->|Performance| MON AKS3 -.->|Logs & Metrics| MON AOAI3 -.->|Performance| MON
Key Benefits
Isolated Workloads: Each team has dedicated resources—no cross-team access
Centralized Security: All egress through firewall for compliance
Unified Monitoring: Single Log Analytics workspace for all spokes

Bill of Materials

#ServiceQtySKU / TierPurposeCost/UnitMonthly Total
1Azure OpenAI3S0Dedicated LLM per workload team~$1,100~$3,300
2Azure AI Search3BasicWorkload-specific vector search$73.73$221.19
3ADLS Gen23Standard LRS, HNSWorkload datasets & embeddings~$30~$90
4Azure Key Vault3StandardPer-spoke secrets management~$5~$15
5AKS3D4s_v5 Ã- 3 nodesContainer compute per workload~$420~$1,260
6Log Analytics1PerGB2018Centralized monitoring (shared)~$35~$35
7Application Insights3Workspace-basedPer-spoke APM telemetryIncl.Incl.
8Azure Firewall1StandardCentralized egress control$912$912
9VNets3/16, 3 subnets eachNetwork isolation per workloadFreeFree
10Private DNS Zones12Global (4/spoke)Name resolution$0.50~$6
11Private Endpoints124 per spokePrivate access per service$7.30~$88
12NSGs3Default rulesPer-spoke micro-segmentationFreeFree
Estimated Total (3 Spokes, Moderate Production)~$7,360/mo

Costs scale linearly: each additional spoke adds ~$2,150/mo (OpenAI + Search + AKS + Storage + KV + PE).

Service Breakdown

Azure OpenAI (Ã-3)
S0~$1,100/spoke

Dedicated LLM per workload with 20K TPM GPT-4o and 80K TPM embeddings. Full quota isolation ensures no cross-workload throttling.

  • Dedicated quota per team
  • Independent content filtering
  • Private endpoint access
AKS Clusters (Ã-3)
D4s_v5 Ã- 3~$420/spoke

Kubernetes compute for each workload with system pool and optional GPU pool (NC6s_v3) for inference. Azure RBAC and Calico network policies.

  • Azure RBAC for Kubernetes
  • Calico network policy
  • Optional GPU tainted pool
Azure AI Search (Ã-3)
Basic$73.73/spoke

Workload-specific vector and keyword search. Each spoke maintains independent indexes, avoiding cross-workload data exposure.

  • Dedicated search indexes
  • 2 GB storage per instance
  • Private endpoint access
Azure Firewall
Standard$912/mo

Centralized egress control for all spokes. Application and network rules control outbound traffic. Threat intelligence in alert mode.

  • Centralized egress filtering
  • Threat intelligence
  • DNS proxy enabled
ADLS Gen2 (Ã-3)
Standard LRS~$30/spoke

Per-workload data lake with hierarchical namespace. Stores datasets, embeddings, and model artifacts in isolated storage boundary.

  • HNS enabled
  • Data isolation boundary
  • TLS 1.2 minimum
Monitoring (Shared)
PerGB2018~$35/mo

Centralized Log Analytics workspace collects diagnostics from all spokes. Per-spoke App Insights instances for APM and request tracing.

  • Cross-spoke visibility
  • Per-spoke APM
  • ~$2.30/GB ingestion

Security & Networking

Network Isolation
  • Fully isolated VNet per workload — no shared hub dependency
  • All services behind Private Endpoints
  • Private DNS Zones scoped to each workload VNet
  • Azure Firewall for centralized egress control
  • TLS 1.2 minimum on all endpoints
Identity & Access
  • Key Vault with RBAC authorization
  • AKS with Azure RBAC for Kubernetes
  • Calico network policy in AKS clusters
  • Managed Identities for all service-to-service auth
  • Per-workload encryption boundary

Use Cases

Data Isolation (PII/PCI/PHI)

Each workload has its own encryption boundary. Perfect for healthcare, finance, and regulated industries.

Autonomous Product Teams

Teams own their entire AI stack end-to-end with no cross-team dependencies.

Dedicated OpenAI Quotas

Each spoke gets its own 20K TPM, no noisy-neighbor issues when one workload spikes.

Different Compliance Regimes

Each workload can enforce unique compliance controls independently.

Constraints & Considerations

ConstraintMitigation
Cost duplication — each spoke pays for full stackUse consumption-based SKUs where possible; right-size per workload
Harder to standardize across workloadsUse shared Bicep modules with org-wide defaults
No shared model registryConsider adding a lightweight registry spoke or use AML
OpenAI quota per subscription limitsSpread workloads across subscriptions if needed
Operational overhead (N clusters to manage)GitOps + centralized monitoring in Log Analytics
Ready to Deploy This Pattern?

Generate a complete deployment spec sheet with GitHub Actions workflow, Bicep file structure, and prerequisite checklist.

Generate Deployment Spec Sheet