カオスエンジニアリング

カオスエンジニアリング(Chaos Engineering)は、マイクロサービスアーキテクチャなどの複雑で大規模な分散システムにおいて、サーバの停止やネットワーク遅延といった「障害(カオス状態)」をあえて意図的に本番環境などに注入し、システムが予期せぬトラブルにどう耐えうるかを観察・検証・改善する手法です。Netflix社が導入したことで広く知られるようになりました。 各選択肢の解説: ア:DevOpsは、開発チームと運用チームが密に連携し、システム価値を迅速かつ継続的に届けるための考え方・体制です。 イ:Infrastructure as Code (IaC) は、サーバの構築やインフラ設定をソースコードとして記述し、自動化・バージョン管理する手法です。 エ:テスト駆動開発 (TDD) は、プログラムの実装前にまずテストコードを書き、そのテストを通過するように実装を進めるアジャイル開発の手法です。

目的別のサービスが多数連携して動作する大規模な分散型のシステムでは、障害時の挙動を予知することが困難である。このようなシステムにおいて、ステージング環境や本番環境で意図的に障害を引き起こしてシステムの挙動を観察し、発見した問題を修正することを継続的に実施し、システムの耐障害性及びシステム運用の信頼性を高めていく手法はどれか。

出典令和5年度 秋期 情報処理安全確保支援士試験 午前Ⅱ 問22
ア
DevOps
イ
Infrastructure as Code
ウ
カオスエンジニアリング
エ
テスト駆動開発