可用性

可用性は、システムやサービスが必要なときに正常に使える状態にある割合や度合いのことです。

可用性 のアイキャッチ図解
まずは、こう考えるとつかみやすいです。

可用性は、コンビニの「24時間営業」に似ています。いつ行っても開いている安心感が、可用性の高いシステムと同じ意味を持ちます。

ひとことで言うと

可用性は、サービスやシステムが「使いたいときに使える」状態をどれだけ維持できているかを表す指標や性質です。

可用性が高いほど、障害やメンテナンスで止まる時間が少なく、ユーザーがいつアクセスしても動いている状態に近づきます。 「99.9%の可用性」のように数値で表されることが多く、この数字が何を意味するかを知っておくとSLAやサービス契約の読み方が変わります。

たとえ話でもう少し詳しく

可用性は、お店の営業状況に近いです。

  • 24時間365日営業の店は可用性が高い
  • 年に数日だけ臨時休業する店は少し低い
  • 頻繁に「ただいま準備中」になる店は可用性が低い

ユーザーは「使いたいときに使えること」を当然のように期待しています。 その期待に応えられる割合が可用性です。

「ナイン(9)」で語られる可用性

可用性はよく「9の数」で語られます。

表現年間の停止許容時間
99%(ツーナイン)約87時間
99.9%(スリーナイン)約8.7時間
99.99%(フォーナイン)約52分
99.999%(ファイブナイン)約5.2分

「99.9%でも十分高い」と感じるかもしれませんが、年間8時間以上止まりうるということです。 決済や医療など止まると困るシステムほど、高い可用性が求められます。

よく出る場面・使いどころ

  • クラウドサービスや外部APIの契約(SLA)で可用性の保証値を確認するとき
  • 障害が起きたとき「どれだけ早く復旧できるか」を設計するとき
  • 複数のサーバーを組み合わせて「1台が落ちても止まらない」構成を作るとき
  • 定期メンテナンスの影響を最小限にしたいとき

似た言葉との違い

  • 稼働率(アップタイム)
    • サービスが稼働していた時間の割合
    • 可用性と同じ意味で使われることが多いが、可用性はより広い概念(設計上の性質も含む)
  • モニタリング
    • システムの状態を常時観察する仕組み
    • モニタリングで問題を早期検知することが、可用性の維持につながる
  • ヘルスチェック
    • サーバーが正常に動いているかを定期確認する仕組み
    • ヘルスチェックで異常を検知し、自動的に切り替えることで可用性を保てる

実務で気にするポイント

  • 単一障害点(1か所が止まるとサービス全体が落ちる箇所)を減らす設計をする
  • 障害が起きることを前提に、素早く復旧できる手順と体制を用意する
  • メンテナンス時間も停止時間に含まれるため、無停止でのデプロイ方法を検討する
  • 可用性の目標値(SLO)をチームで合意し、それを達成するための設計と運用を逆算する

注意: 可用性を高めるほど設計・運用のコストも上がります。「絶対に止まってはいけない」システムと「多少止まっても許容できる」システムでは必要な投資が大きく違います。求められる可用性に見合った設計をすることが大切です。