アプリやサービスを止めずに安全に新しいバージョンへ切り替えるための手法です。
名前の通り、「ブルー環境」と「グリーン環境」という2つの本番環境を使います。

仕組みのイメージ
- ブルー環境:現在稼働している本番環境(古いバージョン)。
- グリーン環境:新しいバージョンをデプロイする環境。
流れ
- 新しいバージョンをグリーン環境にデプロイ。
- テストして問題なければ、トラフィックの切り替えをブルー→グリーンに変更。
- 切り替え後、ブルー環境はバックアップとして残すので、問題があればすぐ戻せる。
メリット
- ダウンタイムなし:サービスを止めずに更新できる。
- 安全性が高い:問題があればすぐにブルー環境に戻せる。
- 簡単なロールバック:切り替えだけで復旧可能。
対して、「カナリアリリース」というデプロイメントもあります。
新しいバージョンに 一部のトラフィックだけ を流して様子を見る。
カナリアリリースは「小さな鳥(カナリア)」のイメージで、少しずつリスクを減らしながら移行していくものです。
実際、我々がやっているリリースは、カナリアに近いです。
ある端末だけリリースし、様子を見るとか。
しかし、データテーブルの構造の変更が伴うリリースの場合は、
ブルーグリーンであれカナリアであれ、
問題発生時、ロールバックする際は、データごと戻さないといけない。
しかし、リアルタイムで更新しているデータはパァにされては困るはずですから、
こんな時は、アプリやサービスを止めて、早急に動作するように尽力するしかない。
そうならないための品質、そこに重きをデプロイメントです。
