勉強前イメージ
障害設計的なお話かな?
調査
Design for Failure とは
障害が発生することを前提にしてシステム設計を行う考え方を言います。
サーバは落ちるもの、AZ・リージョン事落ちる可能性もあります。
そういうことを前提にして障害が発生した際にどう対応してサービスの可用性を向上させるかという考え方になります。
Design for Failure の実現方法
- SPOFの排除
可用性を上げるためには単一障害点のSPOFを作らないことが重要です。
システムをHA構成にしたり、AWSだとマルチAZ・マルチリージョンにすることで
AZ・リージョンごと落ちてもサービスは稼働させることができるためです。
- 監視
サービスの障害の早期検知のサービス監視、性能が低下してることを検知するリソース監視など
サービス内のログやメトリクスを常時監視を行い、早期検知をして障害にならないまたは早期復旧ために設定する必要があります。
- 復旧方法
障害が発生しクライアントへの影響が出た際に、どう復旧させるかという
組織内の動き方や、復旧方法を予め決めておくことで早期復旧を行うことが出来ます。
勉強後イメージ
SPOFはたしかに・・・・。
基本的にサーバは死ぬものとして考えないといけないってことですね。