📦
signature-hyeon's tech blog
  • Intro
  • TECH
    • DATABASE
      • MongoDB
    • DEVOPS
      • 배포 전략 (Rolling, Blue/Green, Canary)
    • BACKEND
      • “왜 이렇게 느려?”를 마주했을 때
      • Resilience4j CircuitBreaker
  • STUDY
    • ELASTICSEARCH
      • Elasticsearch 란?
      • 색인과 검색 원리
    • 클린 코드
      • 3장 함수
    • 친절한 SQL 튜닝
      • 1장 SQL 처리 과정과 I/O
      • 2장 인덱스 기본
      • 3.3장 인덱스 스캔 효율화
      • 4.2장 소트 머지 조인
      • 4.3장 해시 조인
      • 5장 소트 튜닝
      • 5.4장 Sort Area 효율적으로 쓰는 SQL 작성법
      • 7장 SQL 옵티마이저
Powered by GitBook
On this page
  1. TECH
  2. DEVOPS

배포 전략 (Rolling, Blue/Green, Canary)

배포 전략 종류에 대해 알아보자.

PreviousDEVOPSNextBACKEND

Last updated 4 months ago

CtrlK
  • 배포 전략 종류
  • 롤링(Rolling)
  • 블루그린(Blue/Green)
  • 카나리(Canary)
  • 롤백 관점에서 정리하면,
  • 마무리

배포 전략 종류

롤링(Rolling)

기존 서버들을 하나씩 업데이트하면서 순차적으로 새로운 버전으로 교체하는 방식

장점

  • 별도의 인프라 필요 없어서 비용이 효율적임

  • 점진적 업데이트로 부하 감소

단점

  • 문제가 생기면 롤백이 어렵거나 전체 롤백에 시간 소요

  • 여러 버전이 동시에 운영되므로 버전 호환성 고려 필요

블루그린(Blue/Green)

두 개의 환경(Blue와 Green)을 두고, 배포는 새로운 버전을 Green에 먼저 배포한 후, 트래픽을 전환하는 방식

장점

  • 롤백이 빠르고 쉬움 (트래픽만 다시 Blue로 전환하면 됨)

  • 운영 중인 시스템에 영향 없이 테스트 가능

단점

  • 두 개의 인프라 환경을 유지해야 하므로 비용 증가

  • 데이터베이스 스키마 변경 시 양쪽 버전 호환성 고려 필요

카나리(Canary)

전체 유저 중 일부에게만 새로운 버전을 먼저 배포하고, 문제가 없으면 점차 배포 범위를 늘리는 방식

장점

  • 실사용자 기반 테스트로 리스크 최소화

  • 문제가 생겼을 때 빠르게 감지 가능

  • 점진적 배포로 안정성 높음

단점

  • 롤링과 마찬가지로 여러 버전이 동시에 운영되므로 버전 호환성 고려 필요

롤백 관점에서 정리하면,

  • 롤링: 이전 버전으로 재배포 필요 → 전체 롤백하는데 시간 소요

  • 블루그린: 트래픽을 이전 버전(Blue)으로 전환 → 빠르게 롤백 가능

  • 카나리: 신규 버전의 라우팅 비율을 줄이고, 신규 버전이 적용된 일부 인스턴스에만 재배포 → 빠르게 롤백 가능

마무리

배포 전략에 대해 알아보며 각 서비스에 맞는 적절한 전략이 있겠지만, 그중에서도 “롤백”을 빠르게 할 수 있는 전략이 중요하다고 생각했다.

우리는 장애를 최소화하기 위해 다양한 노력을 기울이지만, 언제나 그렇듯 장애는 예기치 않게 발생할 수 있다. 특히 장애 시간은 서비스의 신뢰성과도 밀접한 관련이 있어, 빠른 대응 능력이 서비스 품질의 핵심이 된다.

따라서 장애를 빠르게 감지하고, 즉시 롤백하거나 안전하게 차단할 수 있는 배포 전략을 갖추는 것이 무엇보다 중요할 것이다.