どうも!ひよこSE(@PiyoOct)です。
フェールソフトってなんだ?
一言でわかりやすく言えば、「故障したときに継続して稼働することを優先する」ってことです。
なにかトラブルが発生したときに「いちいち全部を止めてられるかっ!」みたいな考え方をします。
安全第一で全てストップさせてしまう「フェールセーフ」という考え方もあるのですが、それだとあまりにダメージが大きいときにこの方法を取ります。
フェールソフト(fail soft)とは、故障時に継続して稼働することを優先する考え方
フェールソフト(fail soft)とは、故障時に継続して稼働することを優先する考え方です。
Maxの性能とまではいかないけど、何とか動かしつつ、復旧を待つイメージです。
トラブルが発生したら、単に「すべてストップさせる」じゃ済まないことも
基本的には、システムにトラブルが発生したら、「安全第一ですべてストップさせる(「フェールセーフ」って言ったりする)べき」という考え方は、わかりやすいですよね。
ここでいう「システム」は、パソコンや、冷蔵庫、銀行のATMのように「人間がプログラムを作ってコントロールするものすべて」と思ってください。
壊れているかもしれないのに、続けて動かすのって怖くない?
本当にそれ、大丈夫なの?
って考えるのが普通です。
ただ、なんでもかんでも、「トラブルが発生したら止めちゃえばいい」ってものでもないのです。
パソコンの電源がいきなりブチッと切れたら全員キレると思う
「トラブルが発生したら止めちゃえばいいじゃん」っていうのは確かにその通りです。
しかし、そうしないほうがいい例もあって、その一つがパソコン。
例えば、ある日、のんきにYouTubeで音楽を聴いているとします。
音楽に夢中になってると、パソコンのバッテリーの残量がどんどん減っていって、10%くらいになったとします。
※バッテリーの残量が少なくなること自体は、故障ではないけど、イメージを持つための例として考えてください。
そしたら、パソコンは「残量減ってるで~」って教えてくれますよね。
そりゃそうです。
0%になって電源がブチッと切れると、YouTubeならまだいいですが、仕事の資料を作成していたりしたら大変。目も当てられません。
それまでの作業が、水の泡になります。
なので、パソコン自体が(数字は適当です)
- 10%から先は、省エネモードに自動で切り替える
- 5%になったら、スリープモード(休止)にする
- それでも、0%になったら、電源を落とす
みたいな感じで、0%になる前に、バッテリーが充電される前まで、色々とやってくれるわけです。
もし、事前に何もせずに、いきなりバッテリーが0%になって、電源がブチッと切れたら、
このパソコン、全然やさしくない・・・
みたいに、パソコンにキレたくなりますよね?(え?ならないですか?・・・まぁ、いいや)
フェールソフトの身近な例
フェールセーフの身近な例を書いておきます。
- エヴァンゲリオンのアンビリカンケーブルが断線したときの5分間の内臓電源
- 飛行機のエンジンは、最悪1つしか動かないとしても飛び続けることができる
- 体調が悪いけど、いまは仕事が大変なときだから、なんとか出社して定時に帰る
え?エヴァンゲリオンはわからないって?
それじゃあ、残りの2つで覚えておいてくださいまし(´▽`*)。
【おまけ】故障やトラブルに対する他の考え方
おまけの話になりますが、故障やトラブルに対する他の考え方も書いておきます。
- フェールセーフ:故障したときに安全性を優先する考え方
- フールプルーフ:人間がうっかりミスしても、誤作動を起こさないようにする考え方
- フォールトトレラント:「故障が起きても大丈夫なようにしましょう」という全体的な考え方。フォールトトレラント=フェールセーフ+フェールソフト+フールプルーフ
なんか、混じりそうなんだけど・・・
フェールソフトは、英語で書くと
fail + soft です!
「fail(失敗・故障) + soft(やわらかい)」なので、「故障をやわらげる」=「継続して稼働する」みたいに、こじつけで覚えてしまいましょう。
まとめ:フェールソフトは、何とかして続けて動かす
まとめると、フェールソフトは「いきなり故障ですべて止まるのは乱暴だから、何とかして続けて動かす」と覚えておいてくれたらと思います。
なので、この考え方で作られたシステムは、障害発生時でも、部分的ではあっても動き続けます。
リカバリ(障害が治った後にどうやって復旧するかを考えること)は、動かしつつ考えると覚えておいてくださいまし(-_-;)。
コメント