전통적인 블루-그린 배포는 인프라 이중화 비용이 크지만, Vercel의 서버리스 불변 배포 모델에서는 복제 인프라 없이 블루-그린을 구현할 수 있다. 스큐 프로텍션, Edge Config, 미들웨어 세 가지 플랫폼 프리미티브를 조합해 트래픽 분배와 점진적 롤아웃을 제어하는 방법을 설명한다.
핵심 포인트- 서버리스 불변 배포는 버전을 별도 인프라로 복제하지 않고 스냅샷 단위로 라우팅하므로 블루-그린 비용이 전통 방식보다 낮다
- 스큐 프로텍션(Skew Protection)은 롤아웃 중 사용자가 두 버전을 동시에 경험하지 않도록 세션 단위로 버전을 고정한다
- Edge Config는 전 세계 엣지에서 어떤 버전을 활성화할지와 트래픽 비율을 제어하는 중앙 설정 저장소다
- 미들웨어는 요청 단위로 라우팅 로직을 실행해 트래픽을 블루/그린 버전 중 하나로 전달한다
- 쉐도우 롤아웃(Shadow Rollout)으로 트래픽을 동시에 두 버전에 전송해 새 버전을 실제 트래픽으로 사전 검증할 수 있다
상세 정리- 전통 블루-그린 비용 문제: 두 개의 완전한 프로덕션 환경을 동시에 유지해야 해 서버 비용이 두 배. 서버리스에서는 요청당 자원 소비라 이 문제가 근본적으로 다르다.
- 불변 배포 개념: 각 배포는 수정 불가능한 스냅샷. 배포 전략은 어떤 스냅샷을 요청에 서비스할지 결정하는 라우팅 레이어.
- 스큐 프로텍션 동작: 롤아웃 중 사용자 A가 블루를 보고 있으면, 다음 요청도 블루로 고정돼 버전 불일치 상태(스큐)를 방지.
- Edge Config 역할: 글로벌 엣지에서 수 ms 내 읽히는 key-value 저장소. 활성 버전 식별자와 트래픽 비율을 저장해 미들웨어가 라우팅 결정에 활용.
- 미들웨어 라우팅: 모든 요청이 엣지 미들웨어를 통과하며 Edge Config를 조회해 블루 또는 그린으로 리디렉션. 재배포 없이 트래픽 비율 실시간 조정 가능.
- 쉐도우 롤아웃: 새 버전(그린)에 실제 트래픽 복사본을 동시 전송해 현재 버전(블루)은 응답하고 그린은 검증만 수행. 사용자 영향 없이 부하 테스트.
- 점진적 롤아웃: 1% → 10% → 50% → 100% 순으로 트래픽 비율을 Edge Config에서 단계적으로 높여 리스크를 분산.
- 롤백: 이전 스냅샷으로 Edge Config 라우팅 설정만 변경하면 즉시 롤백. 재배포 필요 없음.
왜 읽나서버리스 환경에서 다운타임 없는 점진적 배포와 안전한 롤아웃 전략을 설계하려는 백엔드·인프라 엔지니어.