배포/운영: 고급 전략
ㅁ 고급 전략
1. Shadow Deployment
ㅇ 정의:
– 새로운 버전의 애플리케이션을 실제 사용자 요청과 동일한 트래픽에 노출시키되, 응답은 실제 서비스에 반영하지 않고 내부적으로만 처리하여 성능과 안정성을 검증하는 배포 전략.
ㅇ 특징:
– 실서비스와 동일한 환경에서 테스트 가능
– 사용자 경험에 영향 없음
– 운영 환경과 테스트 환경 간 차이를 최소화
ㅇ 적합한 경우:
– 대규모 시스템 변경 전, 실제 트래픽 기반 성능 검증이 필요한 경우
– 데이터 처리 로직 변경 시 결과 검증이 중요한 경우
ㅇ 시험 함정:
– Shadow Deployment는 사용자가 새로운 버전을 직접 사용한다고 착각하기 쉽지만, 실제 응답은 기존 버전에서 처리됨(O)
– Canary Release와 혼동하여 일부 사용자에게만 배포되는 것으로 잘못 이해하는 경우(X)
ㅇ 시험 대비 “패턴 보기” 예시:
– “Shadow Deployment는 실사용자 요청을 새로운 버전에 전달하고, 그 결과를 사용자에게 제공한다.” → X
– “Shadow Deployment는 실제 트래픽으로 새 버전을 검증하되, 사용자 응답은 기존 버전에서 제공한다.” → O
2. Canary Release
ㅇ 정의:
– 새로운 버전을 전체 배포 전에 일부 사용자 그룹 또는 트래픽에만 점진적으로 배포하여 문제 발생 시 빠르게 롤백할 수 있는 전략.
ㅇ 특징:
– 점진적 배포로 리스크 최소화
– 문제 발생 시 영향 범위 제한
– 모니터링과 피드백 수집 필수
ㅇ 적합한 경우:
– 신규 기능 도입 시 안정성 검증이 필요한 경우
– 서비스 중단 없이 배포하고 싶은 경우
ㅇ 시험 함정:
– Canary Release는 모든 사용자에게 동시에 배포하는 전략이 아님(O)
– Shadow Deployment와 달리 실제 사용자 경험에 영향을 미침(O)
ㅇ 시험 대비 “패턴 보기” 예시:
– “Canary Release는 일부 사용자에게만 새 버전을 배포하여 문제를 조기에 발견한다.” → O
– “Canary Release는 새 버전을 모든 사용자에게 동시에 배포한다.” → X
3. Continuous Profiling
ㅇ 정의:
– 애플리케이션이 운영 중일 때 CPU, 메모리, I/O 등 성능 데이터를 지속적으로 수집·분석하여 병목 지점을 식별하고 최적화하는 기법.
ㅇ 특징:
– 실시간 또는 주기적 성능 데이터 수집
– 장기적인 리소스 사용 패턴 분석 가능
– 문제 발생 전 예방 가능
ㅇ 적합한 경우:
– 고성능이 요구되는 서비스
– 리소스 사용 최적화가 중요한 경우
ㅇ 시험 함정:
– Continuous Profiling은 개발 환경에서만 사용하는 것이 아님(O)
– 단기 부하 테스트만으로는 얻을 수 없는 장기 패턴 분석이 가능함(O)
ㅇ 시험 대비 “패턴 보기” 예시:
– “Continuous Profiling은 운영 환경에서 성능 병목을 지속적으로 모니터링한다.” → O
– “Continuous Profiling은 배포 전 테스트 환경에서만 수행된다.” → X
4. Explainability in Anomaly Detection
ㅇ 정의:
– 이상 탐지 모델의 결과에 대해 사용자가 이해할 수 있는 근거와 설명을 제공하여, 탐지 결과의 신뢰성과 활용도를 높이는 기법.
ㅇ 특징:
– 모델의 의사결정 과정 해석 가능
– 규제 준수 및 감사 대응 용이
– 사용자 신뢰 확보
ㅇ 적합한 경우:
– 금융, 의료 등 고위험 분야의 이상 탐지
– AI 모델의 투명성이 중요한 서비스
ㅇ 시험 함정:
– Explainability는 모델의 성능 향상과 직접적인 관련이 없을 수 있음(O)
– 단순히 결과를 시각화하는 것만으로 Explainability를 달성했다고 볼 수 없음(O)
ㅇ 시험 대비 “패턴 보기” 예시:
– “Explainability는 이상 탐지 결과의 해석 가능성을 높여 규제 대응에 도움을 준다.” → O
– “Explainability는 모델의 예측 정확도를 반드시 향상시킨다.” → X
ㅁ 추가 학습 내용
Shadow Deployment와 Canary Release의 차이점
– Shadow Deployment: 실제 사용자 트래픽을 새로운 버전에도 복제하여 처리하지만, 응답은 기존 버전에서만 사용자에게 전달. 사용자에게 영향 없음. 주로 성능 및 호환성 검증 목적.
– Canary Release: 일부 사용자에게만 새로운 버전을 배포하여 실제 응답을 제공. 사용자에게 영향 있음. 점진적으로 트래픽 비율을 늘려가며 안정성 검증.
Continuous Profiling
– 개념: 애플리케이션의 성능 상태를 지속적으로 수집·분석하여 병목이나 비효율을 식별하는 기법.
– 주요 도구: eBPF, pprof, JFR(Java Flight Recorder)
– 샘플링 기법: 주기적 스택 트레이스 수집, 이벤트 기반 샘플링 등
Explainability in Anomaly Detection
– 주요 설명 기법: LIME, SHAP, Counterfactual Explanation
– 규제 요건 예시: GDPR의 ‘Right to Explanation’ — 자동화된 의사결정에 대해 사용자가 설명을 요구할 권리 보장
각 전략의 장단점
– Shadow Deployment: 장점 – 사용자 영향 최소화, 위험 낮음 / 단점 – 실제 사용자 피드백 불가
– Canary Release: 장점 – 실제 사용자 데이터 기반 검증 / 단점 – 실패 시 일부 사용자 영향 발생 가능
롤백 전략
– Canary Release: 문제 발견 시 새로운 버전에 할당된 트래픽을 0%로 조정하여 즉시 이전 버전으로 복귀
– Shadow Deployment: 문제 발견 시 단순히 트래픽 복제를 중단
모니터링 지표 예시
– CPU 사용률
– 에러율
– 응답 시간