ITごはん

ITを活用したい人、ITで何か作りたい人、そんなITでごはんを食べる人のためのブログ

システムの信頼性の基礎知識

f:id:HIDEKIT:20150430191441j:plain

信頼性の指標

システムの信頼性とは一言で言えば、 システムが壊れず使えるかの度合いです。 以下の3つの信頼性の指標を覚えましょう。

・MTBF(Mean Time Between Failure:平均故障間隔)とは、
故障が回復してから次に故障するまでの平均時間です。長いほど信頼性が高い。
・MTTR(Mean Time To Repair:平均復旧時間)とは、
故障が発生したときに復旧に要する平均時間です。短いほど信頼性が高い。
・稼働率=MTBF/(MTBF+MTTR)

信頼性を上げるための設計(信頼性設計)

それでは信頼性を上げるためには、どのような設計が有効でしょうか。 例を挙げてその考え方を整理しましょう。

フェールセーフ

障害が発生した際の被害を最小限に抑える設計思想です。 身近な例では、石油ストーブが転倒すると自動的に消火するなどです。 他に、作業範囲に人間が入ったことを検知するセンサが故障したとシステムが判断した場合、 ロボットアームを強制的に停止するといった設計もこのフェールセーフになります。

フォールトアボイダンス

故障が起きないようにするという考え方は、フォールトアボイダンスといいます。 例えば、一部機能の障害によってシステムが停止しないよう、ハードウェアやソフトウェアを十分に検証し、 信頼性の高いものだけでシステムを構成する方法です。

フェールソフト

たとえ、障害がおきても、大きな問題がないようにする方法がフェールソフトといいます。 例えば、クラスタ構成のシステムにおいて、あるサーバが動作しなくなった場合でも、 他のサーバでアプリケーションを引き継いで機能を提供する。

フールプルーフ

利用者は間違うということを前提として、もし間違いが起こってしまっても 問題がおこらないようにする考え方がフールプルーフです。

例えば、電子メールでの返信が必要とされる受付システムの入力画面で、 メールアドレスの入力フィールドを二つ設けて、同一かどうかをチェック機能や、 アプリケーションを間違って終了してもデータを失わないように、 アプリケーション側の機能で編集中のデータのコピーを常に記憶媒体に保存するようなケースです。