Val Yonchev
Blue/Greenデプロイメントとは、ソフトウェア開発において、チームが2つの本番環境を利用できることに基づくテクニックです。そのうちの1つは”Green”と呼び、リバースプロキシ(ロードバランサ/ルータ)から負荷を受ける本番環境です。もう1つの環境は、"Blue"と呼び、新しいバージョンにアップグレードされたコピー環境です。
チームは、ダウンタイムに慌てることなく、"Blue"環境上で製品バージョンのアップグレードに必要なすべてのタスクを実行することができます。一度"Blue"環境の準備ができたら、あらゆる種類のスモークテストとチェックを経て、チームはリバースプロキシ(ロードバランサ/ルーター)を"Blue"環境を指すようにリダイレクトするだけです。
もし"Blue"環境ですべてがうまくいけば、今度は古くなった"Green"環境を次のリリースの"Blue"として使用することができます。もしトラブルが起きた場合は、リバースプロキシ/ロードバランサー/ルーターを使って、即座に安定した環境に戻すことができます。
これはフィードバックループのプラクティスです。これにより、自分たちの変更が実際に使用されたときのフィードバックを迅速に得ることができるようになります。つまり継続的デリバリーの実現手段です。
このプラクティスは、複雑なリリースを実行するための安全性を提供します。時間的なプレッシャーがなくなり、ダウンタイムをほとんどゼロにすることができます。これは、技術チームにとっても、顧客にとっても有益です。顧客は、新バージョンが同等に機能していれば、サービスや製品の不具合や利用不能に気づくことはありません。万が一、悪影響が出た場合でも、即座にロールバックすることができ、顧客への影響を最小限に抑えることができます。
手順などは、以下のリンク先をご覧ください:
Blue-green Deployments, A/B Testing, and Canary Releases by Christian Posta
BlueGreen Deployments by Martin Fowler
Blue/Greenデプロイメント をチームや顧客、ステークホルダーと実施するにあたりより詳細にお知りになりたい場合は、以下のリンクを参照してください。