【レポート】サーバーレスを活用したイベント駆動アーキテクチャ(AWS-45) #AWSSummit
こんにちは、たぬき( @tanuki_tzp )です。
今回は2022年5月25 - 26日の2日間開催されているAWS Summit Online のセッションのうち、AWS-45『サーバーレスを活用したイベント駆動アーキテクチャ』をレポートしました。
それではセッションレポートに入ります。
セッション概要
モダナイズを進める中でマイクロサービス化は主要な選択肢になります。 その中で適切に疎結合な関係に分離されずに密結合な分散システムを構築してしまうケースは少なくはないのではないでしょうか。 このセッションではマイクロサービスにおけるサービスやAPIという軸ではなく、発生するイベントを軸にしたイベント駆動アーキテクチャについて解説を行い、AWS のサーバーレスサービスを活用することで疎結合で拡張性や運用性の高いシステムを構築する方法について解説をします。
スピーカー: AWS 技術統括本部 ソリューションアーキテクト 岡田 信夫
セッションレベル: Level 300: 中級者向け
レポート
はじめに
岡田さんの自己紹介
本セッションのゴール
- 同期型のシステムとイベント駆動アーキテクチャの違いや活用シーンを理解する
- イベント駆動アーキテクチャでのAWSサービス活用方法を理解する
お話しないこと
- セッション内で使用する各AWSサービスの概要
- マイクロサービスアーキテクチャの概要
イノベーションとマイクロサービス
- イノベーションには戦略的な技術マネジメントが重要
- マイクロサービス化で拡張性や俊敏性を高める
- より早く実験や検証を繰り返すために、同期型のシステムは問題を複雑化してしまう
- 疎結合化することでエラーに強いシステムを作る
- イベント駆動アーキテクチャで課題を解決
イベント駆動アーキテクチャ
- Event: 物事の状態が変更されたことを示すシグナル
- イベントの特徴
- 疎結合・非同期・コピー可(スケールできる)
- 非同期化による応答性の改善と依存性の削減
- 非同期にすることにより、応答するパスを減らすことができる
- イベント駆動での連携要素
- イベントルータ
- イベントストア
- イベントルーター
- AWSでのイベントルーター
- Amazon SNS
- Amazon EventBridge
- トピックベースのイベントルーター(SNS)
- イベントバスでのイベントルーター(EventBridge) どちらを利用するかは何をしたいのかによる
- イベントストア
AWSのイベントストア
- Amazon SQS
- Amazon Kinesis
- AWSでのイベントルーター
イベント駆動アーキテクチャ設計時の考慮ポイント
- 冪等性(べきとうせい)
- 同じ操作を複数回しても同じ結果になること
- イベントの配信方式にも種類があるため重要
冪等性をもっと知るための参考ページ
サーバーレスが気になる開発者に捧ぐ「べき等性」ことはじめ
サーバーレスにおけるべき等性の実装 (メッセージ編) - 重複排除
- 順序保障(FIFO)
他の観点については、イベント駆動アーキテクチャに関するオンデマンドウェビナー(全8回)を受講推奨
まとめ
- サービスを疎結合にするためのイベント駆動アーキテクチャ
- イベントルーター、イベントストア、非同期イベントの連携パターン
- 同期型のアーキテクチャとも併用できる
- 冪等性が特に重要、各サービスの重複削除や順序保障の仕様理解も大事
- サーバーレスサービスを選択することで運用性やコスト効率の良いシステムを作ることができる
- 元々あるシステムを移行するときにはコンテナを使用する方向も検討できる
おわりに(感想)
サーバーレスシステムについて検証程度でしか触ったことがなく、知識のみ先行していたのですが、セッションを通して一例を使用して説明していただくことによってイメージがわきやすくなりました。
冪等性の重要性もわかり、サーバーレスについてもっと学びたくなりました。
オンデマンドウェビナーも受講予定です!