Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
AWSにおけるイベント駆動アーキテクチャ /event driven architecture...
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Atsushi Fukui
September 11, 2023
Technology
1.9k
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
AWSにおけるイベント駆動アーキテクチャ /event driven architecture on aws
AWSにおけるイベント駆動アーキテクチャ
Atsushi Fukui
September 11, 2023
More Decks by Atsushi Fukui
See All by Atsushi Fukui
2026年版 Kiroの仕様駆動開発でAppSync Eventsアプリを作ってみた! / 2026-JAWS-DAYS_SA-LT-AppSync-with-kiro-sdd
fatsushi
0
97
AWSが推進するAI駆動開発ライフサイクル入門 〜 AI駆動開発時代に必要な人材とは 〜/ introduction_to_aidlc_and_skills
fatsushi
13
15k
マイクロサービス設計に活⽤する DDDとEvent Storming / designing_microservices_with_DDD_and_EventStorming
fatsushi
1
1.5k
AWSにおけるマイクロサービスとNoSQLの活用 /microservice architecture with NoSQL on AWS
fatsushi
0
760
AWSにおけるモダンアプリケーション開発のベストプラクティス /best practices for modern application development on aws
fatsushi
1
1.6k
徹底解説マイクロサービス 〜マイクロサービスのメリット、デメリット、なぜマイクロサービスを選択するのか〜 /why do you choose microservices architecture
fatsushi
11
4.7k
実践!モノリスからマイクロサービス!Event Stormingによるドメイン駆動設計から実装まで / AWS_Dev_Day_2023_E_3
fatsushi
21
11k
XP入門と私 / Introduction_of_extream_programming_and_I
fatsushi
3
3.3k
コードとデモで理解する!これは便利!AWS Lambda の実装を加速するAWS Lambda Powertools を使いこなそう! / Introducing AWS Lambda Powertools for Python on DevDay
fatsushi
5
1.5k
Other Decks in Technology
See All in Technology
アンオフィシャルな、オフィシャルからのお願い
wyamazak_devrel
0
130
Kubernetesにおける学習基盤とLLMOpsの概要
ry
1
310
作って終わりにしない タイミーのセマンティックレイヤー育成の現在地
chanyou0311
4
2.4k
AWS Security Agent といっしょに脅威モデリングをやってみよう
amarelo_n24
0
120
LayerXにおけるセキュリティ管理の現在地と次の一手
tosho
0
230
AmazonRoute 53ではじめてのドメイン取得!HTTPS化までの道のりを整理してみた
usanchuu
3
150
自宅LLMの話
jacopen
1
610
現地で盛り上がった WWDC26 Keynote
zozotech
PRO
1
250
2026 TECHFRESH 畢業分享會 - 開發日常大解密!從領域驅動到企業級上線
line_developers_tw
PRO
0
1.2k
2026TECHFRESH畢業分享會 - AI 時代的人生存檔點
line_developers_tw
PRO
0
1.2k
SONiCの統計情報を取得したい
sonic
0
190
MCP Appsを作ってみよう
iwamot
PRO
4
680
Featured
See All Featured
Optimising Largest Contentful Paint
csswizardry
37
3.7k
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
160
How People are Using Generative and Agentic AI to Supercharge Their Products, Projects, Services and Value Streams Today
helenjbeal
1
210
Building Flexible Design Systems
yeseniaperezcruz
330
40k
Into the Great Unknown - MozCon
thekraken
41
2.6k
Technical Leadership for Architectural Decision Making
baasie
3
410
Utilizing Notion as your number one productivity tool
mfonobong
4
320
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
200
The Power of CSS Pseudo Elements
geoffreycrofte
82
6.3k
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
1
1.3k
Bioeconomy Workshop: Dr. Julius Ecuru, Opportunities for a Bioeconomy in West Africa
akademiya2063
PRO
1
140
Code Review Best Practice
trishagee
74
20k
Transcript
© 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.
© 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
© 2021, Amazon Web Services, Inc. or its affiliates. All
rights reserved. © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved. Agenda • イベント駆動とは何か︖ • イベント駆動型アーキテクチャ • イベント駆動デザインパターン • まとめ
© 2021, Amazon Web Services, Inc. or its affiliates. All
rights reserved. Greg Young A Decade of DDD, CQRS, Event Sourcing, 2016
© 2021, Amazon Web Services, Inc. or its affiliates. All
rights reserved.
© 2021, Amazon Web Services, Inc. or its affiliates. All
rights reserved. © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved. 政府 ⾦融 出版 教育 製造業 メディアとエンターテイメント 流通 ヘルスケア 疎結合でスケーラブルな対障害性の高いシステム→より早いイノベーション 公共サービス 証券や⼊出⾦処理 ドキュメントのキャプチャ、 発⾏、検索 学習と⽀援 多段階の⽣産プロセス ソーシャルメディア、ゲーム、 イメージ、ビデオ処理 注⽂処理と管理 重要なデータ交換 イベント駆動アーキテクチャは重要なビジネス システムで利⽤されている
© 2021, Amazon Web Services, Inc. or its affiliates. All
rights reserved. © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved. イベント駆動の歴史
© 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
© 2021, Amazon Web Services, Inc. or its affiliates. All
rights reserved. © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved. イベント駆動によって⽬指すものは 信頼性 弾⼒性 顧客価値 スケーラビリティ 迅速に構築すること
© 2021, Amazon Web Services, Inc. or its affiliates. All
rights reserved.
© 2021, Amazon Web Services, Inc. or its affiliates. All
rights reserved. © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved. ドメイン駆動設計 設計における意思決定とドメイン 設計の議論における技術的な⽤語の 広義のフレームワークを提供 ユビキタス⾔語 ー ビジネスドメイン エキスパートと開発者の間の意思疎 通として利⽤される⽤語によってモ デリングと設計を⾏う 戦略的な設計のためのガイドライン ー 境界づけられたコンテキスト、 蒸留、⼤規模な構造の考察
© 2021, Amazon Web Services, Inc. or its affiliates. All
rights reserved. © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved. モデル駆動設計を構成する⾔語(⼀部) モデル駆動設計 サービス エンティティ 値オブジェクト ファクトリ 集約 リポジトリ レイヤ化 アーキテクチャ
© 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
© 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)
© 2021, Amazon Web Services, Inc. or its affiliates. All
rights reserved. © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved. パブリッシュ/サブスクライブ • 特定ドメイン イベントのための論理的な発⾏者︓ ⼀貫した境界を適⽤する • 複数種類のカップリングに対応 • 個々のサブスクライバは個別の 境界づけられたコンテキストで ドメイン イベントに反応 • ドメインモデルのシンプルで効果的な ドメインイベントの発⾏⽅法︓軽量なオブザーバーパターン
© 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] 名詞 状態が変更されたことを⽰す シグナル
© 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”のような境界コンテキストをまたがる共通 のプロパティによって関連付けられる
© 2021, Amazon Web Services, Inc. or its affiliates. All
rights reserved. © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved. イベントは観察可能であり、指⽰ではない コマンドの指⽰ 請求書を 発⾏して ください。 承知 しました イベントの観察 Xさんが今 ⼩物を注⽂ しました 請求書を 送ります セールスレポート に追加します。
© 2021, Amazon Web Services, Inc. or its affiliates. All
rights reserved.
© 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
© 2021, Amazon Web Services, Inc. or its affiliates. All
rights reserved. © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved. 時間と共にサービスが追加され… 注⽂ サービス 請求 サービス 倉庫管理 サービス 販売予測 サービス
© 2021, Amazon Web Services, Inc. or its affiliates. All
rights reserved. © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved. 分散システムにおける課題 注⽂ サービス 請求 サービス 倉庫管理 サービス 販売注予測 サービス 複数のエラーポイント サービス品質の程度のばらつき 外部への依存 プロデューサとコンシューマの間の結合
© 2021, Amazon Web Services, Inc. or its affiliates. All
rights reserved. © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved. サービスが増えるとモノリスと同じに 注⽂ サービス システムは密結合になりエラーに対して 脆くなる
© 2021, Amazon Web Services, Inc. or its affiliates. All
rights reserved. © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved. APIのワークフロー(正常な場合) 注⽂ サービス 請求 サービス ⽀払 サービス 販売予測 サービス 倉庫管理 サービス 配送 サービス
© 2021, Amazon Web Services, Inc. or its affiliates. All
rights reserved. © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved. おっと、在庫切れが発⽣︕ 注⽂ サービス 請求 サービス ⽀払 サービス 販売予測 サービス 倉庫管理 サービス 配送 サービス
© 2021, Amazon Web Services, Inc. or its affiliates. All
rights reserved. © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved. イベントルーターによるサービスの疎結合化 プロデューサとコンシューマ を抽象化 イベントの選択とフィルタ
© 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
© 2021, Amazon Web Services, Inc. or its affiliates. All
rights reserved. © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved. イベントストアによる弾⼒性の改善と スケーラビリティ サービスが処理するまでメッセージ をバッファリング イベントの発⾏ イベントストア イベントの購読 Business logic
© 2021, Amazon Web Services, Inc. or its affiliates. All
rights reserved. © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved. 分散システムにおける課題(再掲) 注⽂ サービス 請求 サービス 倉庫管理 サービス 販売予測 サービス 複数のエラーポイント サービス品質の程度のばらつき 外部への依存 プロデューサとコンシューマの間の結合 プロデューサ コンシューマ
© 2021, Amazon Web Services, Inc. or its affiliates. All
rights reserved. © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved. 信頼性、弾⼒性、独⽴したスケール性 注⽂ サービス 請求 サービス 倉庫管理 サービス 販売予測 サービス プロデューサ コンシューマ イベント ルーター ルーティング/ フィルタ/ ルール キュー キュー キュー
© 2021, Amazon Web Services, Inc. or its affiliates. All
rights reserved.
© 2021, Amazon Web Services, Inc. or its affiliates. All
rights reserved. © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved. イベント駆動デザインパターン • コレオグラフィ •全体の作業を制御する指揮者は存在せず、個々のサービスに予め与えられた動作 条件に従ってサービスを実⾏ • コマンドクエリ責務分離 •データ ストアの読み取り操作と更新操作を分離 • イベントソーシングパターン •データに対して実⾏された⼀連のすべてのアクションを記録
© 2021, Amazon Web Services, Inc. or its affiliates. All
rights reserved. © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved. コレオグラフィーパターンとは • 必要なすべての情報を含んだ最初のイベントを 1 つのメッセージに 保存して、最初のトランザクションを完了 • 他のサービスがそのメッセージを⾮同期的に取得し、それぞれのタ スクを完了させる • サービスが疎結合になり、直接互いに影響を与えない • メッセージの保存と取得が⾮同期の関係になり、スケーラビリティ と信頼性が向上
© 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
© 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 ファンアウト
© 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 リクエストサービス イベントバス
© 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)のオーバーヘッドを 軽減することも可能になる コマンド側とクエリ側が結果整合性を許容する必要がある
© 2021, Amazon Web Services, Inc. or its affiliates. All
rights reserved. © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved. コマンドクエリ責務共有パターン ユーザー サービス ドメインモデル ドメインモデル ORM ORM データ転送 オブジェクト クエリ 更新
© 2021, Amazon Web Services, Inc. or its affiliates. All
rights reserved. © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved. コマンドクエリ責務分離(CQRS)パターン ユーザー コマンドサービス ドメインモデル データ転送 オブジェクト クエリ 更新 クエリサービス データ転送 オブジェクト ⾮同期 結果整合
© 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 ⾮正規化テーブル
© 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 正規化テーブル フロントサービス
© 2021, Amazon Web Services, Inc. or its affiliates. All
rights reserved. © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved. イベントソーシングパターンとは • データストアを直接更新する代わりに、注⽂の発注、クレジット照会、 出荷中の注⽂など、ビジネスロジックに重要なイベントを耐久性のあ るイベントログに追加 • イベントレコードは個別に保存されるため、すべての更新は アトミック (分割不可かつ削減不可) • 保存されたイベントを再度処理するだけで、アプリケーションのいか なる時点の状態でも再構築 可能
© 2021, Amazon Web Services, Inc. or its affiliates. All
rights reserved. © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved. イベント ソーシングパターン ユーザー プロセス イベントログ イベント プロセス プロセス 状態
© 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
© 2021, Amazon Web Services, Inc. or its affiliates. All
rights reserved. Design Considerations
© 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 キュー
© 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 キュー * 順不同のイベント処理ロジックが受⼊可能かは、ビジネス要件次第。順不動なイベントを処理するように アプリケーションを設計できない場合は、代わりにオーケストレーションも検討
© 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
© 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 マイクロサービス、分散システム、サーバーレスアプリケーションのための フルマネージドなメッセージキュー
© 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
© 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
© 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メッセージング
© 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
© 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 個々のメッセージタイプは論理的な送信先に マップされる
© 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
© 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プロバイダのための サーバーレスイベントバスサービス
© 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
© 2021, Amazon Web Services, Inc. or its affiliates. All
rights reserved. © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved. スキーマレジストリとコーディングのダウンロー ド
© 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
© 2021, Amazon Web Services, Inc. or its affiliates. All
rights reserved. © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved. 115を超えるAWSサービスからのイベントに対応
© 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統合
© 2021, Amazon Web Services, Inc. or its affiliates. All
rights reserved.
© 2021, Amazon Web Services, Inc. or its affiliates. All
rights reserved. © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved. イベント駆動とは • 分散システム環境でイベントによってサービス間を連携する仕組み • イベント駆動型アーキテクチャでは、イベントのルーティング、 フィルタリング、ストアの機能を利⽤して、イベントの プロデューサとコンシューマを⾮同期、疎結合化し、弾⼒性、 スケーラビリティ、サービスの⾃⽴性を実現する • イベント駆動型アーキテクチャを利⽤したデザインパターンを理解 することで、より素早く課題を解決することができる
© 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
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.