프로젝트 배포 전략

0

신규 프로젝트를 개발을 한 뒤 실 서버에 배포를 진행합니다.
이때, 배포에서도 전략이 있습니다.
이들 중 대표적인 전략에 대해 간단히 정리하고자 합니다.

롤링 (Rolling)

롤링 배포는 서버를 한 대씩 구버전에서 새 버전으로 교체해가는 전략입니다.
서비스 중인 서버 한 대를 제외시키고 그 자리에 새 버전의 서버를 추가합니다.
이렇게 구 버전에서 새 버전으로 트래픽을 점진적으로 전환합니다.
이와 같은 방식은 서버 수의 제약이 있을 경우 유용하나 배포 중 인스턴스의 수가 감소되므로 서버 처리 용량을 미리 고려해야 합니다.


Blue/Green

Blue/Green 배포는 구 버전에서 새 버전으로 일제히 전환하는 전략입니다.
구 버전의 서버와 새 버전의 서버들을 동시에 나란히 구성하고 배포 시점이 되면 트래픽을 일제히 전환시킵니다.
하나의 버전만 프로덕션 되므로 버전 관리 문제를 방지할 수 있고, 또한 빠른 롤백이 가능합니다.
또 다른 장점으로 운영 환경에 영향을 주지 않고 실제 서비스 환경으로 새 버전 테스트가 가능합니다.
예를 들어 구 버전과 새 버전을 모두 구성하고 포트를 다르게 주거나 내부 트래픽일 경우 새 버전으로 접근하도록 설정하여 테스트를 진행해 볼 수 있습니다.
단, 시스템 자원이 두 배로 필요하고, 전체 플랫폼에 대한 테스트가 진행되어야 합니다.


Canary

Canary 배포는 위험을 빠르게 감지할 수 있는 배포 기법입니다.
구 버전의 서버와 새 버전의 서버들을 구성하고 일부 트래픽을 새 버전으로 분산하여 오류 여부를 판단합니다.
오류율 및 성능 모니터링에 유용합니다.
트래픽을 분산시킬 라우팅은 랜덤으로 할 수 있고 사용자 프로필 등을 기반으로 분류할 수 있습니다.
분산 후 결과에 따라 새 버전이 운영 환경을 대체할 수 있고, 다시 구 버전으로 돌아갈 수 있습니다.

참고

profile
컴퓨터공학과 + 실무 = 4 + N = 모르는거 ∞ ...

0개의 댓글