基本情報技術者試験のシステム障害対策の勉強をしていると、いくつか対策の方法が出てきます。その中でも代表的なものが、「フォールトトレランス」「フェールソフト」「フェールセーフ」です。
しかし、この中でもフォールトトレランスとフェールソフトは特に違いが分かりにくいです。
そこで今回の記事では、これらの違いを説明していきます。
※基本情報技術者試験の概要と、私のおすすめの勉強法はこちらから。
フォールトトレランスは設計思想
まず、フォールトトレランスというのは「障害が起こっても、システムが作動し続けるようにしよう」というシステム設計思想だと思ってください。
フォールトトレランスは英語で、"Fault Tolerance"です。つまり、"Fault"(障害)が起きても、"Tolerance"(耐える)ことができるということです!
フォールトトレランスの実現方法
そして、フォールトトレランスを実現する方法が、「フェールソフト」と「フェールセーフ」です。では、それぞれについて説明します。
フェールソフトとは、「障害や問題が起きてもシステムを作動し続ける」ことです。
これが実装されている例が、航空機のシステムです。航空機でシステム障害が起きて停止してしまうと大変なことになります。そこで、フェールソフトを用いて作動し続けられるシステムとなっています。片方のエンジンが停止しても、もう一つのエンジンで飛べるといったシステムですね。
次にフェールセーフとは、「障害が起きたら安全第一でシステムを停止させる」ことです。
これが実装されている例が、電子レンジのシステムです。電子レンジの扉が開いたまま加熱されようとすると、障害として検知され加熱が停止されますよね。
ここまでをまとめると以下のようになります。
フォールトトレランスの実現方法
フェールソフト
システム障害が起きてもシステムを作動し続けさせる
フェールセーフ
システム障害が起きたら安全第一でシステムを停止させる
フォールトトレランスとフェールソフトが並列に捉えられることもある
上記では、フォールトトレランスの中にフェールソフトとフェールセーフがあるというイメージでした。しかし、基本情報技術者試験の問題の中には、フォールトトレランスとフェールソフトを並列に捉えている問題もあります。
どういうことかというと、フォールトトレランスは「システム障害が起きると機能・性能制限をせずにシステムを作動し続けます」という考え方を指します。
一方、フェールソフトは「システム障害が起こると機能・性能制限をしてでもシステムを作動し続けます」という考え方を指します。
つまり、先ほどの飛行機エンジンが片方でも飛べるシステムは、フォールトトレランス・フェールソフト・フェールセーフの中では、「フェールソフト」であるということになります。
これをまとめると以下のようになります。
フォールトトレランス
システム障害が起きたら安全第一でシステムを停止させる
(機能・性能制限なし)
フェールソフト
システム障害が起きてもシステムを作動し続けさせる
(機能・性能制限あり)
フェールセーフ
システム障害が起きたら安全第一でシステムを停止させる
まとめ
今回の内容は、システム障害対策の代表例である「フォールトトレランス」「フェールソフト」「フェールセーフ」について説明しました。
特に、フォールトトレランスとフェールソフトの違いはややこしく、教材によっても説明が異なります。しかし、上記の2パターンの解釈があることだけ抑えておけばOKです!
試験でも頻出の用語なので、何としてでも得点しましょう!!