Upgrade to Pro — share decks privately, control downloads, hide ads and more …

AWSにおけるイベント駆動アーキテクチャ /event driven architecture on aws

Atsushi Fukui
September 11, 2023

AWSにおけるイベント駆動アーキテクチャ /event driven architecture on aws

AWSにおけるイベント駆動アーキテクチャ

Atsushi Fukui

September 11, 2023
Tweet

More Decks by Atsushi Fukui

Other Decks in Technology

Transcript

  1. © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.
    © 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
    2021/06/10
    AWSにおけるイベント駆動アーキテクチャ
    DevAx::Connect
    Atsushi Fukui
    Senior Solutions Architect
    Serverless Specialist
    Amazon Web Services Japan K.K.

    View full-size slide

  2. © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.
    © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.
    ⾃⼰紹介
    v名前
    v福井 厚(ふくい あつし)fatsushi@
    v所属
    vアマゾン ウェブ サービス ジャパン株式会社
    v技術統括本部レディネスソリューション本部
    vシニアソリューションアーキテクト
    サーバーレス スペシャリスト
    v関⼼領域
    vソフトウェア アーキテクチャ、オブジェクト指向設計、アジャイル開発
    v好きなAWSサービス
    vサーバーレステクノロジー全般、 AWS Code シリーズ、AWS Amplify

    View full-size slide

  3. © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.
    © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.
    Agenda
    • イベント駆動とは何か︖
    • イベント駆動型アーキテクチャ
    • イベント駆動デザインパターン
    • まとめ

    View full-size slide

  4. © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.
    Greg Young
    A Decade of DDD, CQRS, Event Sourcing,
    2016

    View full-size slide

  5. © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.

    View full-size slide

  6. © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.
    © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.
    政府
    ⾦融
    出版
    教育 製造業
    メディアとエンターテイメント
    流通 ヘルスケア
    疎結合でスケーラブルな対障害性の高いシステム→より早いイノベーション
    公共サービス
    証券や⼊出⾦処理
    ドキュメントのキャプチャ、
    発⾏、検索 学習と⽀援 多段階の⽣産プロセス
    ソーシャルメディア、ゲーム、
    イメージ、ビデオ処理
    注⽂処理と管理 重要なデータ交換
    イベント駆動アーキテクチャは重要なビジネス
    システムで利⽤されている

    View full-size slide

  7. © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.
    © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.
    イベント駆動の歴史

    View full-size slide

  8. © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.
    © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.
    ON-PREMISES
    On-premise message broker
    CLOUD / MICROSERVICE
    AWS native messaging
    ハイスケーラビリティ、信頼性、
    疎結合
    イベント駆動型アーキテクチャ
    - 費⽤ (設備投資、事業運営費)
    - 特別なスキルセット
    - メンテナンスと管理
    - スケールするのが難しい
    INFRASTRUCTURE MANAGEMENT APPLICATION FOCUS
    AWS managed message broker
    コスト削減、運⽤の効率化、 可⽤性
    ⾃動化とイノベーション
    メッセージとイベントの進化
    Amazon MQ
    Amazon Simple
    Notification Service
    Amazon Simple Queue
    Service

    View full-size slide

  9. © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.
    © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.
    イベント駆動によって⽬指すものは
    信頼性
    弾⼒性
    顧客価値
    スケーラビリティ
    迅速に構築すること

    View full-size slide

  10. © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.

    View full-size slide

  11. © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.
    © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.
    ドメイン駆動設計
    設計における意思決定とドメイン
    設計の議論における技術的な⽤語の
    広義のフレームワークを提供
    ユビキタス⾔語 ー ビジネスドメイン
    エキスパートと開発者の間の意思疎
    通として利⽤される⽤語によってモ
    デリングと設計を⾏う
    戦略的な設計のためのガイドライン
    ー 境界づけられたコンテキスト、
    蒸留、⼤規模な構造の考察

    View full-size slide

  12. © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.
    © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.
    モデル駆動設計を構成する⾔語(⼀部)
    モデル駆動設計
    サービス
    エンティティ
    値オブジェクト
    ファクトリ
    集約
    リポジトリ
    レイヤ化
    アーキテクチャ

    View full-size slide

  13. © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.
    © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.
    境界づけられたコンテキスト
    境界づけられたコンテキストは特定の
    モデルを適⽤できる限定された範囲。
    コンテキストの境界を定めることで、
    チームメンバーは何を⼀致させるべきで
    何を独⽴して開発できるのかについての
    理解を明確化し、共有できる。
    https://www.martinfowler.com/bliki/BoundedContext.html
    Customer
    Ticket
    Product
    Product version
    Customer
    Product
    Territory
    Opportunity
    Pipeline
    Salesperson
    Defect
    Sales context Support context

    View full-size slide

  14. © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.
    © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.
    コンテキストマップ
    Sales context Support context
    Marketing context
    境界つけられたコンテキストだけでは、ドメインの
    全体像を⽰すことはできない。
    コンテキストマップは、境界づけられたコンテキスト
    を統合することにより、異なるが関連するユビキタス
    ⾔語のマッピングを処理する。
    DDDでは境界づけられたコンテキストを統合するため
    の7つのパターンを説明
    • 共有カーネル (Shared Kernel)
    • 顧客/供給者の開発チーム (Customer/Supplier
    Development Teams)
    • 順応者 (Conformist)
    • 腐敗防⽌層 (Anticorruption layer)
    • 別々の道 (Separate ways)
    • 公開ホストサービス (Open/Host service)
    • 公表された⾔語 (Published language)

    View full-size slide

  15. © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.
    © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.
    パブリッシュ/サブスクライブ
    • 特定ドメイン イベントのための論理的な発⾏者︓
    ⼀貫した境界を適⽤する
    • 複数種類のカップリングに対応
    • 個々のサブスクライバは個別の
    境界づけられたコンテキストで
    ドメイン イベントに反応
    • ドメインモデルのシンプルで効果的な
    ドメインイベントの発⾏⽅法︓軽量なオブザーバーパターン

    View full-size slide

  16. © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.
    © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.
    event
    [i-ʼvent] 名詞
    状態が変更されたことを⽰す
    シグナル

    View full-size slide

  17. © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.
    © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.
    イベントとは
    • イベントは、状態の変化に対してサービス間で情報を共有するため
    の主要なメカニズムになる
    • イミュータブル – 過去は変更できない。コピーすることで容易にス
    ケール
    • イベントは意味論的な意図を持ち過去時制の動詞として表現される
    例︓ “customer_created”
    • 軽量で、”customer_id”のような境界コンテキストをまたがる共通
    のプロパティによって関連付けられる

    View full-size slide

  18. © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.
    © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.
    イベントは観察可能であり、指⽰ではない
    コマンドの指⽰
    請求書を
    発⾏して
    ください。
    承知
    しました
    イベントの観察
    Xさんが今
    ⼩物を注⽂
    しました
    請求書を
    送ります
    セールスレポート
    に追加します。

    View full-size slide

  19. © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.

    View full-size slide

  20. © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.
    © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.
    同期APIの場合
    注⽂
    サービス
    請求
    サービス
    😀
    POST
    /order
    POST
    /invoice
    201
    201

    View full-size slide

  21. © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.
    © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.
    時間と共にサービスが追加され…
    注⽂
    サービス
    請求
    サービス
    倉庫管理
    サービス
    販売予測
    サービス

    View full-size slide

  22. © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.
    © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.
    分散システムにおける課題
    注⽂
    サービス
    請求
    サービス
    倉庫管理
    サービス
    販売注予測
    サービス
    複数のエラーポイント
    サービス品質の程度のばらつき
    外部への依存
    プロデューサとコンシューマの間の結合

    View full-size slide

  23. © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.
    © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.
    サービスが増えるとモノリスと同じに
    注⽂
    サービス
    システムは密結合になりエラーに対して
    脆くなる

    View full-size slide

  24. © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.
    © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.
    APIのワークフロー(正常な場合)
    注⽂
    サービス
    請求
    サービス
    ⽀払
    サービス
    販売予測
    サービス
    倉庫管理
    サービス
    配送
    サービス

    View full-size slide

  25. © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.
    © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.
    おっと、在庫切れが発⽣︕
    注⽂
    サービス
    請求
    サービス
    ⽀払
    サービス
    販売予測
    サービス
    倉庫管理
    サービス
    配送
    サービス

    View full-size slide

  26. © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.
    © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.
    イベントルーターによるサービスの疎結合化
    プロデューサとコンシューマ
    を抽象化
    イベントの選択とフィルタ

    View full-size slide

  27. © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.
    © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.
    ⾮同期化による応答性の改善と依存性の削減
    同期コマンド
    Client Service A Service B
    非同期イベント
    Client Service A Service B

    View full-size slide

  28. © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.
    © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.
    イベントストアによる弾⼒性の改善と
    スケーラビリティ
    サービスが処理するまでメッセージ
    をバッファリング
    イベントの発⾏
    イベントストア
    イベントの購読
    Business
    logic

    View full-size slide

  29. © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.
    © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.
    分散システムにおける課題(再掲)
    注⽂
    サービス
    請求
    サービス
    倉庫管理
    サービス
    販売予測
    サービス
    複数のエラーポイント
    サービス品質の程度のばらつき
    外部への依存
    プロデューサとコンシューマの間の結合
    プロデューサ
    コンシューマ

    View full-size slide

  30. © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.
    © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.
    信頼性、弾⼒性、独⽴したスケール性
    注⽂
    サービス
    請求
    サービス
    倉庫管理
    サービス
    販売予測
    サービス
    プロデューサ
    コンシューマ
    イベント
    ルーター
    ルーティング/
    フィルタ/
    ルール
    キュー
    キュー
    キュー

    View full-size slide

  31. © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.

    View full-size slide

  32. © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.
    © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.
    イベント駆動デザインパターン
    • コレオグラフィ
    •全体の作業を制御する指揮者は存在せず、個々のサービスに予め与えられた動作
    条件に従ってサービスを実⾏
    • コマンドクエリ責務分離
    •データ ストアの読み取り操作と更新操作を分離
    • イベントソーシングパターン
    •データに対して実⾏された⼀連のすべてのアクションを記録

    View full-size slide

  33. © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.
    © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.
    コレオグラフィーパターンとは
    • 必要なすべての情報を含んだ最初のイベントを 1 つのメッセージに
    保存して、最初のトランザクションを完了
    • 他のサービスがそのメッセージを⾮同期的に取得し、それぞれのタ
    スクを完了させる
    • サービスが疎結合になり、直接互いに影響を与えない
    • メッセージの保存と取得が⾮同期の関係になり、スケーラビリティ
    と信頼性が向上

    View full-size slide

  34. © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.
    © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.
    コレオグラフィーパターン
    ユーザー
    リクエストサービス リクエストキュー
    サービスA
    サービスB
    サービスC

    View full-size slide

  35. © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.
    © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.
    実装例1: SNS、 SQS、 Lambdaの利⽤
    ユーザー
    リクエストサービス Amazon
    SNS
    Amazon SQS
    Amazon SQS
    Amazon SQS
    AWS Lambda
    AWS Lambda
    AWS Lambda
    ファンアウト

    View full-size slide

  36. © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.
    © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.
    実装例2: Amazon EventBridgeの利⽤ 配送
    ポイント
    プレミアム会員
    カート
    ⽀払
    ⽀払い⽅法
    認証
    注⽂
    1分毎に実⾏
    Events
    会員
    ステータス
    ⽀払認証
    カートに
    ⼊れる
    注⽂完了
    Amazon
    EventBridge
    リクエストサービス イベントバス

    View full-size slide

  37. © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.
    © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.
    コマンドクエリ責務分離パターンとは
    コマンドクエリ責務分離(Command-Query Responsibility
    Segregation︓CQRS)パターンはデータを更新するコマンドと参照する
    クエリを分離することで、ユースケースに応じて個別にスケールするこ
    とを可能とするパターン
    データソースを分離することで異なるデータ構造を取ることも可能と
    なり、クエリ側はクエリで返すデータ転送オブジェクト(Data Transfer
    Object : DTO)に合わせた形のスキーマとすることでオブジェクト関係
    マッピング(Object Relational Mapping : ORM)のオーバーヘッドを
    軽減することも可能になる
    コマンド側とクエリ側が結果整合性を許容する必要がある

    View full-size slide

  38. © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.
    © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.
    コマンドクエリ責務共有パターン
    ユーザー
    サービス
    ドメインモデル ドメインモデル
    ORM ORM
    データ転送
    オブジェクト
    クエリ
    更新

    View full-size slide

  39. © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.
    © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.
    コマンドクエリ責務分離(CQRS)パターン
    ユーザー
    コマンドサービス
    ドメインモデル
    データ転送
    オブジェクト
    クエリ
    更新
    クエリサービス
    データ転送
    オブジェクト
    ⾮同期
    結果整合

    View full-size slide

  40. © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.
    © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.
    実装例1︓ Kinesis Data StreamsとLambdaを
    利⽤
    フロントサービス Amazon Kinesis
    Data Streams
    AWS Lambda
    AWS Lambda Amazon Aurora
    正規化テーブル
    ユーザー
    Amazon DynamoDB
    ⾮正規化テーブル

    View full-size slide

  41. © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.
    © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.
    実装例2︓ DynamoDB StreamsとLambdaを
    利⽤
    ユーザー Amazon DynamoDB
    Streams
    ⾮正規化テーブル
    AWS Lambda Amazon Aurora
    正規化テーブル
    フロントサービス

    View full-size slide

  42. © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.
    © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.
    イベントソーシングパターンとは
    • データストアを直接更新する代わりに、注⽂の発注、クレジット照会、
    出荷中の注⽂など、ビジネスロジックに重要なイベントを耐久性のあ
    るイベントログに追加
    • イベントレコードは個別に保存されるため、すべての更新は
    アトミック (分割不可かつ削減不可)
    • 保存されたイベントを再度処理するだけで、アプリケーションのいか
    なる時点の状態でも再構築 可能

    View full-size slide

  43. © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.
    © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.
    イベント ソーシングパターン
    ユーザー
    プロセス
    イベントログ
    イベント
    プロセス プロセス
    状態

    View full-size slide

  44. © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.
    © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.
    Kinesis Data Streams (or SQS FIFO)とLambda
    による実装例
    ユーザー
    Amazon Kinesis
    Data Streams
    AWS Lambda
    イベント
    メッセージ
    状態
    Amazon SQS
    FIFO
    or

    View full-size slide

  45. © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.
    Design Considerations

    View full-size slide

  46. © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.
    © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.
    配信セマンティクス
    At-least once 配信
    イベントは、ターゲットに複数回配信
    されることも。処理されたイベントの
    状態を追跡することによって重複
    イベントを検出するロジックを含める
    (冪等性)
    Exactly-once 配信*
    AWSサービスに重複排除に使⽤する
    識別⼦を渡すことで重複排除
    * Lambdaでリトライ設定している場合は、
    At-least once
    • Amazon EventBridge
    • Amazon SNS 標準トピック
    • Amazon SQS 標準 キュー
    • Amazon Kinesis
    • Amazon SNS FIFO トピック
    • Amazon SQS FIFO キュー

    View full-size slide

  47. © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.
    © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.
    順序セマンティクス*
    順序保証なし
    イベント/メッセージが順序保証なしで
    配信
    順序保証
    イベントは、パーティション、
    メッセージグループなどの中で順番
    に配信
    (グローバルな順序保証はなし)
    • Amazon EventBridge
    • Amazon SNS 標準トピック
    • Amazon SQS 標準 キュー • Amazon Kinesis
    • Amazon SNS FIFO トピック
    • Amazon SQS FIFO キュー
    * 順不同のイベント処理ロジックが受⼊可能かは、ビジネス要件次第。順不動なイベントを処理するように
    アプリケーションを設計できない場合は、代わりにオーケストレーションも検討

    View full-size slide

  48. © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.
    © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.
    AWSのメッセージングとイベントサービス
    イベントストア イベントルーター
    キュー ストリーム トピック イベントバス
    AWSネイティブ
    マネージド
    オープンソース
    Amazon SQS
    Amazon
    MQ
    Amazon SNS
    Amazon
    MQ
    Amazon Kinesis
    Amazon MSK
    Amazon EventBridge

    View full-size slide

  49. © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.
    © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.
    Amazon
    Simple Queue Service
    マイクロサービス、分散システム、サーバーレスアプリケーションのための
    フルマネージドなメッセージキュー

    View full-size slide

  50. © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.
    © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.
    Amazon Simple Queue Service (SQS)
    Amazon SQSは
    シンプル、フレキシブル、
    フルマネージドな信頼性
    の⾼いメッセージキュー
    サービス。様々な
    ボリュームのメッセージ
    をどこからでも継続的に
    交換
    Standard と FIFOの2つ
    のタイプを提供
    ユースケース
    疎結合で、スケーラブル
    なマイクロサービス、
    分散システム、サーバー
    レスアプリケーションを
    クラウド上に構築する場
    合に適⽤
    優れた機能
    事前のプロビジョニング
    を必要としない、標準
    キューはぼぼ無制限な
    スケーラビリティを提供
    25B messages per hour
    Event Source

    View full-size slide

  51. © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.
    © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.
    Amazon SQSによるハイボリュームな
    ビッグデータ処理
    AWS Cloud
    Amazon S3 AWS Lambda Amazon SQS AWS Lambda Amazon SNS Amazon SQS AWS Lambda
    Amazon SQS AWS Lambda
    Amazon SQS
    AWS Lambda
    Dead Letter Queue
    File
    Create/Upload
    Trigger Sending
    Message
    Receive
    Message
    Send Topic Subscribe
    Topic

    View full-size slide

  52. © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.
    © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.
    Amazon
    Simple Notification Service
    マイクロサービス、分散システム、サーバーレスアプリケーションのための
    フルマネージドなPub/Subメッセージング

    View full-size slide

  53. © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.
    © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.
    Amazon Simple Notification Service (SNS)
    Amazon SNSは
    シンプルでフレキシブル
    な、フルマネージドの
    publish/subscribe
    メッセージングと⾼
    スループットで信頼性の
    ⾼いメッセージ配信を
    ⾏うためのモバイル
    プッシュ通知も提供
    Standard と FIFOの2つ
    のタイプを提供
    ユースケース
    • 複数のサブスクライブ
    アプリケーションへの通知
    • リージョンをまたがった
    データのレプリケーション
    • ワークロードの複数ステップ
    の実⾏
    • 並列プロセス
    • サーバーレス起動のトリガー
    • Amazon SQSとの組み合わ
    せでファンアウト
    優れた機能
    複数のプロトコルにまた
    がった多くの受信者への
    ⾼い信頼性のメッセージ
    配信
    Event Source

    View full-size slide

  54. © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.
    © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.
    イベントをトピックにマッピング
    Amazon SNS “US
    Orders”
    Topic
    Amazon SQS “US
    Orders” Queue
    Publisher
    AWS Lambda
    Amazon SNS
    Subscription
    Amazon SNS “EU
    Orders”
    Topic
    Amazon SQS “EU
    Orders” Queue
    AWS Lambda
    Amazon SNS
    Subscription
    個々のメッセージタイプは論理的な送信先に
    マップされる

    View full-size slide

  55. © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.
    © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.
    SNS メッセージフィルタリングで90%のコンピュート
    コストを削減
    AWS Cloud

    View full-size slide

  56. © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.
    © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.
    Amazon
    EventBridge
    AWSサービス、独⾃アプリケーション、SaaSプロバイダのための
    サーバーレスイベントバスサービス

    View full-size slide

  57. © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.
    © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.
    Amazon EventBridge
    Amazon
    EventBridgeとは
    シンプルでフレキシブル、
    フルマネージドなイベント
    バスサービス
    AWSサービス、独⾃アプリ
    ケーション、SaaSアプリ
    ケーションのイベント
    データの処理を容易にする
    ユースケース
    サービス間のポイント
    ツーポイントの統合を
    コードの記述不要で実現
    SaaSメッセージに対する
    アクション、ワークフロー
    の実⾏、インテリジェンス
    の適⽤、監査と分析、デー
    タの同期
    優れた機能
    Lambda、SQS、SNS、
    Kinesis Firehoseなどを
    含む多くのターゲット、
    クロスアカウントへの
    イベントターゲットも可能
    スキーマレジストリはスキーマ
    のコレクションを保存し、
    デベロッパーに
    アプリケーションから利⽤可能
    なスキーマの検索/発⾒/追跡を
    可能に。
    Event Source

    View full-size slide

  58. © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.
    © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.
    スキーマレジストリとコーディングのダウンロー

    View full-size slide

  59. © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.
    © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.
    Amazon EventBridge アーキテクチャ
    AWS services
    Custom events
    SaaS apps
    Partner
    event source Rules
    Default event bus
    Custom event bus
    SaaS event bus
    Amazon EventBridge

    View full-size slide

  60. © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.
    © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.
    115を超えるAWSサービスからのイベントに対応

    View full-size slide

  61. © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.
    © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.
    24を超えるAmazon EventBridgeのSaaS統合

    View full-size slide

  62. © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.

    View full-size slide

  63. © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.
    © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.
    イベント駆動とは
    • 分散システム環境でイベントによってサービス間を連携する仕組み
    • イベント駆動型アーキテクチャでは、イベントのルーティング、
    フィルタリング、ストアの機能を利⽤して、イベントの
    プロデューサとコンシューマを⾮同期、疎結合化し、弾⼒性、
    スケーラビリティ、サービスの⾃⽴性を実現する
    • イベント駆動型アーキテクチャを利⽤したデザインパターンを理解
    することで、より素早く課題を解決することができる

    View full-size slide

  64. © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.
    © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.
    関連情報
    What is an Event-Driven Architecture?
    https://aws.amazon.com/event-driven-architecture/
    Serverless Land
    https://serverlessland.com/
    New - Serverless Lens in Well-Architected Tool (Blog)
    https://aws.amazon.com/blogs/aws/new-serverless-lens-in-aws-well-
    architected-tool/
    AWS モダンアプリケーション開発 – AWS におけるクラウドネイティブ
    モダンアプリケーション開発と設計パターン(⽇本語版)
    https://d1.awsstatic.com/whitepapers/ja_JP/modern-application-development-
    on-aws.pdf

    View full-size slide

  65. Thank you!
    © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.
    Atsushi Fukui
    Senior Solutions Architect
    Serverless Specialist
    Amazon Web Service Japan K.K.

    View full-size slide