infoTek インフォテック株式会社

テクノロジー情報Technology

Technology13. 可用性

可用性はアプリケーションの非機能性要件の1つです。アプリケーションの可用性とは、要求されているアプリケーションの機能がどのくらいの確率で利用できるかを表しています。アプリケーションが仕様通りに機能しなかったり、バグやその他の問題で利用できなければ可用性は下がります。

もともと日本人は品質にうるさいので、計画外のサービス停止に対しては周囲から厳しい批判を受けるケースが少なくありません。ビジネスにおけるITの重要性が高まるにつれて、その傾向はますます強まっているように感じられます。

特に24時間365日、正常に機能し続けなければならないミッション・クリティカルなサービスには、非常に高い可用性が求められます。このように高い可用性を実現するシステムを、ハイアベイラビリティ・システムあるいは高可用性システムと呼んでいます。

サービスの可用性を決定する要因は数限りなくあります。ハードウェアの故障やアプリケーションの不具合でサービスは止まります。電源設備の障害やマシンの操作ミスでもサービスが利用できなくなる可能性があります。アプリケーション開発者も含め、サービス供給に貢献するあらゆる関係者がサービスの可用性に責任を持っています。なぜなら、サービス停止の原因がどこにあろうとも、ユーザがサービスを利用できなければ顧客からの満足は得られないからです。

実は、サービスの可用性を高める方法は2つしかありません。1つは、サービスを止めないこと、もう1つは、サービス停止時間を短縮することです。前者はサービスの信頼性を向上させることであり、後者は保守性の向上を意味しています。

信頼性の高いサービスとは、不意のサービス停止に見舞われることなく安心して使えるサービスです。頻繁に停止するサービスを信頼することはできません。サービスの信頼性を評価する指標には、一定期間内における予定外のサービス停止回数や平均故障間隔(MTBF:Mean Time Between Failure)などがあります。

保守性の高いサービスとは保守のしやすいサービスです。保守が容易であれば、結果としてサービス停止時間が短くなります。保守性を評価する代表的な指標として、平均修理時間(MTTR:Mean Time To Repair)があります。

アプリケーションの信頼性や保守性を高めることが、サービスの信頼性や保守性を高めることになり、結果としてサービスの可用性を高めることにつながります。