FEInterview Prep

architecture · medium priority

Deployment Strategies

Blue-Green, Canary, Rolling, Edge Functions, CDN

advanced 난이도5시간토스당근카카오네이버배민쿠팡
시작 전
이해도
매우 낮음

학습 개요

쉬운 설명

복잡한 개념을 실생활 비유로 설명합니다.

카나리아 배포는 맛집 신메뉴를 먼저 단골 손님 10명에게 시식시키고 반응을 보는 것. Blue-Green은 옆에 새 레스토랑을 차려놓고 한번에 모든 손님을 이동시키는 것.

배포 전략은 "새 버전을 어떻게 안전하게 출시할까"의 문제다. 위험을 작게 나눠서 테스트하거나(Canary), 즉시 되돌릴 수 있는 준비를 해두거나(Blue-Green) 한다.

핵심 개념

Blue(현재 운영)와 Green(새 버전) 두 환경을 준비한다. 새 버전 배포가 완료되면 로드밸런서 트래픽을 Green으로 전환한다. 문제 발생 시 즉시 Blue로 롤백 가능하다.

Blue-Green 배포 흐름

1
Green 환경 준비

새 버전을 Green 환경에 배포 (Blue는 계속 운영)

2
스모크 테스트

Green 환경에서 주요 기능 검증

3
트래픽 전환

로드밸런서/DNS를 Green으로 전환

4
모니터링

오류율, 응답시간 모니터링 (이상 시 Blue로 즉시 롤백)

5
Blue 정리

안정화 후 Blue 환경을 다음 배포를 위한 준비 상태로 전환

장단점

장점: 즉각적인 롤백, 다운타임 없음. 단점: 두 배의 인프라 비용, DB 스키마 변경이 복잡함 (두 버전이 동시에 같은 DB를 사용하므로 하위 호환성 필요).

실무 적용

어떤 상황에서 사용하는가

Vercel에서 결제 플로우를 변경하는 새 버전을 안전하게 배포할 때

어떻게 적용하는가

1) Feature Flag로 신규 플로우를 특정 사용자에게만 활성화, 2) Vercel Preview로 스테이징 검증, 3) Canary 배포로 10% 트래픽 먼저 전환, 4) 에러율 모니터링 후 점진적 확대

흔한 실수와 안티패턴

  • DB 스키마 변경을 롤백 없이 배포 (구 버전과 호환성 문제)
  • CDN 캐시 purge 없이 배포 (이전 버전 JS가 새 HTML과 충돌)
  • 배포 중 트래픽 급증으로 Cold Start 발생
  • Blue-Green에서 세션/쿠키가 환경 간 공유 안 되는 문제

면접 질문

심화토스배민쿠팡

답변 방향 힌트

트레이드오프: 속도 vs 안전성, 비용

반드시 언급할 키워드

  • Blue-Green: 즉각 전환, 높은 비용
  • Canary: 점진적 검증, 낮은 위험
  • 롤백 용이성 차이
  • DB 스키마 변경의 복잡성

예상 꼬리 질문

  • Feature Flag가 배포 전략과 어떻게 연결되나요?
  • CDN 캐시 무효화는 어떻게 처리하나요?

학습 자료