ブルーグリーンデプロイ
Blue-Green Deployment/ぶるーぐりーんでぷろい
ひとことで言うと
同じ環境を2系統用意し、入口の切替で無停止リリースとすぐの切戻しを実現する手法です。
📖 もうちょい詳しく
何が新しいの?
アプリを新しいバージョンに入れ替えるとき、昔は一度サービスを止めて作業することがよくありました。でもその間は利用者が使えず、もし不具合があっても元に戻すのに時間がかかります。ブルーグリーンデプロイは、サービスを止めずに入れ替え、問題があればすぐ元に戻すための工夫です。
どうやって動いてるの?
まったく同じ作りの環境を2つ用意します。片方を「ブルー(今動いている方)」、もう片方を「グリーン(新しい方)」と呼ぶことが多いです。新バージョンはグリーン側だけに入れて確認し、問題なければ利用者の流れを入口でグリーンへ切り替えます。切替はロードバランサーやDNSなど「入口」の向き先を変えるだけで、利用者の通信先がいっぺんに移ります。
何ができるの?
切替が一瞬で終わるので、利用者からは止まったように見えにくくなります。もし新バージョンに不具合が見つかっても、入口の向きをブルーに戻すだけで、すぐ前の状態に切り戻せます。リリースの不安をかなり減らせるのが魅力です。
🌱 身近なたとえ
ふだん使う窓口で例えると、隣に同じ作りの新しい窓口をもう1つ準備しておくイメージです。新しい窓口の準備が整ったら、案内の看板を「こちらへどうぞ」と新しい窓口に向け替えます。お客さんを待たせずに移ってもらえますし、もし新窓口で不具合が出ても、看板を元の窓口に戻すだけで安心です。
✅ まず覚えるポイント
- 同じ環境を2系統(ブルーとグリーン)用意する。
- 新バージョンは待機側にだけ入れて、十分に確認してから出す。
- 切替は「入口」の向き先を変えるだけ。利用者の流れが一気に移る。
- 不具合時は入口を元に戻すだけで、すぐ切り戻せる。
- サービスを止めずにリリースしやすい(無停止に近い)。
🧭 よくある勘違い
2つの環境はずっと両方使うの?
ふだん利用者をさばくのは片方だけです。もう片方は次のリリースに備える待機・確認用として使うことが多いです。切替後しばらくは前の環境を残し、問題がなければ次の準備に回します。
切り替えれば不具合は起きないの?
切替がスムーズでも、新バージョン自体に問題があれば不具合は出ます。だからグリーン側でよく確認してから切り替えます。ブルーグリーンの強みは「不具合に気づいたとき、すぐ前へ戻せる」ことです。
データベースも丸ごと2つ用意するの?
データベースは利用者の情報を持つため、両系統で共有することが多いです。共有する場合は、新旧どちらのバージョンでも壊れない形に設計しておく配慮が必要になります。
🧩 関連して覚えると楽な言葉
- カナリアリリース: 新バージョンを一部の利用者にだけ少しずつ出して様子を見る、慎重な出し方です。
- ロールバック: 不具合が出たとき、前の安定したバージョンへ戻す操作のことです。
- ロードバランサー: 通信を振り分ける「入口」の役割で、ブルーとグリーンの向き先切替にもよく使われます。
- フィーチャーフラグ: 機能のオンオフをスイッチで切り替える仕組みで、リリースの調整に役立ちます。
🏁 ひとことでまとめ
そっくりな環境を2つ持ち、入口の向きを変えるだけで新旧をパッと入れ替える。だから止めずに出せて、困ったらすぐ戻せる、安心のリリース方法です。
TERM SEARCH
ほかの用語を調べる
検索ボックスを準備中…