관측 플랫폼 · MSP 최종 팀 프로젝트 · 2026
Aegis-Pi Risk Twin
Multi-factory safety observability platform
여러 공장의 telemetry를 AWS data plane으로 모아 중앙 dashboard와 AI report·alert로 연결했습니다. 제어 경로와 조회 경로는 별도 plane으로 나눴습니다.
Fleet
Multi-factory
여러 공장 상태를 한 기준으로 조회
Read model
DynamoDB
IoT telemetry 중앙 조회 모델
Plane
control / user
제어 경로와 조회 경로 분리
왜 경로를 나눴나
read model과 plane 분리 결정
공장별 edge 상태를 중앙에서 같은 기준으로 조회해야 했고, 3개 공장 24시간 이력 동시 조회의 cascade 504를 최신 상태 조회와 장기 history 경로의 서로 다른 원인으로 분리할 필요가 있었습니다.
작업 파트
- Data/Dashboard VPC Terraform, DynamoDB Streams→Redis notifier, FastAPI dashboard backend, React dashboard를 개인 구현했습니다.
- DataProcessor·GraphAggregator5m·RiskAlertDispatcher(Slack)는 팀원 구현을 수용해 S3·DynamoDB·IoT 계약과 통합했습니다.
- 데이터 처리 방식과 dashboard 아키텍처 설계를 팀과 지속적으로 논의하며 결정했습니다.
핵심 결과
- MSP 솔루션 아키텍트 양성과정 최종 프로젝트 발표 최우수팀 수상
- Data/Dashboard Terraform·Streams→Redis notifier·FastAPI/React 개인 구현
- 조회 장애 원인 분리 · 1h raw/6·12·24h GRAPH#5M 조회 계약 재설계
telemetry에서 dashboard까지
On-prem → Cloud → AX 연결 구조
Factory Spoke telemetry가 IoT Core와 read model을 거쳐 dashboard, report, alert에 도달하는 경로입니다.
On-prem → Cloud → AX
공장 telemetry에서 AI 리포트·알림까지
제어 경로와 사용자 조회 경로를 별도 plane으로 나눈 전체 아키텍처 흐름입니다.
On-premises
Factory Spoke
K3s · 센서/AI workload · telemetry 생성
Cloud
AWS data plane
IoT Core → Lambda → DynamoDB read model
AX · AI 활용
Report & Alert
Bedrock report·chat · Slack alert 구성
Control / management plane
EKS · Argo CD
User / read plane
CloudFront · ECS Fargate FastAPI
Architecture boundary
- Factory Spoke telemetry를 AWS IoT Core, S3/Lambda를 거쳐 DynamoDB read model로 연결했습니다. dashboard는 원시 telemetry를 직접 스캔하지 않고 사전 집계된 상태만 조회합니다.
- 최신 상태 조회의 cold-start contention과 장기 history pagination fan-out을 분리하고, 1시간은 raw·6/12/24시간은 GRAPH#5M을 읽는 조회 계약을 backend와 frontend fallback에 반영했습니다.
- EKS/Argo CD 중심 control plane과 CloudFront, ECS Fargate FastAPI 중심 dashboard plane을 분리해, 배포·제어 경로가 사용자 조회 경로에 영향을 주지 않게 했습니다.
- Cognito 인증, RDS/Redis, WebSocket, Bedrock 기반 report·alert 구성을 architecture boundary로 문서화했습니다.
관제 화면
아키텍처와 dashboard
전체 아키텍처, fleet overview, cloud infra status, AI 요약 화면입니다.
관제 화면
개인 구현 범위와 팀 산출물
Data/Dashboard Terraform·Streams→Redis notifier·FastAPI/React는 개인 구현 저장소에서, DataProcessor·GraphAggregator5m·Slack Alert는 팀 저장소와 Wiki에서 확인할 수 있습니다.
dashboard_vpc 개인 구현
- 개인 구현 범위는 Data/Dashboard VPC Terraform, DynamoDB Streams→Redis notifier, dashboard backend/frontend 코드이며 공개 저장소 dashboard_vpc에서 확인할 수 있습니다.
- DataProcessor·GraphAggregator5m·RiskAlertDispatcher(Slack), Edge(K3s Spoke)·EKS Hub와 최우수팀 수상은 팀 통합 범위입니다.
- 장애 당시 48시간 TTL 116,000건 이상과 Query page 50회 이상은 원인 분리의 진단값입니다. 동일 부하의 변경 전후 p50/p95·오류율을 재측정하지 않아 성능 개선 완료로 주장하지 않습니다.
개인 구현 저장소 (dashboard_vpc)
Data/Dashboard Terraform, Streams→Redis notifier, FastAPI/React 코드
조회 계약 ADR
장애 관측값, 원인 분리, raw/GRAPH#5M 조회 계약
History API 계약
조회 window별 data source와 response contract
팀 GitHub 저장소
프로젝트 Wiki
전체 아키텍처 다이어그램
온프레미스·데이터 파이프라인·dashboard/management VPC·AI report/alert 전체 구성 (확대 보기)
최종 발표자료 PDF
MSP 최종 프로젝트 발표자료
최우수팀 수상 상장
MSP 최종 프로젝트 발표 최우수팀 · 팀명 일터방패 · 팀 수상 범위