AI 시스템 구축: 배포 전략 – Shadow Deployment
ㅁ 배포 전략
ㅇ 정의:
새로운 모델이나 시스템을 실제 서비스 환경에 배포하되, 사용자 요청에 대해 기존 버전과 새 버전이 동시에 처리하고, 실제 응답은 기존 버전에서만 반환하는 방식.
ㅇ 특징:
– 실서비스 트래픽을 활용해 새 버전을 검증할 수 있음
– 사용자 경험에 영향을 주지 않음
– 로그 및 성능 지표 비교 분석 가능
– 운영 비용이 증가할 수 있음(이중 처리)
ㅇ 적합한 경우:
– 모델 성능 향상 여부를 실환경 데이터로 검증하고 싶은 경우
– 리스크가 큰 서비스에서 안정성을 최우선으로 할 때
– A/B 테스트 전에 안정성 검증이 필요한 경우
ㅇ 시험 함정:
– Shadow Deployment는 사용자 응답에 새 버전을 사용한다고 착각하기 쉬움 (실제 응답은 기존 버전)
– Canary Deployment와 혼동하기 쉬움 (Canary는 일부 사용자에게 새 버전 응답 제공)
ㅇ 시험 대비 “패턴 보기” 예시:
O: “실제 서비스 요청을 두 버전이 동시에 처리하나, 응답은 기존 버전이 제공된다.”
X: “일부 사용자에게만 새 버전의 응답을 제공한다.”
ㅁ 추가 학습 내용
Shadow Deployment 비교 및 핵심 포인트 정리
1. Blue-Green Deployment와의 비교
– Blue-Green은 두 개의 동일한 환경(Blue, Green)을 운영하며, 트래픽을 한쪽에서 다른 쪽으로 전환
– 전환 시점에 전체 트래픽이 새 버전으로 이동
– Shadow Deployment는 실제 사용자 요청을 복제하여 새로운 버전에서 처리하되, 응답은 사용자에게 전달하지 않음
– 목적: 실시간 성능 모니터링과 로그 분석을 통한 사전 검증
2. Canary Deployment와의 비교
– Canary는 일부 사용자 트래픽만 새로운 버전으로 전달하여 점진적 검증
– Shadow는 모든 요청을 복제해 새 버전에 전달하므로 범위가 더 넓음
– Canary는 사용자 경험에 직접 영향을 줄 수 있으나, Shadow는 영향 없음
3. Rolling Update와의 비교
– Rolling Update는 기존 인스턴스를 점진적으로 새 버전으로 교체
– 서비스 중단 최소화 목적
– Shadow는 기존 서비스에 영향 없이 병렬로 테스트 가능
4. Shadow Deployment의 핵심
– 실시간 성능 모니터링: 응답 시간, 처리량, 오류율 등 측정
– 로그 분석: 기능 정상 동작 여부, 예외 상황 파악
– 본 서비스 전환 전 문제 사전 발견 가능
5. 비용·성능 트레이드오프
– 모든 요청을 복제 처리하므로 인프라 비용 증가
– 로그 저장·분석 시스템 부하 증가
– 운영 복잡성 증가 가능
6. 운영상 고려사항
– 데이터 유출 위험: 민감 데이터가 테스트 환경으로 복제될 수 있음
– 요청 처리 지연 가능성: 복제 및 추가 처리로 인한 지연
– 로그 저장 및 분석 시스템 부하: 대량 로그 처리 시 성능 저하 가능
– 모니터링 및 분석 도구의 확장성 확보 필요