フェールソフトとは?
フェールソフトという言葉を聞いたことがあるでしょうか?
フェールソフトとは、万が一システムや機械で故障が発生しても被害を最小限にとどめた上で問題のシステムを完全に停止させず、最低限の機能を維持した上で動かし続ける設計のことを言います。
自動車開発する自動車業界や1つのミスが重大なトラブルに発展しかねない航空機業界、様々なソフトウェアサービスを開発するIT業界などでよく用いられてる信頼性設計の一つでもあります。
フェールソフトとよく似た意味をもつ用語もありますが、そちらについても後ほど解説していきますので順番に見ていきましょう。
フェールソフトの具体例
フェールソフトについて説明されてもいまいちピンとこない方もいるでしょう。
そういう場合は以下のフェールソフトの具体例を参考にイメージを強めて行ってください。
飛行機のエンジン
飛行機には必ず左右に1つずつ大きなエンジンが搭載されています。
ですがこれは「エンジンが二つないと飛行できない」という理由で2つあるのではありません。
もちろん2つあったほうが安定しやすいなどのメリットがあるでしょうが、飛行機は「片方のエンジンが完全に停止してまっても飛行できる」用に設計されています。
もし片方のエンジンが停まっただけで飛行が不可能になると不時着もままならず、搭乗者の多くが犠牲になりかねません。
ですので、万が一のことが発生しても被害を抑えるために片方のエンジンだけでも飛行して不時着成功率を高めるように作られています。
エアコン
自宅にあるようなエアコンは基本的にリモコンを使って温度調整や電源のオンオフを行いますよね?
ですが、以下のような状況にだとどうでしょうか?
- リモコンの電池が切れてしまった
- リモコンが壊れてしまった
- リモコンをなくしてしまった
そういった場合に備えて、エアコンには必ずと言っていいほどエアコン本体に電源のオンオフボタンが取り付けられています。
この電源ボタンによって、リモコンが使えない状態でも最低限エアコンとして稼働させられるようになっています。これもフェールソフトの考え方の一つと言えるでしょう。
ブログサービス
ブログサービスでもフェールソフトに則って設計されることが少なくありません。
例えば、ブログサービスの運用で使っているサーバーが停止してしまった時です。
この場合、フェールソフトのことを考えずに設定していると全サイトが完全に停止してしまいますが、フェールソフトに則って設計すると以下のような仕組みを作り出せます。
- ページの表示速度が落ちるものの、ちゃんと閲覧できる
- 文章は閲覧できるけど画像が閲覧できない
- ブログはきちんと閲覧できるけど、ブログの更新ができない
関連する用語
フェールソフトと同じ用に使われる信頼性設計用語「フェールセーフ・フォールトアボイダンス・フォールトマスキング」の3用語についても見ていきましょう。
フェールセーフ
フェールセーフはシステムや機械の誤動作・誤操作が起きても安全なように設計することをいいます。
フェールセーフによる設計は電子レンジや洗濯機がわかりやすいでしょう。
例えば電子レンジは、開けたままでも温められるものではありませんよね?必ず扉を閉めないと何があっても温められません。
洗濯機も同様で、蓋が閉まっていないと回らないようになっています。
電子レンジだと大量の電磁波が発生するため開けたまま温めれてしまうと大変ですし(スマホやほかの機械が壊れかねません)、洗濯機だと中に子供やペットが入っていると大変です。
フェールソフトはトラブルが発生しても最低限動作させることが目的な考え方ですが、フェールセーフはフェールソフトと違い安全性を意識した信頼性設計の考え方と覚えておくと良いでしょう。
フォールトアボイダンス
フォールトアボイダンスは、とにかく不具合や故障が起きないようにする信頼性設計の考え方の一つです。
- 10万回押しても壊れないボタン
- 水に濡れても壊れないスマホ
- 雷による超高圧電力で壊れない電源
製品の品質を高めつつ故障や障害が発生する原因を可能な限り排除する設計のことがフォールトアボイダンスです。
フォールトマスキング
フォールトマスキングとは、万が一システムや機械に不具合が発生しても、ほかのシステムなどに被害が広まらないようにする信頼性設計の一つです。
独立した3つ以上のシステムで全く同じ処理を行ってそれぞれの処理結果を比較し、最も多い処理結果を正しい結果として扱うシステムの構築などでフォールトマスキングという言葉が出てくることがあります。