Deployment Architecture

로컬 및 클라우드 배포 아키텍처

← 메인으로
💻

로컬 환경 아키텍처 (현재 PoC)

단일 머신에서 모든 컴포넌트 실행 - 개발/테스트용

👤

사용자

웹 브라우저

↓
LOCAL MACHINE (MacBook/PC)
⚡

FastAPI

REST API Server
Port 8000

↓
🔍

RAG Engine

Query Parser
Filter & Rerank

🗄️

ChromaDB

Vector Store
In-Memory

↓
🦙

Ollama (sLLM)

Qwen 2.5:7B

기술 스택

🖥️ Runtime

🐍 Python 3.9+
⚡ FastAPI + Uvicorn
📦 Pydantic

🧠 AI/ML

🦙 Ollama (Local LLM Runner)
💬 Qwen 2.5:7B (4.4GB)
📐 multilingual-e5-large (임베딩)

💾 Vector Database

🔮 ChromaDB (PersistentClient)
📐 multilingual-e5-large (임베딩)
📄 JSON 데이터 파일 (100개 장비)
💡 PoC용. 프로덕션은 미팅 후 선택

🎨 Frontend

🌐 Vanilla JavaScript
📡 SSE Streaming
🎨 CSS3

권장 사양

항목 최소 사양 권장 사양
CPU 4 Core 8 Core (Apple M1/M2 또는 동급)
RAM 8GB 16GB+
Storage 10GB (모델 포함) 20GB+ SSD
GPU 없음 (CPU 추론) Metal (Mac) / CUDA (NVIDIA)
☁️

클라우드 환경 아키텍처 (프로덕션)

확장 가능한 프로덕션 배포 - AWS/GCP/Azure

👥

사용자들

웹/모바일

↓
🌐

CDN + ALB

CloudFront
Load Balancer

↓
AWS / GCP / Azure
🐳

API Container

ECS / Cloud Run

🐳

API Container

Auto Scaling

🐳

API Container

+N instances

↓
🔍

RAG Service

Query Processing
Context Builder

🔮

Vector DB

Qdrant / Milvus /
Weaviate / pgvector

🗃️

Cache

Redis / ElastiCache
Query Caching

↓
🦙

Self-hosted LLM

GPU Instance
Qwen / Llama / Mistral

OR
🤖

Managed LLM API

Claude / GPT-4
Bedrock / Vertex AI

↓
📊

Monitoring

CloudWatch
Prometheus

📝

Logging

ELK Stack
Datadog

클라우드 LLM 배포 옵션

☁️

Managed API

Claude API / GPT-4 API 사용
빠른 구축 + 최신 모델

$0.003-0.06/1K tokens
AWS Bedrock
Azure OpenAI
🔀

Hybrid

임베딩: Self-hosted
생성: Managed API

비용 최적화
벡터 검색은 로컬
응답 생성은 API

벡터 데이터베이스 후보 상세 비교

항목 Qdrant Milvus Weaviate pgvector
라이선스 Apache 2.0 Apache 2.0 BSD-3 PostgreSQL
언어 Rust Go + C++ Go C
호스팅 셀프호스팅
Qdrant Cloud
셀프호스팅
Zilliz Cloud
셀프호스팅
Weaviate Cloud
PostgreSQL 확장
AWS RDS 지원
데이터 규모 1K~100M 100K~1B+ 1K~100M ~100K
메타데이터
필터링
강력
복합 조건 지원
강력
스칼라 필터링
강력
GraphQL 쿼리
강력
SQL WHERE절
하이브리드
검색
지원
(BM25 + 벡터)
지원
(Sparse + Dense)
강력
BM25F 내장
지원
(tsvector 조합)
분산/확장 샤딩, 복제 지원 최강
수평 확장
샤딩 지원 제한적
PG 확장 의존
GPU 가속 미지원 지원 미지원 미지원
설치 난이도 쉬움
Docker 1줄
보통
의존성 많음
쉬움
Docker 1줄
쉬움
PG 확장 설치
클라우드 가격 $25~/월
(1M 벡터)
$65~/월
(Zilliz)
$25~/월
(Sandbox)
RDS 비용
(PostgreSQL)
KION 적합성 높음
메타데이터 필터링
(웨이퍼/온도/기관)
보통
대규모일 때 적합
(10만건 이상)
높음
하이브리드 검색
(장비명+스펙)
높음
기존 PG 있으면
추가 비용 없음
⚠️ 미팅 후 결정 필요: 장비 데이터 규모, 온프레미스/클라우드 정책, 기존 인프라(PostgreSQL 유무)에 따라 선택

의사결정 가이드

Q1 장비 데이터가 10만건 이상인가요? → Yes: Milvus 고려
Q2 기존에 PostgreSQL을 사용 중인가요? → Yes: pgvector 고려
Q3 키워드+벡터 하이브리드 검색이 중요한가요? → Yes: Weaviate 고려
Q4 메타데이터 필터링(웨이퍼, 온도, 기관)이 핵심인가요? → Yes: Qdrant 고려

배포 파이프라인

1

Code Push

GitHub에 코드 푸시

2

CI/CD

GitHub Actions
테스트 & 빌드

3

Container Build

Docker 이미지
ECR/GCR 푸시

4

Deploy

ECS/Cloud Run
자동 배포

5

Monitor

헬스체크
알림 설정

AWS 구성 예시

🌐 네트워크

🔒 VPC + Private Subnets
⚖️ Application Load Balancer
🌍 CloudFront CDN
🔐 WAF (Web Application Firewall)

🖥️ Compute

🐳 ECS Fargate (API)
🎮 EC2 g4dn.xlarge (LLM)
📈 Auto Scaling Group

💾 Storage & DB

🔮 Vector DB (미팅 후 선택)
Qdrant / Milvus / pgvector / Weaviate
⚡ ElastiCache Redis (캐시)
📦 S3 (모델/데이터 저장)

🤖 AI/ML

🧠 SageMaker (모델 호스팅)
☁️ Bedrock (Claude API)
📊 또는 Self-hosted Ollama
⚖️

로컬 vs 클라우드 비교

환경별 장단점 및 적용 시나리오

항목 로컬 환경 클라우드 환경
초기 비용 낮음 - 기존 장비 활용 높음 - 인프라 구축 필요
운영 비용 무료 - 전기료만 $200-1000+/월
확장성 제한적 - 단일 머신 무제한 - Auto Scaling
동시 사용자 1-5명 100-10,000+명
응답 속도 3-10초 (CPU 추론) 1-3초 (GPU 추론)
가용성 제한적 - 수동 관리 99.9%+ - 자동 복구
데이터 보안 완벽 - 로컬 저장 우수 - VPC 격리
모델 선택 소형 모델 (7B 이하) 모든 크기 가능
유지보수 수동 자동화
적합 용도 PoC, 개발, 테스트, 소규모 내부용 프로덕션, 다수 사용자, 24/7 서비스

마이그레이션 경로

1

Phase 1: PoC

로컬 환경
기능 검증
데이터 수집

2

Phase 2: Pilot

단일 클라우드 인스턴스
소규모 사용자 테스트

3

Phase 3: Beta

컨테이너화
CI/CD 구축
모니터링 추가

4

Phase 4: Production

완전한 클라우드
Auto Scaling
고가용성

추천 시나리오

🔬

R&D / PoC

기능 검증 및 프로토타이핑

✅ 로컬 환경
✅ Ollama + Qwen
✅ ChromaDB
🏢

기관 내부용

KION 협력 기관 내부 서비스

✅ AWS/GCP 기본 구성
✅ Self-hosted LLM
❓ Vector DB (미팅 후 선택)
🌍

공개 서비스

일반 사용자 대상 서비스

✅ 완전한 클라우드 구성
✅ Managed LLM API
❓ Vector DB (미팅 후 선택)