SAA学習-サーバレス-サーバレスによるサービス化
今回のテーマ:サーバレスによるサービス化
概要
サーバレス化を実現することはAWSを活用する上で必要な観点になります。
振り返りとなりますが、5つの設計原則と11のベストプラクティスの関係図のおさらいで、概略図は以下になります。
サーバではなくサービス
11のベストプラクティスの1つにある「サーバではなくサービス」の考え方より、
マネージド型サービスとサーバレスアーキテクチャを活用し効率的な設計と運用を実現します。
AWSサービスで関連するサービスは以下のものが挙げられます。
関連するサービス
サーバレス化
サーバー(EC2インスタンス)ではなく、Lambdaなどのコンピュートサービスによりシステム構成をできる限り利用します。
現在のAWSアーキテクチャではサーバレス化を進める対応が基本とされております。
概略図は以下になります。
サーバレス化からサービス化
サーバレス設計により疎結合設計が加速します。
疎結合化によってマイクロサービス化されたシステムの構築が可能になります。
サービス化
従来のSOA方式から、小さなプロセス多淫のサービスをAPI連携したマイクロサービスで設計します。
SOAとマイクロサービスについては以下となります。
サービス指向アーキテクチャ(SOA)
- 一通り機能がそろった大きなサービス単位で、コンポーネントを分割する設計方式
- アプリケーションをコンポーネント化し、通信プロトコルによる連携で他のコンポーネントにサービスを提供するアーキテクチャ設計
- 例:年金システムであれば給付サービス/徴収サービス/適用サービスなど
マイクロサービス
また、疎結合化とマイクロサービス化は表裏一体の関係性にあります。
マイクロサービス化の例
大きなサービスを1つの作業が終了するコンテキスト単位に分割します。
サービスの内訳の例として以下の概略図で、赤字の範囲がマイクロサービスする対象となります。
API活用
マイクロサービスはAPI通信によりコンポーネント間を疎結合化して利用します。
サーバレス化のポイント
利用中のインスタンス本当に必要か設計を見直すことを忘れないすることが大切です。
例えば、メール送受信のみしか使用してないのにメールサーバーとして利用しているかなどあります。
今回のテーマは以上です。