ITとかCockatielとか

技術のこととか。飼鳥(オカメインコ)のこととか。気になったこととか。基本的には備忘録。

AWS アーキテクチャの設計原理

アーキテクチャの設計原理

Design for Failure

  • 故障に備えた設計。
  • 故障を処理するメカニズムで構築すれば、耐障害性の高いアーキテクチャとなる。
  • 具体的には、単一障害点SPOF:Single Point Of Failure)を作らないようにする。
  • マネージドサービスは単一障害点にならないように考慮されているため、積極的に利用するとよい。

コンポーネントの分離

弾力性の実装

  • 弾力性(Elastic)または伸縮性とも言う。
  • リソースを柔軟にスケールアウト/インできることを指す。

実装方式

並列化

  • クラウドではスケールアップ(マシンスペックアップ)ではなく、スケールアウト(複数台での並列処理)戦略をとる。
  • ロードバランサーで処理を分散させ、弾力性と組み合わせることでクラウドのメリットを活かせる。

コンテンツ配置

  • クラウドはネットワーク経由での利用になるため、配信時のオーバーヘッド等に対する対策が必要。
  • 基本戦略は、動的コンテンツをコンピュータ側、静的コンテンツをユーザー側の近くに配置すること。(CloudFrontを利用する。)