11# Agentic Architecture - Container Migration Solution Accelerator
22
3- Based on your actual implementation, here's the comprehensive agentic architecture that mirrors the style of your reference image:
3+ High-level view of how the 4-step orchestration works (executors, group chat orchestrators, and tools).
44
55## Architecture Overview
66
77``` mermaid
8- graph TB
9- subgraph "Entry Layer"
10- WEB[Web App/Queue]
11- SERVICE[Migration Service]
8+ flowchart LR
9+ %% Top-level orchestration + telemetry
10+ TELEM["Agent & Process Status<br/>(telemetry)"]
11+ COSMOS[("Cosmos DB<br/>telemetry/state")]
12+ PROC["Process Orchestration<br/>Agent Framework WorkflowBuilder"]
13+
14+ TELEM --> COSMOS
15+ PROC --- TELEM
16+
17+ %% Step lanes
18+ subgraph S1["Step 1: Analysis"]
19+ direction TB
20+ S1EXEC["Analysis Executor"] --> S1ORCH["Analysis Chat Orchestrator<br/>(GroupChatOrchestrator)"] --> S1AGENTS["Agents:<br/>Chief Architect<br/>AKS Expert<br/>Platform experts (EKS/GKE/OpenShift/Rancher/Tanzu/OnPremK8s)"]
1221 end
1322
14- subgraph "Process Engine"
15- PROC[Process Orchestrator<br/>Semantic Kernel]
23+ subgraph S2["Step 2: Design"]
24+ direction TB
25+ S2EXEC["Design Executor"] --> S2ORCH["Design Chat Orchestrator<br/>(GroupChatOrchestrator)"] --> S2AGENTS["Agents:<br/>Chief Architect<br/>AKS Expert<br/>Platform experts (EKS/GKE/OpenShift/Rancher/Tanzu/OnPremK8s)"]
1626 end
1727
18- subgraph "Migration Steps"
19- ANALYSIS[Analysis Step<br/>Platform Discovery]
20- DESIGN[Design Step<br/>Azure Architecture]
21- YAML[YAML Step<br/>Configuration Transform]
22- DOCS[Documentation Step<br/>Report Generation]
28+ subgraph S3["Step 3: YAML Conversion"]
29+ direction TB
30+ S3EXEC["Convert Executor"] --> S3ORCH["YAML Chat Orchestrator<br/>(GroupChatOrchestrator)"] --> S3AGENTS["Agents:<br/>YAML Expert<br/>Azure Architect<br/>AKS Expert<br/>QA Engineer<br/>Chief Architect"]
2331 end
2432
25- subgraph "AI Agents (7 Specialists)"
26- AGENTS[Multi-Agent System<br/>• Technical Architect<br/>• Azure Expert<br/>• EKS/GKE Experts<br/>• QA Engineer<br/>• Technical Writer<br/>• YAML Expert]
33+ subgraph S4["Step 4: Documentation"]
34+ direction TB
35+ S4EXEC["Documentation Executor"] --> S4ORCH["Documentation Chat Orchestrator<br/>(GroupChatOrchestrator)"] --> S4AGENTS["Agents:<br/>Technical Writer<br/>Azure Architect<br/>AKS Expert<br/>Chief Architect<br/>Platform experts (EKS/GKE/OpenShift/Rancher/Tanzu/OnPremK8s)"]
2736 end
2837
29- subgraph "Tool Layer"
30- MCP[MCP Servers<br/>• Blob Storage<br/>• Microsoft Docs<br/>• DateTime Utils]
31- end
32-
33- subgraph "Storage Layer"
34- STORAGE[Azure Services<br/>• Blob Storage<br/>• Cosmos DB<br/>• OpenAI GPT o3]
35- end
38+ PROC --> S1
39+ S1 -->|Analysis Result| S2
40+ S2 -->|Design Result| S3
41+ S3 -->|YAML Converting Result| S4
3642
37- %% Main Flow
38- WEB --> SERVICE
39- SERVICE --> PROC
40- PROC --> ANALYSIS
41- ANALYSIS --> DESIGN
42- DESIGN --> YAML
43- YAML --> DOCS
44-
45- %% AI Integration
46- ANALYSIS -.-> AGENTS
47- DESIGN -.-> AGENTS
48- YAML -.-> AGENTS
49- DOCS -.-> AGENTS
50-
51- %% Tool Access
52- AGENTS -.-> MCP
53- MCP -.-> STORAGE
54-
55- %% Styling for better readability
56- classDef entryLayer fill:#e3f2fd,stroke:#1976d2,stroke-width:3px,color:#000
57- classDef processLayer fill:#fff3e0,stroke:#f57c00,stroke-width:3px,color:#000
58- classDef stepLayer fill:#f3e5f5,stroke:#7b1fa2,stroke-width:3px,color:#000
59- classDef agentLayer fill:#e8f5e8,stroke:#388e3c,stroke-width:3px,color:#000
60- classDef toolLayer fill:#fce4ec,stroke:#c2185b,stroke-width:3px,color:#000
61- classDef storageLayer fill:#e1f5fe,stroke:#0288d1,stroke-width:3px,color:#000
62-
63- class WEB,SERVICE entryLayer
64- class PROC processLayer
65- class ANALYSIS,DESIGN,YAML,DOCS stepLayer
66- class AGENTS agentLayer
67- class MCP toolLayer
68- class STORAGE storageLayer
6943```
7044
7145## Agent Specialization by Phase
7246
7347### Analysis Phase Agents
7448
75- - ** Technical Architect** : Leads overall analysis strategy and coordination
76- - ** EKS Expert** : Identifies AWS EKS-specific patterns and configurations
77- - ** GKE Expert ** : Identifies Google GKE-specific patterns and configurations
49+ - ** Chief Architect** : Leads overall analysis strategy and coordination
50+ - ** AKS Expert** : Reviews for AKS/Azure migration readiness
51+ - ** Platform experts ** : Registry-loaded participants (EKS/ GKE/OpenShift/Rancher/Tanzu/OnPremK8s); coordinator keeps non-matching experts quiet
7852
7953### Design Phase Agents
8054
81- - ** Technical Architect** : Defines migration architecture patterns
82- - ** Azure Expert** : Designs Azure service mappings and optimizations
83- - ** EKS Expert** : Provides source platform context for AWS workloads
84- - ** GKE Expert** : Provides source platform context for GCP workloads
55+ - ** Chief Architect** : Defines migration architecture patterns and reconciles trade-offs
56+ - ** AKS Expert** : Ensures AKS-specific conventions and constraints are applied
57+ - ** Platform experts** : Provide source-platform context and constraints for the detected platform
8558
8659### YAML Conversion Phase Agents
8760
8861- ** YAML Expert** : Performs configuration transformations and syntax optimization
89- - ** Azure Expert** : Ensures Azure service integration and compliance
62+ - ** Azure Architect** : Ensures Azure service integration and compliance
63+ - ** AKS Expert** : Ensures converted manifests align with AKS expectations
9064- ** QA Engineer** : Validates converted configurations and tests
91- - ** Technical Writer ** : Documents conversion decisions and generates reports
65+ - ** Chief Architect ** : Provides overall review and integration
9266
9367### Documentation Phase Agents
9468
95- - ** Technical Architect** : Provides architectural documentation and migration summary
96- - ** Azure Expert** : Documents Azure-specific configurations and optimizations
97- - ** EKS/GKE Experts** : Document source platform analysis and transformation logic
98- - ** QA Engineer** : Provides validation reports and testing documentation
9969- ** Technical Writer** : Creates comprehensive migration documentation
70+ - ** Azure Architect** : Documents Azure-specific configurations and optimizations
71+ - ** AKS Expert** : Documents AKS-focused implementation guidance and caveats
72+ - ** Chief Architect** : Provides architectural documentation and migration summary
73+ - ** Platform experts** : Document source platform analysis and transformation logic
10074
10175## Data Flow Architecture
10276
10377### Input Processing
10478
105- 1 . ** Queue Service ** receives migration requests from web app or direct API
106- 2 . ** Migration Service ** processes queue messages and initiates migration process
107- 3 . ** Process Orchestrator ** manages step-by-step execution with event routing
79+ 1 . ** Web app ** creates a migration request
80+ 2 . ** Queue worker service ** receives the migration request from ** Azure Storage Queue **
81+ 3 . ** Migration Processor ** runs the end-to-end workflow (analysis → design → yaml → documentation)
10882
10983### Step Execution Pattern
11084
@@ -121,11 +95,13 @@ Each step follows this pattern:
12195
12296### MCP Server Integration
12397
124- All agents have access to Model Context Protocol (MCP) servers via Semantic Kernel plugin :
98+ All agents have access to Model Context Protocol (MCP) servers via Microsoft Agent Framework tool abstractions :
12599
126100- ** Blob Operations** : File reading/writing to Azure Blob Storage
127101- ** Microsoft Docs** : Azure documentation lookup and best practices
128102- ** DateTime Utilities** : Timestamp generation and time-based operations
103+ - ** Fetch** : URL fetching for validation (e.g., verifying references)
104+ - ** YAML Inventory** : Enumerate converted YAML objects for runbooks
129105
130106## Key Architectural Principles
131107
@@ -140,22 +116,27 @@ Each step has a focused objective:
140116
141117### Event-Driven Orchestration
142118
143- Steps communicate through Semantic Kernel events:
144-
145- - ` StartMigration ` → Analysis Step
146- - ` AnalysisCompleted ` → Design Step
147- - ` DesignCompleted ` → YAML Step
148- - ` YamlCompleted ` → Documentation Step
119+ Steps are executed as a directed workflow (with start node and edges) using the Agent Framework workflow engine.
120+ The processor emits workflow/executor events for observability and telemetry.
149121
150122### Multi-Agent Collaboration
151123
152- Within each step, specialized agents collaborate through GroupChat orchestration:
124+ Within each step, specialized agents collaborate through group chat orchestration:
153125
154126- Structured conversation patterns
155127- Domain expertise contribution
156128- Consensus building on decisions
157129- Quality validation and review
158130
131+ ### Evaluation and Quality Checks
132+
133+ The processor uses multiple quality signals to reduce regressions and increase reliability:
134+
135+ - ** Typed step outputs** : workflow executors and orchestrators exchange typed models per step (analysis → design → yaml → documentation).
136+ - ** QA sign-offs** : the QA agent focuses on validation steps and flags missing/unsafe transformations.
137+ - ** Tool-backed validation** : steps can call validation tools via MCP (e.g., Mermaid validation, YAML inventory grounding, docs lookups).
138+ - ** Unit tests** : processor unit tests live under [ src/processor/src/tests/unit/] ( ../src/processor/src/tests/unit/ ) .
139+
159140### Tool-Enabled Intelligence
160141
161142Agents access external capabilities through MCP servers:
@@ -176,41 +157,27 @@ Comprehensive tracking throughout the process:
176157## File Location Mapping
177158
178159``` text
179- src/
180- ├── main_service.py # Queue Service Entry Point
181- ├── services/migration_service.py # Migration Orchestration
182- ├── libs/processes/
183- │ └── aks_migration_process.py # Process Framework Definition
184- ├── libs/steps/
185- │ ├── analysis_step.py # Analysis Step Implementation
186- │ ├── design_step.py # Design Step Implementation
187- │ ├── yaml_step.py # YAML Step Implementation
188- │ └── documentation_step.py # Documentation Step Implementation
189- ├── libs/steps/orchestration/
190- │ ├── analysis_orchestration.py # Analysis Agent Orchestration
191- │ ├── design_orchestration.py # Design Agent Orchestration
192- │ ├── yaml_orchestration.py # YAML Agent Orchestration
193- │ └── documentation_orchestration.py # Documentation Agent Orchestration
194- ├── agents/
195- │ ├── technical_architect/agent_info.py
196- │ ├── azure_expert/agent_info.py
197- │ ├── eks_expert/agent_info.py
198- │ ├── gke_expert/agent_info.py
199- │ ├── qa_engineer/agent_info.py
200- │ ├── technical_writer/agent_info.py
201- │ └── yaml_expert/agent_info.py
202- └── plugins/mcp_server/
203- ├── MCPBlobIOPlugin.py # Azure Blob Storage MCP Server
204- ├── MCPMicrosoftDocs.py # Microsoft Docs MCP Server
205- └── MCPDatetimePlugin.py # DateTime Utilities MCP Server
160+ src/processor/src/
161+ ├── main_service.py # Queue worker entry point
162+ ├── services/queue_service.py # Azure Storage Queue consumer
163+ ├── services/control_api.py # Control API (health/kill)
164+ ├── services/process_control.py # Process control store/manager
165+ ├── steps/migration_processor.py # WorkflowBuilder + step chaining
166+ ├── steps/analysis/workflow/analysis_executor.py
167+ ├── steps/design/workflow/design_executor.py
168+ ├── steps/convert/workflow/yaml_convert_executor.py
169+ └── steps/documentation/
170+ ├── orchestration/documentation_orchestrator.py
171+ ├── workflow/documentation_executor.py
172+ └── agents/ # Agent prompt files
206173```
207174
208175## Summary
209176
210177This architecture implements a sophisticated agentic system that combines:
211178
212- - ** Semantic Kernel Process Framework** for structured workflow execution
213- - ** Multi-Agent GroupChat Orchestration** for domain expertise collaboration
179+ - ** Microsoft Agent Framework Workflow ** for structured workflow execution
180+ - ** Multi-Agent Group Chat Orchestration** for domain expertise collaboration
214181- ** Model Context Protocol (MCP)** for tool integration and external system access
215182- ** Azure Cloud Services** for scalable storage and data management
216183- ** Event-Driven Architecture** for loose coupling and reliability
0 commit comments