대규모 마이그레이션을 안전하게 실행하는 핵심은 '점진적 마이그레이션' 전략이다. 빅뱅(Big Bang) 방식은 치명적 문제를 늦게 발견하고 롤백이 사실상 불가능하다. 점진적 접근은 리스크를 줄이고 비즈니스 가치를 일찍 검증한다. Vercel CTO Malte Ubl이 수직(기능 단위)/수평(사용자 단위) 전략과 다크 런치(Dark Launch) 기법을 직접 경험을 바탕으로 설명한다.
핵심 포인트- 빅뱅 방식의 함정: 치명적 문제 늦은 발견, 리허설 어려움, 되돌릴 수 없는 지점, 다운타임 불가피
- 수직 마이그레이션(Vertical): 기능 단위로 전환, 두 시스템 병렬 운영 중 라우팅으로 분리
- 수평 마이그레이션(Horizontal): 사용자/조직 단위로 전환, 데이터 의존성 최소화 단위 선택이 핵심
- 프론트엔드 마이그레이션 특수 케이스: 데이터 시스템 오브 레코드 안정 -> 렌더링만 교체하므로 리스크 낮음
- 리버스 프록시 + Edge Middleware: 웹 프론트엔드 점진 마이그레이션의 핵심 기술 기반
- 다크 런치(Dark Launch): 기존 시스템 응답 유지 + 새 시스템 동시 트래픽 수신 -> 결과 비교 검증 후 전환
상세 정리- 빅뱅 방식: 레거시 다운타임 강제, 문제 발생 시 유지보수 윈도우 무한 연장 가능
- 점진적 방식: 각 단계마다 자연스러운 롤백 경로 제공, 비즈니스 가치 조기 검증
- 수직 마이그레이션: 기능 A -> 새 시스템, 기능 B -> 레거시 병렬 운영 후 기능별 검증
- 수평 마이그레이션: 사용자/조직 단위 선택으로 데이터 샤드 간 상호 의존성 최소화
- 복합 전략: 사용자 단위 x 기능 단위 조합으로 복잡한 마이그레이션 대응
- 최대 트레이드오프: 새 시스템과 레거시 간 상호운용성 구현에 추가 작업 필요
- 모놀리식->컴포저블 마이그레이션: 레거시 모놀리스에 API 레이어 추가 -> 새 프론트엔드가 기존 백엔드를 API로 호출
- 리버스 프록시 Step 1: 기능 변경 없이 새 인프라를 프록시로만 운영 -> 프로덕션 노출 검증
- Step 2: 새 시스템이 일부 경로 처리, 나머지는 레거시로 프록시 -> 점진적 비율 증가
- 다크 런치: 레거시가 실제 응답하면서 새 시스템도 동일 트래픽 수신 -> 결과 비교(버그 호환성 검증)
- 다크 런치는 처리량을 두 배 사용하므로 트래픽 비율 제한 필수
- Vercel 자사 서빙 시스템 마이그레이션: 다크 런치 -> 점진적 전환 -> 100% 완료, 레이턴시/CPU 개선
- 분석 레이어 유지: 마이그레이션 중 데이터 웨어하우스를 안정적으로 유지해 신구 시스템 성능 비교 가능
왜 읽나대규모 레거시 마이그레이션을 다운타임 없이 안전하게 수행하기 위한 전략 선택과 구현 기법(리버스 프록시, 다크 런치)을 Vercel CTO의 실제 경험으로 배울 수 있다.