兵庫県西宮市のWEBサービスソリューションならHeartsN|全国対応
0798-78-2212 営業時間10:00~17:00(土日祝休)

システム障害の意味と使い方をマスターしよう!

システム障害とは、情報システムの機材やソフトウェアなどに何らかの問題が発生して、正常にサービスを提供できない状態のことをいいます。また、その状態の原因となった問題や不具合のこともシステム障害といいます。

システム障害の意味と使い方をマスターしよう!

 

システムの稼働率

システム障害の発生しやすさを示す指標の一つに、システムの稼働率というものがあります。システムの稼働率は以下の計算式で求めることができます。

システムの稼働率=(全時間-システム障害の発生している時間)÷全時間

たとえば、1年間(365日)のうち、システム障害が発生している時間が1日である場合、システムの稼働率は(365-1)÷365=0.9972=99.72%となります。システムの稼働率が高いということは言い換えればシステム障害が発生しづらい、もしくはシステム障害が発生してもすぐに復旧できるということです。

 

システムのMTBF

MTBFはシステムの信頼性の高さを示す指標の一つです。MTBFとは、あるシステムを運用開始してから、もしくはそのシステムが障害から回復してから次の障害が発生するまでにかかる平均時間のことです。計算式は以下の通りです。

システムのMTBF=稼働時間÷システム障害の発生回数

たとえば、稼働時間が20年間、システム障害の発生回数が4回の場合、MTBFは20÷4=5年間となります。MTBFの数値が高いほど、システム障害が発生しづらいということになります。

 

システムのMTTR

MTTRはシステムの保守性を示す指標です。MTTRとは、システム障害が発生してから、システムを回復させるまでにかかった費やした平均時間のことです。計算式は以下の通りです。

システムのMTTR=システム障害回復にかかった合計時間÷システム障害の発生回数

たとえば、システム障害回復にかかった合計時間が10時間、システム障害の発生回数が2回である場合、MTTRは10÷2=5時間ということになります。MTTRが小さいほどシステム障害回復にかかる時間が短い、つまりは保守性が高いということになります。

 

システム稼働率は何%を目指すべきか

system_failure02

システム障害は起きないに越したことはありませんが、現実問題全くシステム障害が発生しないシステムというものは存在していません。どんな優れたシステムでも、偶然や不具合が重なれば障害を起こすものです。

また、システムの稼働率とコストはトレードオフの関係になります。システムの稼働率を上げようとすればそれだけコストがかかりますし、逆にコストを抑えようとすればシステムの稼働率が下がります。無限にコストがかけられるわけではないので、どこかで妥協点を見つけることが大切です。

ちなみに、一般的なシステムの場合、コストをかければかけるほど、コスト当たりの稼働率の上昇幅は小さくなります。システム管理費を10万円から20万円に上げた場合は大きな効果が得られますが、20万円から30万円に上げた場合は前者よりも効果が小さくなります。30万円から40万円に上げた場合、さらに効果は小さくなります。

システム稼働率の目標値はそのシステムによっても異なります。99%程度でもOKなシステムもあれば、99.99%の稼働率が必要とされるシステムもあります。参考までに、G-mailの2013年の稼働率は99.978%でした。1年あたりのシステム障害発生時間は2時間弱であり、メールシステムとしては非常に優秀といえます。

また、日本情報システム・ユーザー会の調査によれば、日本の大企業における基幹系システムの稼働率目標は99.8%と定められています。これはあくまで目標値であり、多くの企業はこれ以上の実績を残しているようです。

 

システム障害を減らし、システムの稼働率を上げるためには

システム障害を減らすための策としてよく使われているのが冗長化です。冗長化とは、設備や回線などを必要最低限の量よりも多めに確保しておくことによって、一部の設備が故障した場合でもサービスの提供を続けられるようにしておく取り組みのことです。

たとえば、サーバーを1台しか用意していない場合、そのサーバーが何らかの原因で故障してしまうと代替サーバーの調達、サーバーの設置、OSインストールといった作業が必要になります。しかし、あらかじめサーバーを2台用意しておけば、万が一片方のサーバーが故障してしまってももう一台のサーバーで乗り切ることができます。また、異なるインターネット回線を二つ用意しておけば、一方のプロバイダにトラブルがあった場合でもインターネットを使うことができます。このように万が一の事態に備えて多めに設備を用意することが冗長化です。冗長化を行うことにより、システム障害の発生確率を減らし(MTBFを大きくし)、システム障害時間を短くする(MTTRを小さくする)ことができます。そのためシステム障害を絶対に起こしたくない基幹システム、決済システムなどでは冗長化が行われています。

このようにメリットが多い冗長化ですが、現実的にはすべてのシステムで冗長化がなされているわけではありません。理由はコストがかかるからです。冗長化するべき場所はサーバー、インターネット回線、ストレージなど多数あります。めったに故障が発生しない部分の冗長化を行うことはコストパフォーマンスが悪いといえます。それよりも本当に重要な部分だけ冗長化を行い、あとはシステム障害時に個別に対応する、という策をとったほうがコスト面では優秀です。加えて冗長化は技術的にも難しい行為であり、特別なプロトコルやソフトウェアを導入する必要があるため、中小企業ではなかなか行えないというのが現実です。

冗長化するお金も時間もない場合は一般的にバックアップを取ることになります。サーバーやネットワークの設定をあらかじめバックアップとして取得しておけば、システム障害時に再び設定を行う必要がなくなるため、MTTRを小さくすることができます。冗長化と比べて少ない費用で行うことができる点では優秀といえます。

反面、バックアップデータの消失リスク、交換作業にかかる時間と労力などを考えると決して安全性が高い方法とは言えません。費用が許すのならば、やはり冗長化を行ったほうがいいでしょう。

 

システム障害発生時のお詫びについて

システム障害が発生し、ユーザーに不利益を与えた場合はなるべく早急にウェブサイトにお詫び文を掲載したほうがいいでしょう。その場合はシステム障害がいつ、どこで、どれくらいの間発生していたのか、原因は何だったのかなどをしっかりと明記しましょう。お詫び文を掲載する時点でまだシステム障害が復旧していない場合は、どれくらい時間がかかりそうなのかも併せて掲載しておきましょう。

あなたのお悩み聞かせて下さい! WEBマーケティングならHeartsNへ
ご相談、お見積りは無料! まずは気軽にご相談下さい。
0798-78-2212 受付時間:平日10:00~17:00(土日祝休)