ブルーグリーンデプロイメントとは、稼働中の現行環境(ブルー)とは別に、同じ構成の新規環境(グリーン)を用意し、接続先を切り替えることで瞬時に新バージョンへ移行するデプロイ手法です。機械学習の運用(MLOps)においても、推論モデルの更新に伴うサービス停止を防ぎ、不具合時の迅速な切り戻しを可能にする安全なリリースアプローチとして重宝されています。
ブルーグリーンデプロイメントとは
ブルーグリーンデプロイメントとは、稼働中の現行システム(ブルー環境)とは別に、同じ構成の新しいシステム(グリーン環境)を構築し、ルーターなどの切り替えによって一瞬で新バージョンへと移行するシステムデプロイ手法です。機械学習モデルを運用する「MLOps」においても、ダウンタイムを最小限に抑えながら安全に「推論モデル」を更新するための重要なアプローチとして採用されています。
詳しく解説
ブルーグリーンデプロイメントは、システムの可用性を高めつつ安全なアップデートを行うためのリリース手法です。従来のシステム運用だけでなく、「機械学習モデル」のデプロイにおいても広く用いられています。この手法では、現在本番サービスを提供している「ブルー」と呼ばれる環境と、新しく用意した「グリーン」と呼ばれる環境の2つが常に並存します。新しい「推論モデル」やアプリケーションをまずグリーン環境にデプロイし、十分な動作確認やテストを行います。準備が整った段階で、ロードバランサーなどのルーティング設定を切り替え、すべてのユーザーのアクセスを瞬時にグリーン環境へと転送します。万が一、新モデルに予期せぬ不具合や精度低下が発覚した場合でも、ルーティングをブルー環境に戻すだけで一瞬で切り戻し(ロールバック)ができるため、サービス停止時間を極限まで減らせる点が大きなメリットです。
具体例・使われ方
例えば、ECサイトでおすすめ商品を提案する推薦システムの「推論モデル」を更新する場合を考えます。現行の推薦モデルが稼働しているブルー環境とは別に、予測精度を向上させた新しい「機械学習モデル」をグリーン環境にデプロイします。テストを終えた後、トラフィックの接続先を一気にグリーン環境へ切り替えます。万が一、本番環境で推奨の処理速度が急激に低下するバグが見つかったとしても、即座に接続先をブルー環境に切り戻すことで、ユーザーへのサービス影響を最小限に抑えられます。
似た用語との違い
ブルーグリーンデプロイメントと混同されやすい手法に「カナリアリリース」があります。ブルーグリーンデプロイメントが一気にトラフィックを100%切り替えるのに対し、「カナリアリリース」はトラフィックの一部(例:5%)だけを段階的に新しいバージョンに流し、様子を見ながら徐々に移行します。また、新旧のモデルのビジネス効果を直接比較する「A/Bテスト」とも異なります。A/Bテストは意思決定のための検証手法であり、デプロイメントの手法そのものではありません。
注意点
ブルーグリーンデプロイメントの注意点として、同じスペックのサーバー環境を一時的に2系統同時に稼働させる必要があるため、インフラコストが倍増することが挙げられます。また、データベースや保存されたデータの整合性を保つ設計が必要であり、新旧の「推論モデル」でデータのスキーマ(構造)が異なる場合には、データの移行や後方互換性の確保に注意を払う必要があります。