- 동일하게 구성된 환경을 하나 더 추가하는 배포 방식
- 무중단 배포 지원
Blue-Green Deployment (from Martin Fowler Website)
-
파란색: 운영 환경
-
초록색: 배포가 필요한 테스트 환경
-
초록색에서 테스트를 무사히 마친다면 기존에 파란색으로 들어가는 모든 요청(Request)을 초록색으로 향하도록 라우터 설정을 변경
-
이제 파란색은 두가지 기능을 갖게 됨
-
이 후에 소프트웨어를 업데이트하기 전 테스트 환경으로 사용할 수 있다. 이전에 초록색이 담당했던 업무. 결국 Swapping .
-
만약 초록색이 잘 동작하다가 오류가 나면 이전 버전으로 다시 되돌리기 위한 ‘백업 서버’ 역할을 함.
흔히 ‘롤백(Role-back)’ 이라고 부르는 이 경우는, 문제가 발생하면 다시 모든 요청들을 파란색으로 보냄으로써, 빠르고 간단하게 문제를 해결.
하지만 여전히 초록색에 문제가 있는지 몰랐을 때 초록색으로 이동함으로서 유실된 요청들 (여기서는 트랜잭션이라고 지칭) 에 대한 처리가 필요한데, 이는 들어오는 모든 요청들을 항상 파란색과 초록색 양방향으로 보냄으로써 해결 가능. 실질적으로는 한 쪽만 사용자에게 비춰지겠지만, 요청되는 모든 트랜잭션들은 다 공유하는 것. 이로써 초록색이 실제 운영중이라면 파란색을 백업으로, 파란색이 운영중이라면 초록색을 백업으로 구성 가능.
혹은 새로운 환경으로 전환하기 전에 운영중인 환경을 읽기 전용(Read-Only)으로 바꿔주는 방법도 있다. 그리고 완벽하게 전환이 마무리 되면 읽기-쓰기(Read and Write) 방식으로 바꿔줌.
-