다섯 살도 알 수 있게 · SRE
카나리 배포가 뭐예요?
카나리 배포를 공원 구석에서 손님 1%만 몰래 태워보는 이야기로 풀어봤어요.
새로 고친 기구를 전체 공개했다가 문제가 생겼어요.새 버전은 아무리 고쳐도 모든 손님 앞에 서면 또 문제가 생길 수 있어요.
아무리 테스트해도 진짜 손님 앞에선 몰라요.연습으로는 다 못 잡아요. 진짜 손님만이 진짜 답을 줘요.
공원 구석에서 몰래, 손님 1%만 태워봐요.괜찮으면 조금씩 늘리고, 이상하면 바로 거둬요.
아주 적은 손님에게만 먼저표 나지 않게 조용히
계기판을 계속 지켜봐요문제가 보이는지
괜찮으면 비율을 조금씩 늘려요1% → 10% → 50%
이상하면 바로 전부 거둬요되돌려요
1% → 10% → 50% → 100%, 단계마다 계기판을 확인해요.한 번에 다 늘리지 않고, 괜찮다는 확인을 받고서야 다음 단계로 가요.
손님이 원래 적으면 1%로는 뭘 알기 어려워요.1%가 손님 한 명도 안 된다면, 시험 운행은 의미가 없어요.
한 줄로
카나리 배포 = 새 버전을 손님 1%에게만 몰래 먼저 태워보고, 계기판을 보며 조금씩 늘리거나 바로 거두는 요령.
운영 중인 서비스 전체가 아니라 아주 일부 트래픽에만 새 버전을 먼저 노출해 위험을 줄이는 점진적 배포 방식이에요. 지표가 괜찮으면 비율을 단계적으로 늘리고, 나빠지면 자동으로 되돌려요.
어른들은 이렇게 불러요
- 카나리 배포
Canary deployment - 구석에서 몰래 하는 시험 운행. 손님 1%에게만 먼저 새 버전을 보여줘요.
- 점진적 롤아웃
Gradual rollout - 조금씩 비율을 늘리는 일. 한 번에 다 바꾸지 않아요.
- 트래픽 분할
Traffic splitting - 손님을 나눠 보내는 일. 몇 %는 새 기구로, 나머지는 원래 기구로요.
- 계기판 비교
Metric comparison - 새 버전과 옛 버전의 계기판을 나란히 보는 일. 차이가 나면 바로 알아차려요.
- 자동 롤백
Automatic rollback - 이상하면 스스로 되돌리는 일. 사람이 늦게 알아채도 괜찮아요. → 이상하면 바로 어제 버전으로
- 블루-그린과의 차이
vs. blue-green - 전부 바꾸느냐, 일부만 먼저 보느냐. 블루-그린은 통째로 바꿔요. → 쌍둥이 기구를 번갈아 운영
- 피처 플래그
Feature flag - 새 기구에 친 커튼. 카나리와 같이 쓰면 누구에게 보일지 더 세밀하게 골라요.
- 롤백
Rollback - 이상하면 바로 어제 버전으로. → 이상하면 바로 어제 버전으로
다음 이야기
쌍둥이 기구를 번갈아 운영 →