[AI] 단계별 설계를 통한 아키텍처 진화 요약 - 100-hours-a-week/5-yeosa-wiki GitHub Wiki

1. 단계별 설계를 통한 아키텍처 진화 요약

단계 주요 내용 아키텍처 진화 방향 실제 효과
1. 모델 API 설계 CLIP, ArcFace, Stable Diffusion 등을 기반으로 한 모델 API 설계 및 기본 추론 파이프라인 구축 모델 기능을 FastAPI에 통합하여 MVP 구조 확보 추론 요청 수락 및 간단한 동기 처리가 가능한 단일 서비스 완성
2. 추론 성능 최적화 병목 구간 분석 (예: CLIP 임베딩 반복 연산), 캐시 도입, GPU 연산 분리 임베딩 캐시 → 중복 연산 제거, GPU 작업 분리 → 자원 최적화 처리 속도 향상, GPU 서버 병목 해소, FastAPI 응답 안정성 향상
3. 서비스 아키텍처 모듈화 FastAPI 내 기능별 라우터 및 서비스 모듈 구조 분리 (embedding, duplicate, people 등) 각 기능이 독립적으로 수정/확장 가능한 구조로 변경 기능 수정 시 다른 기능에 영향 없음, 향후 마이크로서비스 전환 용이
4. LangChain, RAG, MCP 관련 기술 타당성 분석 Gemini API는 사용하지만, LangChain, RAG, MCP는 사용하지 않음 불필요한 추상화 제거 → 단순하고 직관적인 아키텍처 유지 빠른 호출, 유지보수 간결, 프롬프트 생성 품질은 그대로 확보
5. 확장성과 안정성 확보를 위한 인프라 설계 Redis 기반 메시지 큐, GCS 분산 저장, Cloud NAT, Prometheus-Grafana 도입 비동기 구조, 모니터링, 부하 분산, 오토스케일링 가능 구조로 진화 병렬 처리 성능 확보, 장애 대응력 향상, 운영 자동화 기반 마련

2. 총괄 인사이트

  • 설계 초기에는 모든 기능이 단일 FastAPI에 집약된 구조였지만,
    • 점차적으로 추론 최적화, 모듈화, 비동기 처리, 분산 인프라 활용, 모니터링 기반 안정성 강화 등의 과정을 거치면서
  • 현재는 확장성과 유지보수성, 성능 안정성을 모두 갖춘 아키텍처로 진화