ブルーグリーンデプロイ
Blue-Green Deployment/ぶるーぐりーんでぷろい
ひとことで言うと
新旧2つの本番環境を用意し、切り替えで無停止リリースする手法です。
📖 もうちょい詳しく
何が新しいの?
サービスの更新作業をすると、その間だけサイトが止まってしまうことがあります。利用者が多いサービスでは、たとえ数分でも止まると困ります。そこで、本番の環境をまるごと2つ用意して、お客さんに見せる先を切り替えるだけで更新を済ませよう、という考え方が出てきました。これがブルーグリーンデプロイです。
どうやって動いてるの?
同じ作りの本番環境を「青」と「緑」の2つ用意します。いまお客さんが使っているのが青なら、新しいプログラムは裏で緑のほうに入れて、ゆっくり準備します。準備ができたら、入り口の案内係(ロードバランサーなど)が向ける先を青から緑へ切り替えます。お客さんは止まりを感じないまま、新しいほうに移ります。
何ができるの?
更新中もサービスを止めずに済むので、深夜にメンテナンスのお知らせを出して待つ、といった作業が減ります。さらに、もし新しいほうで不具合が見つかっても、向ける先を元の環境へ戻すだけで、すぐに前の状態に復帰できます。
🌱 身近なたとえ
2つのレジで例えると分かりやすいです。いまお客さんが並んでいるのが「青レジ」だとして、その隣に同じ品ぞろえの「緑レジ」を準備しておきます。緑の準備が整ったら、案内係が「次の方はこちらへ」と緑に流します。もし緑で問題が起きても、すぐ青に戻せばいいので、お客さんを待たせずに済みます。
✅ まず覚えるポイント
- 同じ作りの本番環境を青・緑の2つ用意します
- 片方を動かしながら、もう片方で新しい版を準備します
- 切り替えは入り口の案内(ロードバランサー)の向き先を変えるだけです
- 利用者を待たせない無停止リリースをねらえます
- 不具合が出ても、向き先を戻せばすぐ前の状態に復帰できます
- 環境を2つ持つので、その分のコストはかかります
🧭 よくある勘違い
切り替えれば不具合はゼロになるの?
いいえ、不具合そのものが消えるわけではありません。問題が出たときに「すぐ元へ戻せる」のが強みです。新しいほうの確認は、切り替える前にきちんと行うことが前提になります。
環境が2つあれば常に倍のお金がかかるの?
必ずしも倍とは限りません。切り替えが終わったあと、古いほうを次の準備用に使い回したり、一時的に縮小したりする運用もあります。とはいえ、ある程度の余分なコストはかかりやすい手法です。
🧩 関連して覚えると楽な言葉
- カナリアリリース: 新しい版を一部の利用者にだけ先に出して様子を見るやり方です
- ロールバック: 不具合が出たときに、前の正常な状態へ戻すことです
- ロードバランサー: お客さんを複数のサーバーに振り分ける入り口の案内係です
- CI/CD: プログラムの確認と公開までを自動でつなげる仕組みです
🏁 ひとことでまとめ
裏でもう1つの本番を整えておき、向き先を切り替えるだけで止めずに更新でき、まずければすぐ戻せる、それがブルーグリーンデプロイです。
TERM SEARCH
ほかの用語を調べる
検索ボックスを準備中…