メインコンテンツへ
開発技術開発・運用実践

ブルーグリーンデプロイメントの説明として、最も適切なものはどれか。

ア.新バージョンを既存サーバーに段階的にロールアウトし、問題があれば部分的にロールバックする手法。
イ.新バージョンを全ユーザーの一部(例:5%)に先行公開し、問題がなければ段階的に比率を増やして展開する手法。
ウ.開発環境と本番環境を分離し、開発環境でテストを行った後、本番環境に順次デプロイする標準的な開発フロー。
エ.本番環境(ブルー)と同一構成の待機環境(グリーン)に新バージョンをデプロイし、動作確認後にトラフィックを瞬時に切り替える手法で、問題時は即座に切り戻しができる。正解

解説

ブルーグリーンは「列車の行き先を一瞬で切り替えるポイント切替」。本番(青)と同じ規模の待機線(緑)に新型車両を用意してから、切替レバーを倒すだけで全乗客が新型に乗り換え。失敗したら即座に戻せます。

なぜ エ が正解か

エが正解。ブルーグリーンデプロイメントは全く同一の構成のブルー(現本番)とグリーン(待機)の2環境を維持する。新バージョンをグリーンにデプロイして十分なテスト後、ロードバランサやDNSでトラフィックをブルーからグリーンへ瞬時に切り替える。問題発生時はグリーンからブルーへ即座に切り戻せる。ダウンタイムゼロのデプロイが可能。

なぜ ア は間違いか

新バージョンを既存サーバーに段階的にロールアウトするのはローリングアップデート(rolling update)の説明。ブルーグリーンは段階的ではなく瞬間切り替えが特徴であり、2つの完全な環境を維持するのがポイント。

なぜ イ は間違いか

新バージョンを一部ユーザーに先行公開して段階的に展開するのはカナリアリリースの説明。ブルーグリーンは全トラフィックを一瞬で切り替えるデプロイ手法。

なぜ ウ は間違いか

開発環境と本番環境を分離してテスト後にデプロイする手法はステージング環境を使った標準的なデプロイパイプライン。ブルーグリーンはどちらも「本番相当の環境」を2系統持つ概念で異なる。

出典: AI生成問題(学習用)