中々、SAA試験を受ける勇気が出ないプログラミング初学者です。
今回はSAAを勉強していて、「可用性」やら「信頼性」やら「耐久性」やらがAWSの説明に出てきて、結局それらってどう違うの?って思ったので、調べてみました。
- 信頼性(Reliability)
- 可用性(Availability)
- 冗長性(Redundancy)
- 耐障害性(Fault Tolerance)
- 耐久性(Durability)
- 調べてみた感想
- 参考サイト
信頼性(Reliability)
「障害の発生しにくさ」のこと。
1度故障が起きてから、次の故障が起きるまでの間隔、「平均故障間隔(Mean Time Between Failures)」で表す。
システムやサービスが使えなくなる頻度やその間隔を示す指標。
100時間稼働した後に故障し、1時間で復旧するシステムより
1000時間稼働した後に故障し、100時間で復旧するシステムのが信頼性が高いと言える。(後者のが平均故障間隔が長いので)
可用性(Availability)
「システムやサービスが利用できる時間」のこと。
稼働率で表す。
100時間稼働した後に故障し、1時間後に復旧するシステムより、
1000時間稼働した後に故障し、2時間後に復旧するシステムのが可溶性が高いと言える。(後者のが稼働率が高いので)
冗長性(Redundancy)
そもそも、
冗長化とは、システムの一部に何らかの障害が発生した場合に備えて、障害発生後でもシステム全体の機能を維持し続けられるように、予備装置を平常時からバックアップとして配置し運用しておくこと。
冗長化によって得られる安全性は冗長性と呼ばれる。
耐障害性(Fault Tolerance)
AWSでは「障害発生時に機能制限なしで動き続けるための仕組み」のことらしい。
問題が起こったとしても自動で復旧し、100%のサービスを維持する仕組み。
問題が起こる前提で考え、単一障害店を排除する。
耐久性(Durability)
「データの失わない度合い」のこと。
トランザクションが完了したら、その結果は記録され、システム障害などが生じても失われることがないという性質。
(データ操作の時系列の記録(ログ)をストレージなどに保存しておき、データ記録中に障害などで中断したら記録を元に更新を反映させるといった処理が行われる。)
調べてみた感想
調べてみると、けっこう似たようなことをまとめてくれているブログありました。
「可用性」などはAWSの勉強で度々出てくる単語ですが、馴染みのない単語でもあり、フワッと理解していたのですが、「可用性 = Availability」というように英語とセットで認識すると、その言葉の意味するものを理解しやすくなり、他の「信頼性」とかと区別つきやすいなぁ。と思いました。
また、気になったら都度調べていこうと思います。
参考サイト
https://xtech.nikkei.com/it/atcl/column/17/011900625/011900007/