フェールセーフやフェールソフト・フールプルーフ 障害対策用語の整理

フェールセーフやフェールソフト・フールプルーフ 障害対策用語の整理

2021-03-022 min read

目次

  1. 概要
  2. フォールトトレランス
  3. フォールトアボイダンス
  4. フォールトマスキング
  5. フェールオーバ--フェールバック
  6. フォールバック

概要

フェールセーフ とか フェールソフト とか フォールトトレランス といった単語がシステムの障害対策として出てくるが、 その辺りの似たような単語がよくわからなくなってしまうため個人的な理解として整理したものを記録しました。

ここで言う似たような単語とは次のようなものです。

  • フールプルーフ
  • フェールオーバ
  • フェールセーフ
  • フェールソフト
  • フェールバック
  • フォールトアボイダンス
  • フォールトトレランス
  • フォールトマスキング
  • フォールバック

それぞれの言葉を検索するとすぐ答えは見つかりますが最終的にこのように解釈しました。

  • フォールトアボイダンス: 障害を未然に防ぐ考え方
  • フォールトトレランス: 障害の発生が前提の考え方
    • フールプルーフ: あらかじめ組み込む・安全工学
    • フェールセーフ: 障害時の安全性優先
    • フェールソフト: 障害時の継続性優先(縮退運転)の思想。行為がフォールバック
  • フォールトマスキング: 障害を伝搬させない
  • フェールオーバ <=> フェールバック: 障害時の待機系切り替え・切り戻し

詳細は以下。

フォールトトレランス

フォールトトレランスはシステムの一部が故障し停止した場合でも予備の系統に切り替えるなどして正常に稼働させ続ける方法の総称です。 この方法は細分化すると次のようなものがあります。

  • フールプルーフ
  • フェールセーフ
  • フェールソフト

ポイント

障害が起こることが前提の考え方。

フールプルーフ

フールプルーフは機器を利用する際に操作を間違えたとしても危険な状況にならないような仕組みを、あらかじめ組み込んで設計しておく考え方。(=安全工学)

  • 蓋を閉めないと動かない洗濯機
  • 正しい向きにしか挿入できない電池ボックス

ポイント

あらかじめ対応できる対策。

フェールセーフ

フェールセーフは障害が発生した場合、安全性を確保する方向で停止するように設計しておく考え方。

  • 信号機が故障した場合、赤で停止する
  • 倒れた際に火が消えるストーブ

ポイント

安全性が最優先となる場合。

フェールソフト

フェールソフトはシステム障害が発生した場合、システム全体は止めず一部機能を切り離して稼働させ続ける方法です。(=縮退運転)

  • 片方のエンジンが止まっても飛び続ける飛行機

ポイント

継続性が優先事項となる場合。

フォールトアボイダンス

フォールトアボイダンスは品質管理を通して障害を防ぐ考え方です。

ポイント

障害を起こさない考え方。

フォールトマスキング

障害が発生しても外部に影響が伝播しないような仕組みにする考え方です。

フェールオーバ & フェールバック

フェールオーバは障害発生時に自動的に冗長な待機系コンピュータサーバ/システム/ネットワークに切り換える機能のことです。

フェールバックは、フェールオーバによって切り換えられたサーバ/システム/ネットワークを障害発生前の元の状態に戻す処理です。(切り戻し)

ポイント

フェールオーバ <=> フェールバック

フォールバック

フォールバックは障害が発生した場合、機能や性能を制限したり別の方式や系統に切り替えるなどして稼働状態を維持すること。またそのような切り替え手順・動作のことです(=縮退運転)。

フォールバック と フェールソフトとの違い

この2つの似ている単語は以下の違いで分類できます。

  • フェールソフト: 設計思想
  • フォールバック: 動作・行為

ポイント

フェイルソフトの考え方に従いフォールバックを行う

Tags
javascript(103)
linux(54)
amazon%20aws(47)
node.js(43)
%E3%82%A2%E3%83%AB%E3%82%B4%E3%83%AA%E3%82%BA%E3%83%A0(36)
typescript(33)
%E7%94%BB%E5%83%8F%E5%87%A6%E7%90%86(30)
html5(29)
php(24)
centos(24)
python(22)
%E7%AB%B6%E6%8A%80%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0(21)
mac(21)
mysql(19)
canvas(18)
opencv(17)
%E9%9B%91%E8%AB%87(16)
docker(16)
wordpress(15)
atcoder(14)
apache(12)
%E6%A9%9F%E6%A2%B0%E5%AD%A6%E7%BF%92(12)
%E3%83%87%E3%83%BC%E3%82%BF%E3%83%99%E3%83%BC%E3%82%B9(12)
amazon%20s3(12)
red%20hat(12)
ubuntu(11)
github(10)
git(10)
vue.js(10)
%E7%94%BB%E5%83%8F%E5%87%A6%E7%90%86100%E6%9C%AC%E3%83%8E%E3%83%83%E3%82%AF(10)
mariadb(10)
aws%20cdk(9)
css3(8)
%E5%8F%AF%E8%A6%96%E5%8C%96(8)
%E5%B0%8F%E3%83%8D%E3%82%BF(8)
amazon%20lightsail(7)
react(7)
%E3%83%96%E3%83%AD%E3%82%B0(6)
cms(6)
oracle(6)
perl(6)
gitlab(6)
next.js(6)
prisma(6)
iam(5)
amazon%20ec2(5)
%E8%B3%87%E6%A0%BC%E8%A9%A6%E9%A8%93(5)
aws%20amplify(5)
nestjs(5)
curl(4)
Author
githubzennqiita
ただの備忘録です。※このブログの内容は個人の見解であり、所属する組織等の見解ではないです。