ホーム フォールトトレランス いつか訪れるトラブルに備える!耐障害性を向上させるための対策とメリットとは

機器やシステムに障害が発生したとき、どのような対策をとることができるでしょうか。もし障害が発生しても、被害を最小限に抑える対策と準備を整えていることで、収益への影響を最小にすることができます。障害に対する強さ、耐障害性は、具体的にどのような対策によって向上させられるのか、具体例とともに紹介します。

耐障害性とは

機器やシステムに起こるトラブルについて言及する際に、耐障害性という言葉が使われることがあります。耐障害性とはどういう意味で、どういった状況で使われる言葉なのでしょうか。

稼働を続行する仕組みづくり

あらゆる機器やシステムは、長期間使用する間になんらかの事故やトラブルが必ず発生します。
どのようなシステムも、運用環境をたどっていけば必ず物理的な機器に行き着き、そこに内蔵される部品は経年劣化します。物理的な機器がそこにある限り、ソフト面でのトラブルがなくてもハード面においてなんらかのトラブルが発生することは避けられません。
こういった事故やトラブル、または経年による不具合は機器やシステムの障害となります。
2022年2月に日本航空(JAL)で発生したシステム障害の事例では、復旧までに約10時間を要しました。搭乗手続きのための自動チェックイン機や予約サービスが使えなくなり、全国の多くの便で遅れが生じました。トラブル発生の原因は、接続基盤システムで使われているサーバの故障と発表されています。
このように、高度なレベルで運用されているシステムにおいても、物理的な要因によって障害が発生することがあるのです。
では、いずれ障害が発生すると知ったうえで、どのような準備をしておけばよいのでしょうか。そこで用いられるのが、耐障害性の考え方です。
耐障害性とは、障害が発生したときに、その機器やシステムが機能を維持し稼働を続行する能力またはそのための仕組みのことをいいます。機器やシステムにおいて構成要素の一部が停止したとしても、予備の系統や問題に対応しうる機能を用意しておくことで耐障害性を高めることが可能です。
そういった意味から、耐障害性は「フォールトトレランス」(障害許容性)とも表現されます。

耐障害性・フォールトアボイダンス・高可用性の違い

耐障害性、フォールトトレランスに響きや意味が似ている言葉として、「フォールトアボイダンス」と「高可用性」があります。
フォールトアボイダンスは障害回避性とも表現され、障害が起こらないようにすることを意味します。障害の発生自体を回避できるように、十分なテストやメンテナンスを実施して信頼性を高めます。耐障害性とは別のアプローチによって稼働の続行を維持する考え方といえるでしょう。製品設計自体にフォールトアボイダンスのためのアプローチが組み込まれているケースもあります。
利用可能な度合いのことを可用性といい、高可用性は可用性が高い状態を指します。高可用性は言い換えると「使える状態を長く保てる」状態と表すことができます。高可用性を実現するには、耐障害性(フォールトトレランス)とフォールトアボイダンスに同時に取り組むことが効果的です。障害が起こりにくい状態を整え、もし障害が発生しても稼働を維持できる対策を用意しておくことで、機器やシステムが利用可能な状態を維持できます。

耐障害性の向上によって得られる効果

耐障害性を向上させることで次のような効果を得られます。

BCP対策の強化

BCP(事業継続計画)は、企業の資金や従業員も含めた経営活動の継続性を維持するための取り組みです。
災害やテロ、大規模障害などによって企業の経営活動が停止する可能性を考え、対策を準備しておくことが不可欠という考え方は、いまや世界の常識となりつつあります。
機器やシステムの耐障害性を高めることは、経営活動の停止を防ぐことにもつながるため、BCP対策のひとつとなります。機器やシステムが企業の経営活動にとって重要なものであれば、耐障害性の重要度も高くなります。

企業の信頼性確保

稼働を続行できる仕組みが整い、実際に障害が発生した際にも迅速な対応によって停止時間を最短に抑えることができれば、企業の信頼性を確保できます。信頼が損なわれて商談機会を失うといった事態を回避できるでしょう。

利益の最大化

企業にとって最大の目的は利益の確保です。機器やシステムも最終的には利益を生み出すために使われているといえます。それらの機器やシステムの稼働が停止すれば、停止している時間分の利益を損失したことを意味します。
つまり、稼働を続行するための仕組みを整えることは、利益の最大化のための取り組みといえるのです。

耐障害性を高めるには

耐障害性は、主にIT用語として使われることが多く、ソフトウェアに対して用いる用語と捉えている人もいるかもしれません。しかし、耐障害性はあらゆる障害発生の要因に対して備えることを意味しており、ソフトウェアに限定した対策ではありません。
いくつかの例に沿って、耐障害性を向上させる方法を考えてみましょう。

データセンターの耐障害性

顧客企業の重要なシステムを運用するプログラムやデータベースを預かることの多いデータセンターでは、数秒のサービス停止によって大きな損益につながる可能性があります。
そのため、万が一のトラブルが発生した場合にも稼働を続行する、または停止時間を最短に抑えるための耐障害性が非常に重要です。
データセンターの耐障害性を高めるためには、次のような施策が考えられます。

  • データの内容とメタデータを分散保存
  • 24時間の人員配置
  • 緊急時に駆けつけられるよう交通アクセスの良い立地選択

このように、ソフトウェアとハードウェアの両側からの施策を講じることが重要です。

産業用ロボットの耐障害性

製造ラインで使われる産業用ロボットの耐障害性を考えてみましょう。
産業用ロボットは多くのセンサーを搭載し、センサーから得た情報によって稼働状況やロボット自体の状態を可視化している機種も少なくありません。また、カメラや光学デバイスによって撮影・感知した情報をAIが判断し、その指令に沿って処理を行うマシンビジョンを搭載した機種も普及が進んでいます。
このように、産業用ロボットにとってIoTはなくてはならない構成要素のひとつとなっています。このとき、ロボットが得た情報をどこに送って処理するかによって耐障害性対策が変わります。
ロボット稼働のためのシステムがクラウドにある場合、クラウドまでの通信が遮断や遅延の発生によってロボットの稼働に支障をきたすことが考えられます。
産業用ロボットの運用では、次のような施策が耐障害性の向上につながります。

  • ハードウェアの故障に備えた交換部品の在庫管理
  • 復旧作業に対応できる担当者の教育
  • システムインテグレーターへの連絡手段を明確化
  • 通信回線を2系統以上準備
  • 分散型のシステム運用

ここで挙げた内容のうち、分散型のシステム運用を採用することは、稼働の続行を保つ意味で重要な施策です。
分散処理能力を持たせる仕組みとしては、エッジコンピューティングが挙げられます。
エッジコンピューティングは、ネットワーク上での現場側の最前線をネットワークの端、すなわちエッジと考え、中心部だけでなくエッジでの処理も行う技術です。
エッジにある端末で処理することが有利になる情報と、クラウドに蓄積するべき情報とを振り分けることで、処理の高速化や情報のリアルタイム性を確保します。
また、クラウドとの通信が遮断または遅延発生が起きた場合にも、システムが分散されエッジでの処理が可能となることから障害への備えとなります。
分散型のシステム運用はこのような方法から、稼働続行の可能性を高めることにつながります。

耐障害性の向上にエッジコンピューティングが有効

耐障害性は、機器やシステムにトラブルが発生した場合にも、稼働を維持できるような仕組みを整えることを意味します。

これまで、IT製品やシステムは耐障害性の向上も含めた開発が進んできました。IoTが産業や生活にとって基本の技術となったいま、耐障害性の向上は欠かすことのできない要素です。

これまで、大規模データセンターやインフラ設備のシステムなどで重要視されてきた耐障害性は、さまざまな分野に広がりつつあります。今後はデータセンターのような集中型のシステムだけでなく、製造や物流などの幅広い分野における現場のシステムでも、耐障害性が重要となっていくと考えられます。

耐障害性を向上させるためには、現場で使われているプラットフォームの耐障害性も考慮する必要があります。分散型のシステム運用は、耐障害性を考えるうえで欠かせない施策です。今後は、分散型構造によって処理を行うエッジコンピューティングが不可欠な技術となっていくのではないでしょうか。

こちらの記事もぜひご覧ください。
エッジコンピューティングにおける可用性について| Stratus Blog

関連記事