おっさん社内SEエンジニアの勉強ブログ

勉強記録のブログとなります。

SAA学習-サーバレス-サーバレスによるサービス化

今回のテーマ:サーバレスによるサービス化

概要

サーバレス化を実現することはAWSを活用する上で必要な観点になります。
振り返りとなりますが、5つの設計原則と11のベストプラクティスの関係図のおさらいで、概略図は以下になります。

f:id:In-houseSE:20211011080738p:plain

サーバではなくサービス

11のベストプラクティスの1つにある「サーバではなくサービス」の考え方より、 マネージド型サービスとサーバレスアーキテクチャを活用し効率的な設計と運用を実現します。
AWSサービスで関連するサービスは以下のものが挙げられます。

関連するサービス

サーバレス化

サーバー(EC2インスタンス)ではなく、Lambdaなどのコンピュートサービスによりシステム構成をできる限り利用します。
現在のAWSアーキテクチャではサーバレス化を進める対応が基本とされております。
概略図は以下になります。

f:id:In-houseSE:20211011081717p:plain

サーバレス化からサービス化

サーバレス設計により疎結合設計が加速します。
疎結合化によってマイクロサービス化されたシステムの構築が可能になります。

サービス化

従来のSOA方式から、小さなプロセス多淫のサービスをAPI連携したマイクロサービスで設計します。
SOAとマイクロサービスについては以下となります。

サービス指向アーキテクチャ(SOA)

マイクロサービス

  • SOAより小さな機能単位のプロセス/トランザクションでサービス化した構成
  • 各プロセスでは1つの小さなタスクをサービスとして適用し、プロセス間通信はAPIを使用

また、疎結合化とマイクロサービス化は表裏一体の関係性にあります。

マイクロサービス化の例

大きなサービスを1つの作業が終了するコンテキスト単位に分割します。
サービスの内訳の例として以下の概略図で、赤字の範囲がマイクロサービスする対象となります。

f:id:In-houseSE:20211011082940p:plain

API活用

マイクロサービスはAPI通信によりコンポーネント間を疎結合化して利用します。

サーバレス化のポイント

利用中のインスタンス本当に必要か設計を見直すことを忘れないすることが大切です。
例えば、メール送受信のみしか使用してないのにメールサーバーとして利用しているかなどあります。

今回のテーマは以上です。