Skip to content

Latest commit

 

History

History
29 lines (15 loc) · 2.09 KB

BlueGreenDeployment.md

File metadata and controls

29 lines (15 loc) · 2.09 KB

Blue-Green 배포

  • 동일하게 구성된 환경을 하나 더 추가하는 배포 방식
  • 무중단 배포 지원

image.pngBlue-Green Deployment (from Martin Fowler Website)

  • 파란색: 운영 환경

  • 초록색: 배포가 필요한 테스트 환경

  • 초록색에서 테스트를 무사히 마친다면 기존에 파란색으로 들어가는 모든 요청(Request)을 초록색으로 향하도록 라우터 설정을 변경

  • 이제 파란색은 두가지 기능을 갖게 됨

    1. 이 후에 소프트웨어를 업데이트하기 전 테스트 환경으로 사용할 수 있다. 이전에 초록색이 담당했던 업무. 결국 Swapping .

    2. 만약 초록색이 잘 동작하다가 오류가 나면 이전 버전으로 다시 되돌리기 위한 ‘백업 서버’ 역할을 함.

      흔히 ‘롤백(Role-back)’ 이라고 부르는 이 경우는, 문제가 발생하면 다시 모든 요청들을 파란색으로 보냄으로써, 빠르고 간단하게 문제를 해결.

      하지만 여전히 초록색에 문제가 있는지 몰랐을 때 초록색으로 이동함으로서 유실된 요청들 (여기서는 트랜잭션이라고 지칭) 에 대한 처리가 필요한데, 이는 들어오는 모든 요청들을 항상 파란색과 초록색 양방향으로 보냄으로써 해결 가능. 실질적으로는 한 쪽만 사용자에게 비춰지겠지만, 요청되는 모든 트랜잭션들은 다 공유하는 것. 이로써 초록색이 실제 운영중이라면 파란색을 백업으로, 파란색이 운영중이라면 초록색을 백업으로 구성 가능.

      혹은 새로운 환경으로 전환하기 전에 운영중인 환경을 읽기 전용(Read-Only)으로 바꿔주는 방법도 있다. 그리고 완벽하게 전환이 마무리 되면 읽기-쓰기(Read and Write) 방식으로 바꿔줌.

출처

Blue-Green 배포 방식