障害に備えた設計と稼働率
信頼性設計とは、システムが故障する前提に立ち、故障の発生を防ぎ、故障が起きたときの影響を抑え、必要な機能を継続させるための設計である。代表的な考え方として、フォールトアボイダンス、フェールセーフ、フェールソフト、フォールトトレランス、フールプルーフがあり、それぞれ故障や誤りに対する態度が異なる。試験では、場面を示されてどの考え方に当たるかを判別させる形式が多い。
故障や誤りを防ぐ考え方
フォールトアボイダンスは、信頼性の高い部品の選定や設計・製造品質の向上などによって、故障そのものが発生しないようにする考え方である。 フールプルーフは、利用者の誤操作や不適切な入力を前提に、誤りを未然に防いだり気付かせたりする設計である。前提条件を満たさない入力をプログラムで検出し、エラーメッセージを表示して再入力を促す方針が典型例である。
故障時の振る舞いを定める考え方
フェールセーフは、故障や異常が起きたとき、あらかじめ定めた安全な状態へ移行させる設計である。交通管制システムの故障時に信号機を赤色にする例が代表的で、機能の継続よりも安全を優先する。
フェールソフトは、一部に障害が起きた場合に、性能や構成を縮小しながら運転を続ける設計である。ハードウェア障害時に構成を縮小して運転を継続する例が典型で、完全な停止は避けるが、機能や性能は一部低下する点に特徴がある。
フォールトトレランスは、冗長化などによって故障が発生しても必要な機能やサービスを継続させる設計である。コントローラを二重化し、片方が故障しても運用を続ける例がこれに当たる。安全側へ移行するフェールセーフとは異なり、機能を維持し続ける点が特徴である。
稼働率の計算と冗長化の効果
稼働率とは、システムや装置が稼働している時間の割合であり、構成要素の稼働率から全体の稼働率を求めることができる。直列に接続された装置は全てが稼働している必要があるため、全体の稼働率は個々の稼働率の積となり、構成要素が増えるほど低下する。並列に冗長化された装置は、少なくとも一台が稼働していればよいため、全体の稼働率は個々の不稼働率の積を1から引いた値として高まる。
この節の続き
- Webサーバの可用性とセッション共有
- 試験で問われやすい区別
ここまでが冒頭部分です。ログインすると、無料でも1日2節まで全文をお読みいただけます。
アプリでこの節を読む