AWSというよりかは一般的なIT用語の話になるかもしれません。
質問されることが多かったので、備忘を兼ねてになります。
可用性、信頼性、耐久性は、インフラ設計や運用において非常に重要な概念です。下記にそれぞれの定義と具体例を交えて記載しております。
尚、AWSサービスを例にしています。
1. 可用性(Availability)
可用性は、システムやサービスがどれだけの時間稼働しているかを指します。
- 具体例: AWSのAmazon EC2では、複数のアベイラビリティゾーン(AZ)にインスタンスを配置することで、特定のAZに障害が発生しても別のAZのインスタンスで稼働を継続できます。例えば、EC2 Auto ScalingとElastic Load Balancerを組み合わせると、障害時でも別のゾーンのインスタンスが自動的にスケールアップされることで、可用性が保たれます。
1. 可用性(Availability)の指標
可用性の指標として最も一般的なのが、稼働時間(Uptime)と停止時間(Downtime)です。これをパーセンテージで表したものが可用性の割合です。以下のように計算されます。
可用性の計算式:
具体例: AWSでは、Amazon EC2のSLA(サービスレベルアグリーメント)で99.99%の可用性を保証しています。これは、年間の許容されるダウンタイムが約52.56分以内であることを意味します。
可用性の一般的なレベル:
- 99.9% (3 9's): 年間約8.77時間の停止
- 99.99% (4 9's): 年間約52.56分の停止
- 99.999% (5 9's): 年間約5.26分の停止
2. 信頼性(Reliability)
信頼性は、システムが意図したとおりに動作する能力を指します。システムが一貫して予想通りの結果を返し、障害が発生しても自動的に復旧する能力が求められます。
- 具体例: Amazon RDSでは、定期的にバックアップが自動で作成され、Multi-AZ構成にすると、プライマリDBに障害が発生しても、スタンバイのDBに自動的にフェイルオーバーされることで、信頼性が高まります。これにより、ユーザー側では最小限の影響でサービスが継続されます。
2. 信頼性(Reliability)の指標
信頼性の指標には、平均故障間隔(MTBF: Mean Time Between Failures)と平均修復時間(MTTR: Mean Time To Repair)がよく使用されます。
- MTBF(平均故障間隔): システムが正常に稼働している時間の平均
MTTR(平均修復時間): 障害が発生した際に復旧までにかかる時間の平均
信頼性の計算式: 信頼性は通常、MTBFが大きく、MTTRが小さいほど高くなります。
- 具体例: 例えば、あるシステムのMTBFが1000時間、MTTRが1時間であれば、その信頼性は約99.9%です。
3. 耐久性(Durability)
耐久性は、データが長期にわたって安全に保存される能力を指します。障害やデータ損失のリスクを最小限に抑えることが重要です。
- 具体例: Amazon S3は99.999999999%(11 9's)の耐久性を提供しており、データが失われる可能性は非常に低いです。データは複数の物理的に分散した場所に自動的にレプリケートされ、ストレージハードウェアが故障してもデータが保持されます。
3. 耐久性(Durability)の指標
耐久性は主にデータの保存に関わる概念で、データの喪失リスクを定量化した指標が使用されます。一般的な指標としては年間データ損失率が挙げられます。
- 具体例: Amazon S3の耐久性指標は99.999999999%(11 9's)です。これは、10万億個のオブジェクトを保存しても、年間で1つのオブジェクトが失われる可能性が非常に低いことを示しています。
まとめ
- 可用性の指標: 可用性の割合(稼働時間/停止時間)→ 例: 99.99%は年間52.56分のダウンタイム
- 信頼性の指標: MTBF(平均故障間隔)、MTTR(平均修復時間)→ 例: 信頼性が99.9%の場合、MTBFが大きくMTTRが小さい
- 耐久性の指標: 年間データ損失率 → 例: S3は99.999999999%の耐久性を提供
以上です。