ブルーグリーンデプロイメント

ブルーグリーンデプロイメントは、最小限のダウンタイムで稼働中のコンピューターシステムを更新する戦略です。 オペレーターは、“ブルー"と"グリーン"と呼ばれる2つの環境を維持します。 一方は本番トラフィックを処理し(現在すべてのユーザーが使用しているバージョン)、もう一方が更新されます。 アクティブではない(グリーン)環境のテストが終了すると、本番トラフィックは(しばしばロードバランサーを使用して)切り替えられます。 ブルーグリーンデプロイメントは通常、多くのサービスを含む全環境を一度に切り替えることを意味します。 紛らわしいことに、時々この用語はシステム内の個々のサービスに関して使用されます。 このあいまいさを避けるため、個々のコンポーネントを指す場合には"ゼロダウンタイムデプロイメント"という用語が好まれます。

解決すべき問題はなんですか

ブルーグリーンデプロイメントは、後方互換性がないために"ロックステップ"で変更する必要があるソフトウェアを更新する際に最小限のダウンタイムを可能にします。 例えば、ウェブサイトとデータベースから成るオンラインストアの更新を考えます。 新しいバージョンのデータベースが古いバージョンのウェブサイトと互換性がなく、その逆も同様である場合、ブルーグリーンデプロイメントが適しています。 このインスタンスでは、両方を同時に変更する必要があります。 これが本番システムで行われた場合、顧客はダウンタイムに気付くでしょう。

どのように役に立つのでしょうか

ブルーグリーンデプロイメントは、最小限のダウンタイムで更新する必要がある、クラウドネイティブではないソフトウェアに適した戦略です。 しかし、その使用は通常レガシーソフトウェアが再設計され、コンポーネントを個別に更新できるようにする必要があるという"臭い"を放ちます。