Blue/Greenデプロイメント

常にロールバックできる状態にする
Contributed by

Val Yonchev

Published December 18, 2018
Collection
1

概要

Blue/Greenデプロイメントとは、ソフトウェア開発において、チームが2つの本番環境を利用できることに基づくテクニックです。そのうちの1つは”Green”と呼び、リバースプロキシ(ロードバランサ/ルータ)から負荷を受ける本番環境です。もう1つの環境は、"Blue"と呼び、新しいバージョンにアップグレードされたコピー環境です。 Embedded Content

チームは、ダウンタイムに慌てることなく、"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デプロイメント をチームや顧客、ステークホルダーと実施するにあたりより詳細にお知りになりたい場合は、以下のリンクを参照してください。


Except where noted, content on this site is licensed under a Creative Commons Attribution 4.0 International license. This site is graciously hosted by Netlify