# ricky-g/azure-scenario-hub architecture

> Architecture diagram of the GitHub repository ricky-g/azure-scenario-hub, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-27). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/ricky-g/azure-scenario-hub
- Repository: https://github.com/ricky-g/azure-scenario-hub

## Overview

Azure Scenario Hub is a catalog of independent, reproducible Azure and Microsoft AI scenarios—not a single application. The engineer’s path is to discover a scenario, follow its run or deployment instructions, then inspect its output, measurements, or evidence. The tree and README show runnable demos, deployable architectures, benchmarks, and investigations; sampled code confirms representative AI, networking, web, and integration behaviors. Most scenario implementations and their documentation were not sampled, so the graph shows only evidenced runtime links and uses scenario directories for documented-but-unsampled capabilities.

Main entry points: [`src/front-door-private-appgw-apim-self-hosted-dr/app/server.js`](https://github.com/ricky-g/azure-scenario-hub/blob/main/src/front-door-private-appgw-apim-self-hosted-dr/app/server.js) (Evidence Server), [`src/azure-integration-services-load-test`](https://github.com/ricky-g/azure-scenario-hub/tree/main/src/azure-integration-services-load-test) (Integration Load Test), [`src/azure-openai-realtime-transcription/app.py`](https://github.com/ricky-g/azure-scenario-hub/blob/main/src/azure-openai-realtime-transcription/app.py) (Realtime Transcription), [`src/front-door-private-appgw-apim-self-hosted-dr/app/public/app.js`](https://github.com/ricky-g/azure-scenario-hub/blob/main/src/front-door-private-appgw-apim-self-hosted-dr/app/public/app.js) (Route Proof UI)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_ai["AI Demos"]
  node_agentkit["Agent Governance"]
  node_mafentry["MAF Demo Entry<br/>[Program.cs]"]
  node_governance["Governance Runtime"]
  node_audit[("Audit Log<br/>[AuditLog.cs]")]
  node_retry["Agent Retry Demo<br/>[app.py]"]
  node_transcription["Realtime Transcription<br/>[app.py]"]
  node_tts["Realtime Speech<br/>[app.py]"]
end

subgraph group_network["Networking Scenarios"]
  node_hybrid["Hybrid APIM DR"]
  node_proofui["Route Proof UI<br/>[app.js]"]
  node_proofserver["Evidence Server<br/>[server.js]"]
  node_egressdash["Egress Dashboard<br/>[app.py]"]
  node_egresscheck["Egress Checker<br/>[app.py]"]
end

subgraph group_integration["Integration Workloads"]
  node_loadtest["Integration Load Test"]
  node_auditfunc["Audit Functions<br/>[AuditStore.cs]"]
  node_historyfunc["History Functions<br/>[HistoryStore.cs]"]
  node_adapters["Service Bus Adapters<br/>[AuditsAdaptor.cs]"]
  node_benchmark["APIM Fan-out Benchmark"]
end

subgraph group_apps["Web And Speech Apps"]
  node_simpleapp["Sample App Service<br/>[app.py]"]
  node_voice["ACS Voice Live<br/>[main.py]"]
  node_speechprofile["SSML Voice Profile<br/>[app.py]"]
end

node_engineer(("Engineer"))
node_speechsvc{{"Azure AI Services"}}
node_frontdoor{{"Azure Front Door"}}
node_gateway{{"Gateway And APIM"}}
node_aks{{"AKS Backend"}}
node_cluster{{"AKS Namespaces"}}
node_bus["Azure Service Bus"]
node_acs{{"Azure Communication Services"}}

node_engineer -->|"runs demos"| node_agentkit
node_mafentry -->|"runs scenarios"| node_governance
node_governance -->|"records decisions"| node_audit
node_engineer -->|"submits requests"| node_retry
node_retry -.->|"queries agents"| node_speechsvc
node_engineer -->|"provides audio"| node_transcription
node_transcription -->|"streams audio"| node_speechsvc
node_speechsvc -->|"returns transcript"| node_transcription
node_engineer -->|"provides text"| node_tts
node_tts -->|"requests speech"| node_speechsvc
node_engineer -->|"selects route"| node_proofui
node_proofui -->|"requests test"| node_proofserver
node_proofserver -->|"sends correlated request"| node_frontdoor
node_frontdoor -->|"routes traffic"| node_gateway
node_gateway -->|"forwards request"| node_aks
node_proofserver -->|"returns evidence"| node_proofui
node_engineer -->|"views status"| node_egressdash
node_egressdash -->|"queries namespaces"| node_egresscheck
node_egresscheck -->|"checks egress"| node_cluster
node_engineer -->|"runs workload"| node_loadtest
node_loadtest -->|"exercises audit path"| node_auditfunc
node_loadtest -->|"exercises history path"| node_historyfunc
node_adapters -->|"uses messaging"| node_bus
node_engineer -->|"requests page"| node_simpleapp
node_engineer -->|"places call"| node_voice
node_acs -->|"posts call events"| node_voice
node_voice -->|"starts call automation"| node_acs
node_engineer -->|"supplies text"| node_speechprofile
node_speechprofile -->|"synthesizes audio"| node_speechsvc
node_engineer -->|"runs benchmark"| node_benchmark

click node_agentkit "https://github.com/ricky-g/azure-scenario-hub/tree/main/src/agent-governance-toolkit/microsoft-agent-framework-demos"
click node_mafentry "https://github.com/ricky-g/azure-scenario-hub/blob/main/src/agent-governance-toolkit/microsoft-agent-framework-demos/dotnet/AgtMaf.Demos/Program.cs"
click node_governance "https://github.com/ricky-g/azure-scenario-hub/blob/main/src/agent-governance-toolkit/microsoft-agent-framework-demos/dotnet/AgtMaf/GovernanceRuntime.cs"
click node_audit "https://github.com/ricky-g/azure-scenario-hub/blob/main/src/agent-governance-toolkit/microsoft-agent-framework-demos/dotnet/AgtMaf/AuditLog.cs"
click node_retry "https://github.com/ricky-g/azure-scenario-hub/blob/main/src/semantic-kernel-agent-retry-limit/app.py"
click node_transcription "https://github.com/ricky-g/azure-scenario-hub/blob/main/src/azure-openai-realtime-transcription/app.py"
click node_tts "https://github.com/ricky-g/azure-scenario-hub/blob/main/src/azure-openai-realtime-text-to-speech/app.py"
click node_hybrid "https://github.com/ricky-g/azure-scenario-hub/tree/main/src/front-door-private-appgw-apim-self-hosted-dr"
click node_proofui "https://github.com/ricky-g/azure-scenario-hub/blob/main/src/front-door-private-appgw-apim-self-hosted-dr/app/public/app.js"
click node_proofserver "https://github.com/ricky-g/azure-scenario-hub/blob/main/src/front-door-private-appgw-apim-self-hosted-dr/app/server.js"
click node_egressdash "https://github.com/ricky-g/azure-scenario-hub/blob/main/src/aks-unique-egress-ip-per-namespace/app/dashboard/app.py"
click node_egresscheck "https://github.com/ricky-g/azure-scenario-hub/blob/main/src/aks-unique-egress-ip-per-namespace/app/egress-checker/app.py"
click node_loadtest "https://github.com/ricky-g/azure-scenario-hub/tree/main/src/azure-integration-services-load-test"
click node_auditfunc "https://github.com/ricky-g/azure-scenario-hub/blob/main/src/azure-integration-services-load-test/functions/audit-store/Functions/AuditStore.cs"
click node_historyfunc "https://github.com/ricky-g/azure-scenario-hub/blob/main/src/azure-integration-services-load-test/functions/history-store/Functions/HistoryStore.cs"
click node_adapters "https://github.com/ricky-g/azure-scenario-hub/blob/main/src/azure-integration-services-load-test/functions/audits-adaptor/Functions/AuditsAdaptor.cs"
click node_simpleapp "https://github.com/ricky-g/azure-scenario-hub/blob/main/src/simple-app-service-with-sample-app/sample-app/app.py"
click node_voice "https://github.com/ricky-g/azure-scenario-hub/blob/main/src/azure-communication-services-integrate-voice-live-api/python/main.py"
click node_speechprofile "https://github.com/ricky-g/azure-scenario-hub/blob/main/src/azure-speech-ssml-voice-consistency/app.py"
click node_benchmark "https://github.com/ricky-g/azure-scenario-hub/tree/main/src/apim-backend-fanout-benchmark"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_agentkit,node_mafentry,node_governance,node_audit,node_retry,node_transcription,node_tts toneBlue
class node_hybrid,node_proofui,node_proofserver,node_egressdash,node_egresscheck toneAmber
class node_loadtest,node_auditfunc,node_historyfunc,node_adapters,node_benchmark,node_gateway toneMint
class node_simpleapp,node_voice,node_speechprofile toneRose
class node_engineer,node_speechsvc,node_frontdoor,node_aks,node_cluster,node_bus,node_acs toneIndigo
```

## Components

### AI Demos

- [Agent Governance](https://github.com/ricky-g/azure-scenario-hub/tree/main/src/agent-governance-toolkit/microsoft-agent-framework-demos): `src/agent-governance-toolkit/microsoft-agent-framework-demos`
- [MAF Demo Entry](https://github.com/ricky-g/azure-scenario-hub/blob/main/src/agent-governance-toolkit/microsoft-agent-framework-demos/dotnet/AgtMaf.Demos/Program.cs): `src/agent-governance-toolkit/microsoft-agent-framework-demos/dotnet/AgtMaf.Demos/Program.cs`
- [Governance Runtime](https://github.com/ricky-g/azure-scenario-hub/blob/main/src/agent-governance-toolkit/microsoft-agent-framework-demos/dotnet/AgtMaf/GovernanceRuntime.cs): `src/agent-governance-toolkit/microsoft-agent-framework-demos/dotnet/AgtMaf/GovernanceRuntime.cs`
- [Audit Log](https://github.com/ricky-g/azure-scenario-hub/blob/main/src/agent-governance-toolkit/microsoft-agent-framework-demos/dotnet/AgtMaf/AuditLog.cs): `src/agent-governance-toolkit/microsoft-agent-framework-demos/dotnet/AgtMaf/AuditLog.cs`
- [Agent Retry Demo](https://github.com/ricky-g/azure-scenario-hub/blob/main/src/semantic-kernel-agent-retry-limit/app.py): `src/semantic-kernel-agent-retry-limit/app.py`
- [Realtime Transcription](https://github.com/ricky-g/azure-scenario-hub/blob/main/src/azure-openai-realtime-transcription/app.py): `src/azure-openai-realtime-transcription/app.py`
- [Realtime Speech](https://github.com/ricky-g/azure-scenario-hub/blob/main/src/azure-openai-realtime-text-to-speech/app.py): `src/azure-openai-realtime-text-to-speech/app.py`

### Networking Scenarios

- [Hybrid APIM DR](https://github.com/ricky-g/azure-scenario-hub/tree/main/src/front-door-private-appgw-apim-self-hosted-dr): `src/front-door-private-appgw-apim-self-hosted-dr`
- [Route Proof UI](https://github.com/ricky-g/azure-scenario-hub/blob/main/src/front-door-private-appgw-apim-self-hosted-dr/app/public/app.js): `src/front-door-private-appgw-apim-self-hosted-dr/app/public/app.js`
- [Evidence Server](https://github.com/ricky-g/azure-scenario-hub/blob/main/src/front-door-private-appgw-apim-self-hosted-dr/app/server.js): `src/front-door-private-appgw-apim-self-hosted-dr/app/server.js`
- [Egress Dashboard](https://github.com/ricky-g/azure-scenario-hub/blob/main/src/aks-unique-egress-ip-per-namespace/app/dashboard/app.py): `src/aks-unique-egress-ip-per-namespace/app/dashboard/app.py`
- [Egress Checker](https://github.com/ricky-g/azure-scenario-hub/blob/main/src/aks-unique-egress-ip-per-namespace/app/egress-checker/app.py): `src/aks-unique-egress-ip-per-namespace/app/egress-checker/app.py`

### Integration Workloads

- [Integration Load Test](https://github.com/ricky-g/azure-scenario-hub/tree/main/src/azure-integration-services-load-test): `src/azure-integration-services-load-test`
- [Audit Functions](https://github.com/ricky-g/azure-scenario-hub/blob/main/src/azure-integration-services-load-test/functions/audit-store/Functions/AuditStore.cs): `src/azure-integration-services-load-test/functions/audit-store/Functions/AuditStore.cs`
- [History Functions](https://github.com/ricky-g/azure-scenario-hub/blob/main/src/azure-integration-services-load-test/functions/history-store/Functions/HistoryStore.cs): `src/azure-integration-services-load-test/functions/history-store/Functions/HistoryStore.cs`
- [Service Bus Adapters](https://github.com/ricky-g/azure-scenario-hub/blob/main/src/azure-integration-services-load-test/functions/audits-adaptor/Functions/AuditsAdaptor.cs): `src/azure-integration-services-load-test/functions/audits-adaptor/Functions/AuditsAdaptor.cs`
- [APIM Fan-out Benchmark](https://github.com/ricky-g/azure-scenario-hub/tree/main/src/apim-backend-fanout-benchmark): `src/apim-backend-fanout-benchmark`

### Web And Speech Apps

- [Sample App Service](https://github.com/ricky-g/azure-scenario-hub/blob/main/src/simple-app-service-with-sample-app/sample-app/app.py): `src/simple-app-service-with-sample-app/sample-app/app.py`
- [ACS Voice Live](https://github.com/ricky-g/azure-scenario-hub/blob/main/src/azure-communication-services-integrate-voice-live-api/python/main.py): `src/azure-communication-services-integrate-voice-live-api/python/main.py`
- [SSML Voice Profile](https://github.com/ricky-g/azure-scenario-hub/blob/main/src/azure-speech-ssml-voice-consistency/app.py): `src/azure-speech-ssml-voice-consistency/app.py`

### Other components

- **Engineer**
- **Azure AI Services**
- **Azure Front Door**
- **Gateway And APIM**
- **AKS Backend**
- **AKS Namespaces**
- **Azure Service Bus**
- **Azure Communication Services**

## Connections

- Engineer → Agent Governance: runs demos
- MAF Demo Entry → Governance Runtime: runs scenarios
- Governance Runtime → Audit Log: records decisions
- Engineer → Agent Retry Demo: submits requests
- Agent Retry Demo → Azure AI Services: queries agents
- Engineer → Realtime Transcription: provides audio
- Realtime Transcription → Azure AI Services: streams audio
- Azure AI Services → Realtime Transcription: returns transcript
- Engineer → Realtime Speech: provides text
- Realtime Speech → Azure AI Services: requests speech
- Engineer → Route Proof UI: selects route
- Route Proof UI → Evidence Server: requests test
- Evidence Server → Azure Front Door: sends correlated request
- Azure Front Door → Gateway And APIM: routes traffic
- Gateway And APIM → AKS Backend: forwards request
- Evidence Server → Route Proof UI: returns evidence
- Engineer → Egress Dashboard: views status
- Egress Dashboard → Egress Checker: queries namespaces
- Egress Checker → AKS Namespaces: checks egress
- Engineer → Integration Load Test: runs workload
- Integration Load Test → Audit Functions: exercises audit path
- Integration Load Test → History Functions: exercises history path
- Service Bus Adapters → Azure Service Bus: uses messaging
- Engineer → Sample App Service: requests page
- Engineer → ACS Voice Live: places call
- Azure Communication Services → ACS Voice Live: posts call events
- ACS Voice Live → Azure Communication Services: starts call automation
- Engineer → SSML Voice Profile: supplies text
- SSML Voice Profile → Azure AI Services: synthesizes audio
- Engineer → APIM Fan-out Benchmark: runs benchmark
