令和5年度 秋期 午前Ⅱ 問22
システム開発技術
目的別のサービスが多数連携して動作する大規模な分散型のシステムでは,障害時の挙動を予知することが困難である。このようなシステムにおいて,ステージング環境や本番環境で意図的に障害を引き起こしてシステムの挙動を観察し,発見した問題を修正することを継続的に実施し,システムの耐障害性及びシステム運用の信頼性を高めていく手法はどれか。
- アDevOps
- イInfrastructure as Code
- ウカオスエンジニアリング
- エテスト駆動開発
答えと解説を見る
✓ これが正解ウカオスエンジニアリング
解説
本番環境などで意図的に障害を起こして耐障害性を高める手法です。
カオスエンジニアリングは、多数のサービスが連携する大規模な分散システムで、障害時の挙動を確かめるための手法です。ステージング環境や本番環境で、サーバを止める、通信を遅らせるといった障害を意図的に起こし、システムがどう振る舞うかを観察します。見つかった問題を修正し、これを継続的に繰り返すことで、耐障害性と運用の信頼性を高めていきます。設問にある、意図的に障害を引き起こして挙動を観察するという記述が、この手法を指す決め手です。
ほかの選択肢はなぜ違うのか
- アDevOps:DevOps は、開発チームと運用チームが協力して、ソフトウェアを素早く安定して届けることを目指す考え方や文化です。運用の信頼性にも関わりますが、障害をわざと起こす手法を指す名前ではありません。
- イInfrastructure as Co…:Infrastructure as Code は、サーバやネットワークの構成をコードで記述し、自動で構築・変更できるようにする手法です。構成の再現性を高めるものであり、障害を注入して挙動を観察するものではありません。
- エテスト駆動開発:テスト駆動開発は、実装より先にテストを書き、そのテストを通すようにコードを作っていく開発手法です。開発の段階で使うもので、本番環境で障害を起こして観察するものではありません。
この問題の用語
- システム運用作ったシステムを日々動かし、支えていく仕事のことをいいます。稼働の監視やバックアップ、障害への対応などを決めた手順で行います。
- 信頼性意図した動きと実際の結果が食い違わない度合い。情報セキュリティでは一貫しているという特性、機器ではRASISのRとして壊れにくさを指します。
- テスト決めたとおりに動くかを、実際に動かして確かめる作業のこと。何を確かめるかによって移行テスト、システムテストなどと呼び分けます。
出典:令和5年度 秋期 情報処理安全確保支援士試験 午前Ⅱ 問22
同じ用語が出る問題
- 令和7年度 秋期 午前Ⅱ 問22:ソフトウェア結合テストの方式(テスト)
- 令和7年度 春期 午前Ⅱ 問25:内部統制に関する問題(信頼性)
- 令和3年度 春期 午前Ⅱ 問22(信頼性)
- 令和2年度 10月 午前Ⅱ 問24:TCOに関する問題(システム運用)
- 令和元年度 秋期 午前Ⅱ 問25:コントロールに関する問題(システム運用)
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)