可用性とは?
システムが利用可能な状態である度。
何の値を使用して計算するかは定められておらず、トレンドやサービス内容によって変化する。
過去にはアップタイムやダウンタイムなど「稼働している時間」ベースで計算されていたが、最近はリクエスト数ベースであることが多い。
たとえば
24時間365日を通して特にリクエスト数が変わらないサービスであれば、「安定して稼働している時間の割合」みたいな評価指標を用いるのも良いが
平日は殆どアクセスがなく、土日にだけ大量のアクセスがある、みたいなサービスの場合、全く同じ指標で評価するのは最適ではない…
といった感じ。
取り巻く用語 SLI、SLO、SLA
SLI
Service Level Indicator
"Indicator" = 測定器、明記、計器などの指針 などなど。つまりSLIは可用性を評価するための指標。
「これを使って測定するわよ」
SLO
Service Level Objective
"Objective" = 目的、目標。つまりSLOはサービスの可用性として目標とするラインを表す。
「これを目指すわよ」
SLA
Service Level Agreement
"Agreement" = 合意、契約。つまりユーザーに向けて約束する可用性がどのくらいかを表す。
「この安定度合いでサービスを提供するわよ」
サービス内容によってはこれを返金保証基準にしている場合もあり、これに基づいて返金対応をしたりする。
モニタリング
SLA、SLOに沿ってサービスを提供できるように可用性を把握し、コントロールするために
システムが元気かチェックしたり、状況把握のための情報を計測・収集すること。
日本語ではざっくり「監視」と訳されがちで、チェックすることだけを指す場合も多い。
- 外形監視:システムの外部から定期的にユーザの操作を模して、システムが利用可能な状態かどうかを確認する。「最近どう?どのくらい元気?」
- 死活監視:サービスが生きているかどうかを確認する。「生きてる?」
モニタリングする数値(メトリクス)はSLIに応じて変わる。
モニタリングNGです!の関連語
閾値
「こいつはまずいか?まずくないか?」の基準。
サービスを提供できているとはいえない状況はどこからか?なんらかの対応をしないといけないのはどのくらいから?ということを表現する。
アラート、アラーティング
「こいつはまずいことになっていますよ!」という通知がアラート、それを通知することがアラーティング。
閾値に基づいてアラートが必要かどうかを判断する。
インシデントレスポンス
「まずいことになってるので、復旧作業します!」と対応すること。
アラートを受けて担当者が作業をする。
障害対応とかアラート対応などと言われる。
オンコール
「こいつはまずいことになっていますよ!」という通知を、拘束力や到達力の強い手段(強い通知)で連絡を行なうこと。
よくあるのは電話など。
すぐ気付いて対処できることは良いことだが、用法用量を守って使わないと担当者が疲弊してしまうので注意が必要。