Xây dựng và triển khai một nền tảng AI toàn diện, tự vận hành trên AWS, có khả năng phục vụ cả người dùng cuối (qua RAG Chatbot) và đội ngũ vận hành (qua AIOps).
flowchart LR
%% ==== External Entities ====
User([User]):::user -- "HTTP Request" --> ALB[AWS ALB]:::aws
Developer([Developer/Operator]):::user -- "ChatOps/CLI" --> AgentCtrl
LegalSources[(External Legal Sources)]:::db -- "Data" --> Crawler
GitRepo[(Git Repository)]:::db -- "Code & Config" --> CICD[GitHub Actions]
CICD -- "Push Image" --> ECR[AWS ECR]:::aws
GitRepo -- "Sync Manifests" --> ArgoCD[ArgoCD]:::infra
%% ==== Namespace APP ====
subgraph APP_Namespace[Namespace: app]
direction TB
FE[React Frontend]:::frontend --> API[FastAPI Backend + Celery]:::backend
API --> Mongo[(MongoDB)]:::db
API --> Qdrant[(Qdrant Vector DB)]:::db
API --> Redis[(Redis Cache/Queue)]:::db
end
%% ==== Namespace ML ====
subgraph ML_Namespace[Namespace: ml]
direction TB
Crawler[Crawler/Ingestion]:::ml --> S3[(AWS S3 Data Lake)]:::db
Airflow[Airflow Orchestrator]:::ml --> Crawler
Airflow --> SageMaker[SageMaker Jobs]:::ml
SageMaker --> S3
Airflow --> MLflow[MLflow Tracking]:::ml
end
%% ==== Namespace MONITORING ====
subgraph Monitoring_Namespace[Namespace: monitoring]
direction TB
Prometheus[Prometheus Metrics]:::monitor --> Grafana[Grafana Dashboard]:::monitor
Loki[Loki + Promtail]:::monitor --> Grafana
Prometheus --> Alertmanager[Alertmanager]:::monitor
end
%% ==== Namespace AGENT (MCP Host) ====
subgraph Agent_Namespace[Namespace: agent]
direction TB
AgentCtrl["AI Agent Controller <br> (MCP Host)"]:::agent
end
%% ==== Namespace MCP SERVERS ====
subgraph MCP_Servers_Namespace[Namespace: mcp]
direction TB
K8s_MCP[Kubernetes MCP Server]:::mcp
Airflow_MCP[Airflow MCP Server]:::mcp
Monitoring_MCP[Monitoring MCP Server]:::mcp
ArgoCD_MCP[ArgoCD MCP Server]:::mcp
end
%% ==== Namespace INFRA / SECURITY ====
subgraph INFRA_Namespace[Namespace: infra]
direction TB
ArgoCD
SecretsManager[(AWS Secrets Manager)]:::aws
end
%% ==== Kubernetes Cluster API ====
K8sAPI[(Kubernetes API)]:::aws
%% ==== Core Flows ====
ALB -- "HTTP" --> FE
ArgoCD -- "Deploy" --> K8sAPI
%% ==== Monitoring -> Agent Flow ====
Alertmanager -- "Alerts" --> AgentCtrl
%% ==== Agent -> MCP Flow (THE CORE CHANGE) ====
AgentCtrl -- "MCP Protocol" --> K8s_MCP
AgentCtrl -- "MCP Protocol" --> Airflow_MCP
AgentCtrl -- "MCP Protocol" --> Monitoring_MCP
AgentCtrl -- "MCP Protocol" --> ArgoCD_MCP
%% ==== MCP -> System Flow ====
K8s_MCP -- "kubectl/helm" --> K8sAPI
Airflow_MCP -- "Trigger DAG" --> Airflow
Monitoring_MCP -- "Query Metrics/Logs" --> Prometheus
Monitoring_MCP -- "Query Metrics/Logs" --> Loki
ArgoCD_MCP -- "Sync/Rollback" --> ArgoCD
%% ==== Secrets Flow ====
SecretsManager -- "Inject Secrets" --> APP_Namespace
SecretsManager -- "Inject Secrets" --> ML_Namespace
SecretsManager -- "Inject Secrets" --> Agent_Namespace
%% ==== Class Colors ====
classDef user fill:#4da3ff,stroke:#ffffff,stroke-width:1px,color:#ffffff;
classDef aws fill:#ffd84d,stroke:#ffffff,stroke-width:1px,color:#000000;
classDef backend fill:#4dff88,stroke:#ffffff,stroke-width:1px,color:#000000;
classDef frontend fill:#ff80aa,stroke:#ffffff,stroke-width:1px,color:#000000;
classDef db fill:#cccccc,stroke:#ffffff,stroke-width:1px,color:#000000;
classDef ml fill:#ffb84d,stroke:#ffffff,stroke-width:1px,color:#000000;
classDef monitor fill:#66ffff,stroke:#ffffff,stroke-width:1px,color:#000000;
classDef agent fill:#d966ff,stroke:#ffffff,stroke-width:1px,color:#000000;
classDef infra fill:#c2c2f0,stroke:#ffffff,stroke-width:1px,color:#000000;
classDef mcp fill:#ff9999,stroke:#ffffff,stroke-width:1px,color:#000000;
💡 Ghi chú Flow:
app: API, Celey, Redis, MongoDB, Qdrant.ml: Airflow, MLflow, SageMaker jobs.monitoring: Loki, Grafana, Promtail.Helmfile deploy lỗi chart không tìm thấy
helm repo update trước khi deploy.EKS pods CrashLoopBackOff
kubectl logs -n <ns> <pod> để xem log, thường do thiếu env hoặc config map.Ingress không vào được