목록 보기
함께 구매하면 좋은 상품이에요! - 장바구니 추천 개발기 2부
AI

함께 구매하면 좋은 상품이에요! - 장바구니 추천 개발기 2부

마켓컬리
마켓컬리
2024년 5월 27일

두줄요약

실시간 장바구니 추천을 위해 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만으로 보장하기 어려운 네트워크 수준 요청 유실 대응

다음 읽기

#Kubernetes 주제를 이어서 읽기

함께 구매하면 좋은 상품이에요! - 장바구니 추천 개발기 2부

실시간 장바구니 추천 모델을 위한 서빙 아키텍처와 운영 체계를 소개했습니다. TorchServe, Kubernetes, ArgoCD, MLOps와 모니터링 적용 사례를 정리했습니다.

마켓컬리
마켓컬리
백엔드

댓글 0개

댓글을 작성하려면 로그인이 필요합니다.

댓글을 불러오는 중...