
171
CHAPTER 07
글로벌 애플리케이션 분산과 스테이징
7.4.2
카나리 리전
첫 번째 단계는 카나리 리전
canary
region
이다. 카나리 리전은 릴리스를 검사하려는 사람이나 팀
에서 보낸 실제 트래픽을 수신하는 배포 공간이다. 트래픽의 출처는 서비스에 의존하는 내부
팀일 수도 있고, 서비스를 사용하는 외부 고객일 수도 있다. 카나리는 그들에게 이제 막 롤아
웃하려는 배포 때문에 장애가 발생할 수 있음을 미리 경고하기 위해 존재한다. 통합 테스팅,
로드 테스팅을 아무리 훌륭하게 잘 해내도 유저와 고객에게 치명적인 버그를 모두 걸러내지
는 못한다. 사정이 이럴진대 서비스를 사용하거나 배포하는 사람 모두가 실패할 확률이 높
다는 가정하에 이슈를 조금이라도 먼저 포착하는 편이 바람직하다. 이것이 바로 카나리 리전
이다.
NOTE
카나리는 팀이나 회사에서 프로덕션 단계로 진행하기 직전, 초기 릴리스를 시험 사용(
dogfood
)하
거나 자가 시험(
self
-
test
)을 수행하기 좋은 장소다. 회사 내부의 요청이 카나리에서 실행 중인 제품의 인스
턴스로 흘러가도록
HTTP
리다이렉터를 구축하면 정말 유용하다. 이렇게 하면 외부 유저에게 릴리스되기 전
에 모든 팀원들이 엔드-투-엔드 테스터가 되는 셈이다.
카나리는 모니터링, 스케일링, 기능 관점에서 마땅히 프로덕션 리전으로 ...