応用情報技術者令和7年春期 午前問49

問49

分散システムの脆弱性を実験によって発見する手法であるカオスエンジニアリングには,五つの原則がある。この原則のうちの三つは,"定常状態における振る舞いの仮説を立てる","実世界の事象を多様化させる","継続的に実行できるよう実験を自動化する"である。あと二つの原則の組みはどれか。
  • "開発環境で実験を行う","影響範囲を局所化する"
  • "開発環境で実験を行う","影響範囲を広く捉える"
  • "本番環境で実験を行う","影響範囲を局所化する"
  • "本番環境で実験を行う","影響範囲を広く捉える"

分類

テクノロジ系 » ソフトウェア開発管理技術 » 開発プロセス・手法

正解

解説

カオスエンジニアリング(Chaos Engineering)は、システムが本番環境における不安定な状態に耐える能力へ自信を持つためにシステム上で実験を行う訓練方法です。Netflixが導入したことで注目されるようになった手法です。

サービスが多数連携して動作する大規模な分散型のシステムの本番環境において、実際に小規模の障害(サーバダウンや応答遅延など)を意図的に発生させ、システムの挙動がどのように変化するのかを測定します。定常状態を保つことできれば、システムの挙動はより確実と言えます。定常状態を乱す脆弱性が発見された場合は、そのシステムの動作が顕著に現れる前に改善の目標を立てます。

カオスエンジニアリングの5つの原則は次のとおりです(内容は要約)。
定常状態における振る舞いの仮説を立てる
システムの内部属性ではなく、測定可能なシステム出力(スループットやエラーレートなど)に着目し、定常状態の挙動を仮定する。目的はシステムが機能しているかを検証することである
実世界の事象は多様である
ハードウェア障害・ソフトウェアの不具合・急激なトラフィック変化など、現実世界の事象を反映する変数を導入し、その影響度や発生頻度に応じて事象に優先順位をつける
本番環境で検証を実行する
システムは環境やトラフィック状況によって挙動が異なり、また利用状況は常に変わるため、本番環境のトラフィック上で直接検証する
継続的に実行する検証の自動化
手動の検証は非効率なため、実験は自動化し、継続して実行する
影響範囲を局所化する
エンジニアには本番環境での検証による被害を最小限に抑える責任と義務がある
残る2つは"本番環境で実験を行う"、"影響範囲を局所化する"です。したがって「ウ」の組合せが正解です。

参照URL: カオスエンジニアリングの原則
https://principlesofchaos.org/ja/
© 2010- 応用情報技術者試験ドットコム All Rights Reserved.

Pagetop