Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Serverless Meetup Tokyo #15 Amazon EventBridge スキーマレジストリ でイベントの扱いを簡単に!

439 views

Published on

Serverless Meetup Tokyo #15 の登壇資料です。
https://serverless.connpass.com/event/162099/

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Serverless Meetup Tokyo #15 Amazon EventBridge スキーマレジストリ でイベントの扱いを簡単に!

  1. 1. © 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved. 2019/5/29 Masao Kanamori, Partner Solutions Architect Amazon EventBridge スキーマレジストリ でイベントの扱いを簡単に!
  2. 2. © 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Who am I… { "name" : "金森 政雄(Masao Kanamori)", "dept" : "技術統括本部 パートナー技術本部", "title" : "Partner Solutions Architect", "AoD" : "Serverless, Container", "favorite" : ”Amazon ECS, Amazon EventBridge" }
  3. 3. © 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Serverless の影の主役 2 Event SaaS& よくある課題 • SaaS との連携の作り込み • 利用するSaaSが増えていく • 連携のためのクレデンシャル管理 よくある課題 • Event の取り扱い、管理どうする? • Event 毎のスキーマの取り扱い
  4. 4. © 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon EventBridge AWSサービス、カスタムアプリケーション、 SaaSアプリケーションのための サーバレスイベントバスサービス • アプリケーション同士を接続するための コードをへらす • 数多くのAWSやSaaSをまたがって機能 • シンプルなプログラミングモデル • イベントドリブンなアーキテクチャを構築 しやすい • フルマネージドで従量課金
  5. 5. © 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Serverless の影の主役 4 Event SaaS& よくある課題 • SaaS との連携の作り込み • 利用するSaaSが増えていく • 連携のためのクレデンシャル管理 よくある課題 • Event の取り扱い、管理どうする? • Event 毎のスキーマの取り扱い
  6. 6. © 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon EventBridge Event source SaaS event bus Custom event bus Default event bus Rules AWS Lambda Amazon Kinesis AWS Step Functions Additional targets Amazon EventBridge
  7. 7. © 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon EventBridge Event source SaaS event bus Custom event bus Default event bus Rules AWS Lambda Amazon Kinesis AWS Step Functions Additional targets イベントソース イベントソースから イベントが送信される Amazon EventBridge
  8. 8. © 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon EventBridge AWS services Custom events SaaS apps Event source SaaS event bus Custom event bus Default event bus Rules AWS Lambda Amazon Kinesis AWS Step Functions Additional targets SaaSからのイベントを受信する場合は Partner Event Sourceと SaaS用のイベントバスを紐付ける Amazon EventBridge
  9. 9. © 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon EventBridge AWS services Custom events SaaS apps Event source SaaS event bus Custom event bus Default event bus Rules AWS Lambda Amazon Kinesis AWS Step Functions Additional targets イベント バス イベントバスが イベントを受け付ける Amazon EventBridge
  10. 10. © 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon EventBridge AWS services Custom events SaaS apps Event source SaaS event bus Custom event bus Default event bus Rules AWS Lambda Amazon Kinesis AWS Step Functions Additional targets 後続処理に送信するイベントを 選択する Amazon EventBridge
  11. 11. © 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon EventBridge AWS services Custom events SaaS apps Event source SaaS event bus Custom event bus Default event bus Rules AWS Lambda Amazon Kinesis AWS Step Functions Additional targets Example event: { "detail-type": "Ticket Created", "source": "aws.partner/example.com/123", "detail": { "ticketId": ”987654321", "department": "billing", "creator": "user12345" ... } }
  12. 12. © 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon EventBridge AWS services Custom events SaaS apps Event source SaaS event bus Custom event bus Default event bus Rules AWS Lambda Amazon Kinesis AWS Step Functions Additional targets Example event: { "detail-type": "Ticket Created", "source": "aws.partner/example.com/123", "detail": { "ticketId": ”987654321", "department": "billing", "creator": "user12345" ... } } Example rule: { "source": ["aws.partner/example.com/123"] }
  13. 13. © 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon EventBridge AWS services Custom events SaaS apps Event source SaaS event bus Custom event bus Default event bus Rules AWS Lambda Amazon Kinesis AWS Step Functions Additional targets Example event: { "detail-type": "Ticket Created", "source": "aws.partner/example.com/123", "detail": { "ticketId": ”987654321", "department": "billing", "creator": "user12345" ... } } Example rule: { "detail": { "department": ["billing", "fulfillment"] } }
  14. 14. © 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon EventBridge AWS services Custom events SaaS apps Event source SaaS event bus Custom event bus Default event bus Rules AWS Lambda Amazon Kinesis AWS Step Functions Additional targets ターゲットターゲットにイベントが送信され、各 サービスでイベントが処理される Amazon EventBridge
  15. 15. © 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Serverless の影の主役 15 Event SaaS& よくある課題 • SaaS との連携の作り込み • 利用するSaaSが増えていく • 連携のためのクレデンシャル管理 よくある課題 • Event の取り扱い、管理どうする? • Event 毎のスキーマの取り扱い
  16. 16. © 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Serverless の影の主役 16 Event SaaS& • SaaS との連携の作り込み • 利用するSaaSが増えていく • 連携のためのクレデンシャル管理 よくある課題 • Event の取り扱い、管理どうする? • Event 毎のスキーマの取り扱い よくある課題
  17. 17. © 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved. SaaS とアプリケーションを連携させたい AWS Cloud ?
  18. 18. © 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved. 1.Polling AWS Cloud
  19. 19. © 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved. 1.Polling AWS Cloud SaaS のAPIへの対応 - 認証方式 - 仕様変更 - マルチテナントの制約
  20. 20. © 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved. 1.Polling AWS Cloud SaaS のAPIへの対応 - 認証方式 - 仕様変更 - マルチテナントの制約 SaaS のAPIが返すデータが 大きくなった場合は?
  21. 21. © 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved. 1.Polling AWS Cloud SaaS のAPIへの対応 - 認証方式 - 仕様変更 - マルチテナントの制約 SaaS のAPIが返すデータが 大きくなった場合は? 連携対象のSaaS が増えるた びに、増えていく
  22. 22. © 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved. 2.SaaS web hooks AWS Cloud
  23. 23. © 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved. 2.SaaS web hooks AWS Cloud (多くの場合)インターネットへ の公開が必要 認証方式の検討/実装
  24. 24. © 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved. 2.SaaS web hooks AWS Cloud (多くの場合)インターネットへ の公開が必要 認証方式の検討/実装 可用性の担保 失敗した場合、SaaS 側のリト ライは??
  25. 25. © 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved. 2.SaaS web hooks AWS Cloud (多くの場合)インターネットへ の公開が必要 認証方式の検討/実装 可用性の担保 失敗した場合、SaaS 側のリト ライは?? SaaS 側の仕様変更への 対応は?
  26. 26. © 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved. 3.Event Driven AWS Cloud Amazon EventBridge EventEvent Event
  27. 27. © 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved. 3.Event Driven AWS Cloud Amazon EventBridge EventEvent Event SaaS との認証情報 の交換不要
  28. 28. © 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved. 3.Event Driven AWS Cloud Amazon EventBridge EventEvent Event SaaS との認証情報 の交換不要 インターネットへの公開不要 可用性はAWS に任せる
  29. 29. © 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved. 3.Event Driven AWS Cloud Amazon EventBridge EventEvent Event SaaS との認証情報 の交換不要 SaaS が増えても インターフェース変更不要 インターネットへの公開不要 可用性はAWS に任せる
  30. 30. © 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved. EventBridgeを使用したSaaSイベントソースの 始め方 Your account – 111111111111 SaaS partner account SaaS appConsole AWS account ID 111111111111 AWS Region us-east-1
  31. 31. © 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved. EventBridgeを使用したSaaSイベントソースの 始め方 Your account – 111111111111 SaaS partner account SaaS appConsole
  32. 32. © 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved. EventBridgeを使用したSaaSイベントソースの 始め方 Your account – 111111111111 SaaS partner account SaaS appConsole
  33. 33. © 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Demo1 33
  34. 34. © 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Serverless の影の主役 34 Event SaaS& よくある課題 • SaaS との連携の作り込み • 利用するSaaSが増えていく • 連携のためのクレデンシャル管理 よくある課題 • Event の取り扱い、管理どうする? • Event 毎のスキーマの取り扱い
  35. 35. © 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Serverless の影の主役 35 Event SaaS& よくある課題 • SaaS との連携の作り込み • 利用するSaaSが増えていく • 連携のためのクレデンシャル管理 よくある課題 • Event の取り扱い、管理どうする? • Event 毎のスキーマの取り扱い
  36. 36. © 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Schema Registry & Schema Discovery  Schema Registry - EventBridge (CloudWatch Events) でやり取りされ る様々なデータのスキーマを、コンソールからまとめて公開  (例) EC2 インスタンスの状態変化通知のスキーマ プロパティの一覧とそれぞれ の型 (String や独自の型など) 独自の型の定義も 確認できる
  37. 37. © 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Schema Registry & Schema Discovery 37  Schema Discovery - EventBridge へ送信されたイベントからスキーマ 情報を自動生成可  (例) MongoDB Atlas (MongoDB 社にて提供されるマネージドサービス) へデー タの CRUD 処理が行われた場合のスキーマわれた場合のスキーマ プロパティの一覧とそれぞれの型 (String や独自の型など) AWS のサービスと全く同じ 形で、パートナーから送信 されるデータやカスタムイ ベントのスキーマも確認で きる
  38. 38. © 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Schema Registry & Schema Discovery  Code Bindings – スキーマ定義を言語ごとにダウンロード可能  2020 年 1 月時点で Java 8+、Python 3.6+、TypeScript 3+ に対応  アプリケーション開発の際に、ダウンロードしたスキーマ定義をインポートして おくことで、コード補完やコンパイル時のエラー検出に役立てることができる
  39. 39. © 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Demo2
  40. 40. © 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Event と SaaS が主役になる未来 Amazon EventBridge
  41. 41. © 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved. もっと詳しくはBlackbelt をご覧ください 41
  42. 42. © 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved. 42 https://amzn.to/37fHkni
  43. 43. © 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved. まとめ Event Bridge を使うことで • Event の取り扱いをより簡単、柔軟に • SaaS との連携もEvent Driven に Schema Registry & Schema Discovery で • Event のスキーマを一元管理 • Code Bindingで開発も容易に → Event と SaaS と仲良くなってより良いServerless Lifeを!! 43
  44. 44. © 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved.

×