
함께 구매하면 좋은 상품이에요! - 장바구니 추천 개발기 2부
두줄요약
실시간 장바구니 추천을 위해 EKS·TorchServe 중심의 모델 서빙과 MLOps 아키텍처를 구축했습니다. CPU 성능, warm up, GracefulShutdown으로 지연시간과 배포 안정성을 개선했습니다.
구조와 흐름
- EKS 기반 서비스 API·TorchServe 모델 API, BigQuery 로그 적재, Datadog·Slack 모니터링 조합의 실시간 장바구니 추천 서빙 구조
- 서비스 API의 fallback 추천, 모델 버전 라우팅을 통한 A/B 테스트, 후처리 비즈니스 로직, 요청·응답 로깅 담당
- Kubeflow 학습 파이프라인, MLflow 아티팩트, ECR 이미지, ArgoCD Image Updater·ArgoCD 배포를 잇는 자동화 흐름
선택 이유
- BentoML과 TorchServe의 Locust 성능 테스트 결과를 바탕으로 응답 시간이 우수한 TorchServe 채택
- PyTorch 기반 추천 모델과의 적합성, 기존 데이터 연동 인프라의 Kafka·NiFi·BigQuery 재활용
- StartupProbe 기반 warm up으로 첫 요청의 모델 초기화·클래스 로딩 지연 완화
성능/운영 포인트
- TorchServe FIFO 처리 특성상 낮은 지연시간의 핵심 요인으로 높은 CPU Clock Speed 인스턴스 선정
- Datadog의 CPU·Memory·RPS 대시보드와 필요한 컨테이너 로그만 수집하는 필터링 구성
- Helm Chart 기반 Locust 부하 테스트와 GrowthBook·BigQuery 기반 A/B 테스트 분석
주의할 점
- EKS ALB TargetGroup 전환 시 기존·신규 pod 연결 교체로 발생 가능한 배포 다운타임
- preStop Hook, terminationGracePeriodSeconds, ALB idle timeout의 시간 관계를 고려한 GracefulShutdown 설정
- TorchServe 자체 graceful shutdown만으로 보장하기 어려운 네트워크 수준 요청 유실 대응


