必要なときにシステムを利用できる度合い。
可用性(Availability)とは、使いたいときにシステムを利用できる度合いのことです。RASIS(システムを評価する5つの観点)のAにあたり、「いつでも使える状態になっているか」を表します。
身近な例で考えると、24時間営業のコンビニに似ています。行きたいときにいつでも開いている店ほど「使いやすい=可用性が高い」と感じますよね。システムも、利用したいときに止まっていなければ可用性が高いと評価されます。
ここで大切なのは、「故障しないこと(信頼性)」と「使えること(可用性)」は別の観点だという点です。たとえ一度故障してもすぐ復旧できれば、利用できない時間は短く済むため可用性は高く保てます。上の図解では、稼働時間と停止時間を交互に並べて、全体のうちどれだけ使えていたかを示しています。
可用性は稼働率という数値で測ります。稼働率とは全時間のうち、システムが稼働できている割合のことです。式で書くと次のようになります。
ここで MTBF(平均故障間隔)は「動き続けた平均時間」、MTTR(平均修復時間)は「直すのにかかった平均時間」を表します。つまり長く動き、短時間で直せるほど稼働率は高くなるのです。
稼働率はパーセントで表すことが多く、桁ごとに呼び名があります。
・99%(ツーナイン):1年で約3.7日止まる
・99.9%(スリーナイン):1年で約8.8時間止まる
・99.99%(フォーナイン):1年で約53分しか止まらない
9の数が増えるほど止まる時間が短く、可用性が高いことを示します。
可用性を高めるには「止まる時間をできるだけ短くする」工夫が大切です。代表的な方法は次のとおりです。
・冗長化・多重化=同じ装置を複数用意し、1台が止まっても別の1台でサービスを続ける
・故障を早く直す(MTTR短縮):停止時間が短くなれば、その分だけ使える時間が増える
・ホットスタンバイ=予備機を常に動かしておき、本番機が止まった瞬間に切り替えて停止時間をほぼゼロにする
身近な例で考えると、レジが複数あるスーパーに似ています。1つのレジが故障しても別のレジが開いていれば、お客さんは待たずに会計できますよね。「壊れにくくする(信頼性)」だけでなく「壊れても止めない・すぐ直す」工夫を組み合わせることで、可用性は大きく高まります。
複数のコンポーネント(=システムを構成する部品のこと)をつなぐとき、つなぎ方によって全体の稼働率が変わります。つなぎ方には直列と並列の2種類があります。
直列接続とは、部品を1列につなぐ方法です。全部品が動いていないと全体が使えないため、稼働率は部品の稼働率を全部かけ算します。
・計算式:全体の稼働率 = A の稼働率 × B の稼働率
・例:A・Bともに稼働率が 0.9 のとき → 0.9 × 0.9 = 0.81(部品が増えるほど下がる)
並列接続とは、同じ部品を複数並べて、どれか1つでも動いていれば全体が使える方法です。稼働率は「全部が同時に止まる確率を1から引く」で求めます。
・計算式:全体の稼働率 = 1 −(A が止まる確率 × B が止まる確率)
・止まる確率 = 1 − 稼働率 なので、稼働率 0.9 なら止まる確率は 0.1
・例:A・Bともに稼働率が 0.9 のとき → 1 −(0.1 × 0.1)= 1 − 0.01 = 0.99(部品が増えるほど上がる)
直列は弱点が積み重なり、並列は弱点を補い合います。冗長化(=予備を用意すること)とは並列接続で稼働率を高める手法のことです。
冗長化(じょうちょうか)とは同じ機能を持つ機器やシステムを複数用意しておき、1つが故障しても別のものが引き継げるようにする仕組みのことです。
代表的な方法がホットスタンバイ(=予備機を常に起動した状態で待機させる方法)です。本番機が止まった瞬間に予備機が引き継ぐため、ユーザーはほとんど停止に気づきません。停止時間がほぼゼロになるため、稼働率を大幅に高められます。
冗長化にはいくつかの方式があります。
・ホットスタンバイ:予備機を常に起動して同期した状態で待機 → 切り替えが即座、停止時間はほぼゼロ
・コールドスタンバイ(=予備機を電源オフで待機させる方法):切り替え時に起動操作が必要 → コストは低いが停止時間が長くなる
・フェイルオーバー(=障害発生時に自動で切り替える仕組み):手動対応なしに切り替わる自動化された仕組み
なぜ冗長化が可用性を高めるのか。それはMTTR(平均修復時間)を実質ゼロにできるからです。1台が壊れても別の1台がすぐ引き継ぐので、ユーザーにとっては「止まっていない」と同じ状態になります。壊れにくくする(MTBFを延ばす)だけでなく、壊れても止めない・すぐ直す(MTTRを縮める)ことの両方が可用性を高める手段です。
Q1. 可用性(Availability)の説明として最も適切なものはどれですか。
Q2. 稼働率を求める式として正しいものはどれですか。
Q3. あるシステムのMTBFが90時間、MTTRが10時間のとき、稼働率はいくらですか。