開発技術
カナリアリリースの説明として、最も適切なものはどれか。
ア.新バージョンを本番環境で2系統用意し、全トラフィックを一度に新バージョンに切り替える手法。
イ.本番環境の全サーバーを順番に新バージョンへ更新していき、全サーバーが新バージョンになるまで段階的に移行する手法。
ウ.新バージョンを全ユーザーの一部(例:5%)に先行公開し、問題がなければ段階的に比率を増やして最終的に全ユーザーへ展開する手法。正解
エ.機能フラグ(feature flag)を使って、ユーザーの属性に応じて新旧の機能を切り替えるA/Bテスト専用の手法。
解説
カナリアリリースは「炭鉱のカナリア」の故事から命名。炭坑夫が有毒ガスを検知するため小鳥を先に入れたように、新機能を少数ユーザーに先行公開して問題を早期検知し、問題があれば被害を5%以下に抑えます。
なぜ ウ が正解か
ウが正解。カナリアリリース(canary release)は新バージョンを少割合のユーザー(5%・10%など)に先行リリースし、エラー率・レイテンシ・ユーザー行動などのメトリクスを監視。問題がなければ25%→50%→100%と段階的に展開割合を増やす。本番での実際の問題を最小ユーザーへの影響で検知できる安全なデプロイ手法。
出典: AI生成問題(学習用)