🌳 고급 인프라
카나리 배포가 뭔가요?
쉽게 이해하기
옛날 광부들이 유독 가스를 감지하기 위해 카나리아 새를 먼저 보낸 것처럼, 새로운 버전을 전체 사용자에게 배포하기 전에 일부 사용자에게만 먼저 적용해서 문제가 없는지 확인하는 거예요. 문제가 없으면 점차 더 많은 사용자에게 확대하고, 문제가 생기면 바로 원래대로 돌릴 수 있어요.
핵심 정리
새 버전을 일부 사용자에게만 먼저 배포해서 안전하게 테스트하는 방법이에요.
자세히 알아보기
카나리 배포(Canary Deployment)는 새로운 버전을 배포할 때 일부 사용자에게만 먼저 적용하고, 문제가 없으면 점진적으로 확대하는 배포 전략입니다. 예를 들어 전체 트래픽의 5%만 새 버전으로 보내고, 문제가 없으면 10%, 50%, 100%로 점차 늘려가는 방식이에요.
실무에서 카나리 배포가 중요한 이유는 위험을 최소화하기 때문이에요. 새 버전에 버그가 있더라도 소수의 사용자만 영향을 받고, 빠르게 발견해서 롤백할 수 있습니다. 반대로 모든 사용자에게 한 번에 배포했다가 문제가 생기면 큰 장애로 이어질 수 있죠.
카나리 배포를 구현하려면 로드 밸런서나 쿠버네티스의 트래픽 분산 기능을 사용해요. 예를 들어 Nginx나 쿠버네티스 Ingress에서 가중치를 설정해서 구버전 서버에 95%, 신버전 서버에 5%의 트래픽을 보내는 식이에요. 신버전의 에러율, 응답 시간, CPU 사용률 등을 모니터링하면서 점진적으로 트래픽을 늘립니다.
카나리 배포는 특히 대규모 서비스에서 필수적이에요. 넷플릭스, 페이스북 같은 회사들도 새 기능을 배포할 때 카나리 배포를 사용합니다. 안전하고 신뢰할 수 있는 배포 전략이죠.