Facts.
- 기업 면접을 보고 왔습니다.
Feelings.
- 저는 말하는 감자입니다.
-
무중단 배포에서 잘 못 알고있었습니다...! 단순히 배포 과정에서 직접적으로 중단하지 않기 때문에 무중단이라고 생각했는데 아니였습니다. i need 쥐구멍....
-
무중단 배포 (무중단 배포 아키텍처와 배포 전략 (Rolling, Blue/Green, Canary))
- 새로운 버전을 배포하기 위해서 기존 서비스를 종료하고 새로운 서비스를 실행해야 하는데 이 중간에 잠시 중단되는 포인트를 해결하는 것이 무중단 배포입니다.
- 서비스가 중단되는 포인트를 다운타임 이라고 합니다.
- 무중단 배포를 하기 위해서는 최소 서버가 2대 이상이어야 합니다.
-
무중단 배포 전략에는 3가지 형태가 있습니다.
-
Rolling 배포
- 트래픽을 점진적으로 구버전에서 새로운 버전으로 옮기는 방식입니다.
- 인스턴스를 하나 추가하고, 새로운 버전의 서비스를 실행합니다
- 로드 밸런서에 새로운 버전의 서비스가 올라가 있는 인스턴스를 연결하고 기존 구 버전이 실행되고 있는 인스턴스를 하나 줄입니다.
-
장점
- 점진적으로 새로운 버전이 사용자에게 출시되므로, 배포로 인한 위험성이 다소 줄어들 수 있습니다.
-
단점
- 구버전과 신버전의 서비스가 동시에 제공되기 때문에 호환성 문제가 발생할 수 있습니다.
-
Canary 배포
- 점진적으로 구버전에 대한 트래픽을 신버전으로 옮기는 것으로 롤링 배포 방식과 비슷합니다.
- 카나리 배포의 핵심은 새로운 버전에 대한 오류를 조기에 감지하는 것입니다.
- 소수 트래픽을 새로운 버전에 옮겨둔 상태에서 서비스를 운영합니다. 새로운 버전에 이상이 없다고 판단했을 경우 모든 트래픽을 신규 버전으로 옮깁니다.
-
장점
- 새로운 버전으로 인한 위험을 최소화할 수 있습니다.
-
단점
- rolling 버전과 마찬가지로 호환성 문제가 발생할 수 있습니다.
-
Blue/ Green 배포
- 트래픽을 하번에 구버전에서 신버전으로 옮기는 방법입니다.
- 현재 운영중인 서비스의 환경을 blue라고 부르고, 새롭게 배포할 환경은 green으로 부릅니다.
- blue와 green을 나란히 구성해둔 상태로 배포 시점에 로드 밸런서가 트래픽을 blue에서 green으로 일제히 전화시킵니다. green 버전 배포가 성공적으로 완료 되었고, 문제가 없다고 판단 되었을 때 blue 서버를 제거합니다.
-
장점
- rolling 배포와 달리 한번에 트래픽을 모두 새로운 버전으로 옮기기 때문에 호환성 문제가 발생하지 않습니다.
-
단점
- 실제 운영에 필요한 서버 리소스 대비 2배의 리소스를 확보해야 합니다.
-
-
- 집에 돌아와서 녹음한 걸 들어보는데... 저는 왜 저럴까요.... 왜.... 저렇게 쓸데 없는 말을..... 말도 왜 저렇게 하지...
Future Action Plans.
- 스노클링 포인트 프로젝트를 다시 진행합니다! 반응형 뜯어 고치기!!
- 리얼월드 프로젝트를 계획하고 필요한 개념을 학습합니다.