フォールトトレランス(Fault Tolerance)とは、たとえ欠陥があってもシステムが正常に動作することを言います。
これは、故障した際に可能なだけ機能を維持し、安全を確保しよう、故障した際にどれだけ耐えられるかといった視点の用語です。
■絶対止めてはならないし、機能低下も許されない
例えば、飛行機のエンジンが故障しても、生き残ったエンジンで飛行が続けられるといった考え方がこのフォールトトレランスに当たります。
この、飛行を継続するといった機能については、人命が関わるのでエンジンの一つが故障したとしても絶対に続行しなければならないのです。
ただし、エンジンの一つが故障したら「速度は仕方ないけど、飛び続けるという最低限のラインは守ろう」といったフェールソフトといった発想もあります。
■フォールトトレランスを実現するために
このフォールトトレランスを実現するためには、仕組み全体を冗長化する必要があります。各構成要素(主要なモジュールなど)を多重化(冗長化)すると一つが壊れても予備が動くから機能の低下もないといったイメージです。
例えば、ハードディスクを二重化しておいて、万が一一つが壊れてもデータが喪失しないようにするといった事を考えます。(RAID)
単純に一つのモノを二つにすれば同時に故障する確率は非常に小さくなります。具体的には、以下のように同時に故障する確率が小さくなるのです。
例:故障率0.01の部品が同時に故障する確率は
0.01×0.01=0.0001
となります。
フェールソフト | トラブル発生時には機能を落として続行する |
フェールセーフ | トラブル発生時には安全に止める |
フォールトトレランス | トラブルが発生しても、止めないし機能も落とさない |
■高くつきます
ただし、このフォールトトレランスは高くつきます。1つでいいものを予備としてもう一つ用意すると言った発想なので、コストは跳ね上がります。
そのため、絶対に止めてはならないし、絶対に機能も落としてはならないモノだけに採用すると言ったことが行われます。
お店のレジが爆発したのに普通に営業している!
って夢を見たんですよ。
あら、それいいわね。うちのお店もどんなトラブルがあるかわからないから、フォールトトレランスの考え方を取り入れようかしら。早速同じレジを買って、電気が止まることに備えて発電機も買って…
そんなことをしていたらお金がいくらあっても足りないのではないでしょうか?
このまんがでは先輩が予備の楽譜と楽器を持っていたようで、深刻な事態に陥らずに済みました。このように、予備を持つとというのも、万が一に備えた冗長化の例です。
といっても、予備の楽譜はともかく、楽器って普通は持っていないですよね。
事業を営むのに必要な情報姉妹サイトとして開業や創業、事業経営に大切な情報をコンサル目線でまとめてみました。