-
staggered rollout 개념DevOps 2025. 3. 15. 10:21728x90
점진적이고 단계적인 배포 방식을 총칭하는 개념
Staggered Rollout이란?
Netflix, AWS 등에서는 Staggered Rollout을 사용하여 대규모 시스템에서 변경 사항을 안전하게 배포합니다. 기본 개념은 한 번에 전체 시스템을 변경하는 것이 아니라, 여러 단계로 나누어 배포를 진행하는 것입니다.
이를 통해 실시간으로 배포 상태를 모니터링하고, 문제가 발생하면 빠르게 롤백하거나 영향을 최소화할 수 있습니다.
Staggered Rollout vs. Blue/Green, Canary 배포
배포 방식개념Netflix의 Staggered Rollout과의 관계Blue/Green 두 개의 환경(Blue/Green) 중 하나를 운영하며, 배포 시 전체 트래픽을 새로운 환경(Green)으로 전환 Netflix에서는 이렇게 큰 단위로 교체하기보다는 작은 단위로 배포를 진행 Canary 새로운 버전을 일부 사용자 또는 일부 서버에서 먼저 배포하여 안정성을 확인한 후 점진적으로 확장 Staggered Rollout의 주요 전략 중 하나 Staggered Rollout Canary 배포와 유사하지만, 서비스의 규모에 따라 여러 단계로 나누어 배포 (예: 리전별, 특정 사용자 그룹별 등) Netflix에서 선호하는 방식으로, 리전별 배포, 트래픽 기반 점진적 전개 등을 포함 Netflix의 Staggered Rollout 특징
- 리전(Region)별 배포
- Netflix는 여러 AWS 리전에 배포되어 있으므로, 모든 리전에 동시에 배포하는 것이 아니라, 일부 리전에서 먼저 배포한 후 점진적으로 확장합니다.
- 이를 통해 특정 리전에서 문제가 발생해도 전체 시스템에 영향을 주지 않습니다.
- 고객 그룹을 나눠서 배포
- Netflix의 경우, 모든 사용자가 동시에 새로운 기능을 받는 것이 아니라, 일부 고객 그룹(예: 내부 사용자, VIP 고객, 특정 국가 사용자)에게 먼저 배포한 후 점진적으로 확대합니다.
- Feature Flag 활용
- 특정 기능을 Feature Flag(플래그)를 이용해 활성화/비활성화할 수 있도록 설계하여, 문제가 발생하면 플래그를 꺼서 즉시 롤백할 수 있습니다.
- 자동화 및 모니터링 연계
- 배포 후 Netflix의 Observability 시스템을 통해 서비스 상태를 지속적으로 모니터링하며, 오류가 감지되면 자동으로 롤백이 가능하도록 설정되어 있습니다.
정리
Netflix의 Staggered Rollout은 단순한 배포 방식(Blue/Green, Canary 배포)이라기보다는 대규모 시스템에서 점진적으로 배포를 진행하는 전략적인 접근 방식입니다.
- Canary 배포를 포함하지만, 더 세밀한 단계로 나누어 배포
- 리전별, 고객 그룹별, 트래픽 기반으로 점진적으로 확대하는 방식
- Feature Flag 및 자동화된 모니터링과 결합하여 안정성을 극대화
Netflix처럼 글로벌 서비스를 운영하는 경우, 한 번에 배포하는 것보다 Staggered Rollout이 더 안전하고 효과적인 배포 방식이 될 수 있습니다.
728x90'DevOps' 카테고리의 다른 글
GitHub의 Hubot이란 (0) 2025.03.21 Spring Boot 애플리케이션이 Kubernetes에서 Pod 시작 시 CPU를 많이 사용하는 이유 (0) 2025.03.18 Real User Monitoring(RUM) 개념 (0) 2025.03.15 RTO, RPO와 TTD, TTE, TTF의 관계 (0) 2025.03.15 RTO, RPO 개념 (0) 2025.03.15 - 리전(Region)별 배포