BETA

「AWS サーバーレス多層アーキテクチャ」まとめ

投稿日:2020-09-21
最終更新:2020-09-21

この記事について

AWS サーバーレス多層アーキテクチャを読んだ要約となります。
要約一覧はこちら

おさらい

多層アプリケーション

多層アプリケーションはサービス指向アーキテクチャ(SOA)手法を採用し、疎結合でスケーラブルなコンポーネントを構築する。以下、SOA 手法の特徴。

  • ネットワークを階層間の境界している
  • SOA を構成するコード
    • 階層を統合するコード
    • 階層間を連携する API のコード
    • データモデルを定義するコード
    • 階層全体のセキュリティを担保するコード
  • SOA とマイクローサビスの違いは RESTful API の使用有無及びコンポート間を結ぶエンタープライズサービスバスの使用有無の違い

3層アーキテクチャ

ユーザーが直接操作するプレゼンテーション層、ユーザーのアクションをアプリケーションの処理に変換するロジック層、アプリケーションに関するデータが集まるデータ層の3層で構成される。

マイクロサービス

  • コンポート間が SOA より疎結合
  • サーバの密度/使用率の最適化、バージョン切り替え前後でクライアントの処理に影響がないようにする、クライアントのコード増大問題等がある

サーバーレスロジック層の実装

API Gateway 及び Lambda を使用してサーバーレスロジック層を実装することで、高可用性とスケーラビリティを備えたセキュアなサーバーレスアプリケーションを構築できる。

API Gateway

  • API の定義、デプロイ、保守を行え、プレゼンテーション層と Lambda をつなぐ役割を担う
  • API Gateway にデプロイされる API は CloudFront エッヂロケーションを経由するため、レスポンス速度低減になる
  • API レスポンスを擬似的に作成するモック統合

セキュリティ

  • API 毎に作成される API キーによる API 認可は非推奨
  • クライアント SDK による API 認証のためのリクエスト署名の管理
技術ブログをはじめよう Qrunch(クランチ)は、プログラマの技術アプトプットに特化したブログサービスです
駆け出しエンジニアからエキスパートまで全ての方々のアウトプットを歓迎しております!
or 外部アカウントで 登録 / ログイン する
クランチについてもっと詳しく

この記事が掲載されているブログ

趣味はエンジニア

よく一緒に読まれる記事

0件のコメント

ブログ開設 or ログイン してコメントを送ってみよう