배포 전략(A/B, Canary)

jingyu·2022년 6월 28일
0

Serving

목록 보기
6/8

다양한 배포 전략에 대해 설명한다.

A/B 테스트

임의로 나눈 두 집단에게 서로 다른 컨테츠를 제신한 후 두 집단 중 어떤 집단이 더 높은 성과를 보이는지 정량적으로 평가하는 방식으로 무작위 비교 연구라 불리는 방법을 서비스에 적용한 방법론이다.

A/B 테스트는 단지 App의 기능을 측정하기 위한 방법이다.

서로 다른 두가지 버전의 어플리케이션 중 유용성, 인기도등 다양한 이유로 어플리케이션 기능을 테스트하는 방법이다.

즉, 하나의 가설을 다양한 구현체를 사용해 테스트하는 것을 목적으로 한다.

Canary 릴리즈로 구현할 수 있다
예제) "문구 변경만으로 트윗 확률이 올라감 "


Canary 배포

Canary 배포는 위험을 빠르게 감지할 수 있는 배포 전략이다. 지정한 서버 또는 특정 사용자에게만 배포했다가 정상적이면 전체를 배포한다.

서버의 트래픽 일부를 신 버전으로 분산하여 오류 여부를 확인할 수 있다.

새로운 버전의 Application을 운영 환경에 배포할 때 소규모 사용자들에게만 먼저 배포함으로써 리스크를 줄이는 기법이다.

가장 큰 장점은 새로운 버전에 문제가 발견될 경우 해결될 때까지 기존 버전을 사용하도록 간단하게 롤백할 수 있다.

이를 바탕으로 운영 환경에서 신규 버전을 테스트할 수 있는 것이다.

단계적 배포, 점진적 배포라는 이름으로 오랫동안 사용되어 왔다.

Canary 배포는 문제를 발견하고 이상이 있는 경우 롤백하는 것에 초점을 맞추어져 있지만, A/B 테스트는 하나의 가설을 다양한 구현체를 사용하여

테스트하는 것을 목적으로 한다.

예를들어 다른 Application과의 연계, CPU, MEM 사용량등을 미리 검증할 수 있다.

Canary 배포는 기술적 구현의 유사성으로 A/B테스트를 구현하는 하나의 방법이 될 수 있다.

정리

A/B Test, Canary 배포는 기능상 같고 사용 목적에 따라 다름
Istio의 A/B Test, Canary 배포 설정은 같은 설정임

profile
내일을 향해 쏴라!

0개의 댓글