忍者ブログ
情報処理技術者試験の合格を目指す全受験者のための、1問1問「徹底解説」ブログです。単なる過去問の暗記ではなく、なぜその答えになるのかを本質的に理解できるよう解説します。書籍などでは学べない最新用語やトレンドを踏まえてご紹介します。

【ソフトウェア開発】本番環境でユーザーに気づかれずにテストする!「ダークローンチ」|情報処理問題1000本ノック

アジャイル開発やDevOps、CI/CDの文脈で非常に重要視されるリリース戦略。「ダークローンチ」の定義と、カナリアリリースや機能フラグ(Feature Flag)との関係性を攻略しましょう。

1. 【 問題 】:ソフトウェア工程・システム開発(DevOps・デプロイ戦略)

【 問題 】 システムのリリース手法に関する記述です。新機能や新システムを本番環境にデプロイするが、機能フラグ(Feature Flag)やUIの制御などを用いてエンドユーザーには非表示(または機能無効)にしておき、バックエンドの挙動や負荷への耐久性を本番環境上で安全に検証・テストする手法は、次のうちどれか。

(ア)カナリアリリース(Canary Release)
(イ)ブルーグリーンデプロイメント(Blue-Green Deployment)
(ウ)ダークローンチ(Dark Launch)
(エ)シャドーIT(Shadow IT)

2. 正解:

正解:(ウ)ダークローンチ(Dark Launch)

3. 解説:「『デプロイ(配置)』と『リリース(公開)』を分離する!」

ダークローンチは、本番環境のリアルなトラフィックやデータを使って新機能を稼働させ、パフォーマンス測定やエラー検出を行う手法です。
一般ユーザーには見えず影響がない(暗闇の中で動かす=Dark)ため、仮に裏側で不具合が発生してもユーザー体験を損なうことがありません。

【試験で紛らわしい代表的なリリース・デプロイ手法の比較】 ← 超重要!

手法名ユーザーへの露出・切り替え方法主な目的・特徴
(ウ)ダークローンチ 本番に配置するがユーザーには「見せない(0%)」か特定のテストユーザーのみに表示。 本番環境の負荷・裏側の挙動をユーザーリスクゼロで検証する。
(ア)カナリアリリース 全ユーザーの数%(一部)だけに先行公開し、徐々に割合を増やしていく。 新バージョンの不具合発生時の影響範囲(障害範囲)を最小限にする。
(イ)ブルーグリーンデプロイメント 旧環境(Blue)と新環境(Green)を並行して用意し、ルーター等で一気に切り替える ダウンタイム(停止時間)ゼロで即座に切り替え・切り戻し(ロールバック)を行う。

1. 理解のコツ:
「フィーチャーフラグ(Feature Flag)」という技術とセットでよく使われます。
・スイッチ(Flag)を「OFF」にしたまま本番環境にプログラムコードを配置(デプロイ)しておき、裏でテストを実施。準備や動作確認が完璧に終わったら、スイッチを「ON」にして一瞬でユーザーに公開します。

2. 試験対策の視点: アジャイル開発やDevOps、システム移行(基幹システムの置換など)で注目されるテーマです。
問題文に「本番環境にデプロイ」「ユーザーから隠す/見えない」「裏側で負荷や挙動を検証」「機能フラグ(Feature Flag)」といったキーワードが出たら、迷わずダークローンチを選択しましょう!


4. まとめ

本番環境にコードを配置しつつ、ユーザーには非表示の状態で裏側の挙動やパフォーマンスを検証するリリース手法。これがダークローンチです。カナリアリリースやブルーグリーンデプロイメントとの違いも含めてマスターしておきましょう!

PR