무중단 배포란 애플리케이션을 중지하지 않고 배포를 진행하는 것을 의미한다.
중단 시간을 가져간다면 개발자 및 인프라 담당자들은 편하게 작업할 수 있겠지만 사용자 입장에서는 불편함을 가져온다.
그렇다면 무중단 배포 방식에는 어떤 방법이 있을까?
1. Rolling 배포
Rolling 배포는 새로운 버전이 적용 된 서버와 적용되지 않은 서버가 공존하는 배포 방식이다.
위 사진에서 보듯이 3개의 서버가 있다면 한대를 라우팅에서 제외한 후 업데이트를 진행하고 업데이트가 완료되면 다시 라우팅을 진행한다. 그 후 한대씩 점진적으로 변경할 수 있다.
장점으로는 추가 비용이 들지 않으며, 롤백이 쉽고, 관리가 간편하다는 점이다.
단점으로는 구버전과 신버전이 공존하므로 호환성이나 버전에 대한 문제가 생길 수 있다. 또한 배포가 진행되는 도중 나머지 서버들에 대한 부하가 심해질 수 있다.
2. Blue / Green 배포
Blue / Green 배포는 구버전(Blue)과 같은 갯수의 서버를 신규(Green)로 만들어 신 버전 소스를 올린 후 라우팅을 모두 신 버전으로 돌리는 배포 방식을 의미한다.
장점으로는 롤백이 쉬우며, 구 버전을 계속 가지고 있을 경우 다음 배포 시 새로운 Green으로 사용이 가능하다. 호환성 문제 및 운영에 영향 없이 배포가 가능하다.
단점으로는 구버전과 신버전 서버가 필요하므로 서버 비용의 증가가 생기며, 신 버전을 충분히 확인하지 않을 시 배포에는 문제가 없지만 실 운영에 문제가 생길 수 있다.
3. Canary 배포
Canary 배포는 서서히 구버전에서 신버전으로 변경하는 배포 방식으로
신버전을 소수의 유저들에게만 배포를 해보고 문제가 없는것을 확인하며 점차 많은 유저들이 신 버전을 사용할 수 있게 하는 것이다.
롤링 배포와 블루그린 배포를 섞어놓은 형태이다.장점으로는 문제가 발생 시 빠르게 감지할 수 있으며, 구버전 및 신버전 테스트가 동시에 가능하다.단점으로는 일부 사용자에게 신버전을 사용하게 한 후 점차 늘려가므로 네트워크 트레픽 제어가 필수적이다.
'[Linux]' 카테고리의 다른 글
리눅스 메모리 사용량 확인 명령어 (0) | 2024.10.28 |
---|---|
[Linux] su 와 su - 의 차이점 (0) | 2024.10.28 |
sudoers, sudoers.d/ 차이점 (0) | 2024.10.22 |
다수의 Linux user 비밀번호 설정 및 변경 방법 (1) | 2024.10.22 |
SMB / NFS / CIFS란 무엇인가? (23) | 2023.11.20 |