ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • staggered rollout 개념
    DevOps 2025. 3. 15. 10:21
    728x90

    점진적이고 단계적인 배포 방식을 총칭하는 개념

     

    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 특징

    1. 리전(Region)별 배포
      • Netflix는 여러 AWS 리전에 배포되어 있으므로, 모든 리전에 동시에 배포하는 것이 아니라, 일부 리전에서 먼저 배포한 후 점진적으로 확장합니다.
      • 이를 통해 특정 리전에서 문제가 발생해도 전체 시스템에 영향을 주지 않습니다.
    2. 고객 그룹을 나눠서 배포
      • Netflix의 경우, 모든 사용자가 동시에 새로운 기능을 받는 것이 아니라, 일부 고객 그룹(예: 내부 사용자, VIP 고객, 특정 국가 사용자)에게 먼저 배포한 후 점진적으로 확대합니다.
    3. Feature Flag 활용
      • 특정 기능을 Feature Flag(플래그)를 이용해 활성화/비활성화할 수 있도록 설계하여, 문제가 발생하면 플래그를 꺼서 즉시 롤백할 수 있습니다.
    4. 자동화 및 모니터링 연계
      • 배포 후 Netflix의 Observability 시스템을 통해 서비스 상태를 지속적으로 모니터링하며, 오류가 감지되면 자동으로 롤백이 가능하도록 설정되어 있습니다.

    정리

    Netflix의 Staggered Rollout은 단순한 배포 방식(Blue/Green, Canary 배포)이라기보다는 대규모 시스템에서 점진적으로 배포를 진행하는 전략적인 접근 방식입니다.

    • Canary 배포를 포함하지만, 더 세밀한 단계로 나누어 배포
    • 리전별, 고객 그룹별, 트래픽 기반으로 점진적으로 확대하는 방식
    • Feature Flag 및 자동화된 모니터링과 결합하여 안정성을 극대화

    Netflix처럼 글로벌 서비스를 운영하는 경우, 한 번에 배포하는 것보다 Staggered Rollout이 더 안전하고 효과적인 배포 방식이 될 수 있습니다.

    728x90
Designed by Tistory.