最近、Amazonは、Amazon EventBridgeサービスのSchema Registry機能の一般向け提供を発表した。Amazon EventBridge Schema Registryを使用すると、開発者はイベント構造(またはスキーマ)を共有の中央のロケーションに保存し、それらのスキーマをJava、Python、Typescriptのコードにマップできる。ゆえに、開発者はイベントをコード内のオブジェクトとして使用できる。
Amazon EventBridgeは、AWSサービスであるSoftware-as-a-Service(SaaS)およびカスタムアプリケーションが、イベントを使って相互に通信できるようにするサーバーレスイベントバスである。このサービスは昨年7月から一般向けに提供されている。そして、スキーマレジストリの新機能がre:Invent 2019のときにプレビューで発表され、現在一般向けに提供されている。
EventBridge Schema Registryを使用すると、開発者はEventBridge上のイベントのOpenAPIスキーマを検出、作成、管理できる。ドキュメントによると、既存のAWSサービスのスキーマを検索したり、カスタムスキーマを作成してアップロードしたり、イベントバス上のイベントに基づいてスキーマを生成したりできる。さらに、EventBridgeのすべてのスキーマを使用して、開発者はコードバインディングを生成およびダウンロードして、これらのイベントを使用するアプリケーションをすばやく構築できる。
GAリリースでは、Amazonはスキーマレジストリリソースポリシーのサポートも導入している。それによって、企業はさまざまなAWSアカウントや組織間でスキーマリポジトリを共有できるようになる。ポリシーによって、別のチームが共有レジストリに追加したスキーマを共有、検索、使用するという利点を、さまざまなチームの開発者が享受できる。Amazon Web Servicesのチーフエバンジェリスト(EMEA)であるDanilo Poccia氏が、EventBridge Schema Registryに関するブログ投稿で次のように説明している。
各チームは、AWSアカウントを使ってアプリケーションを開発しています。EventBridgeを使って、チームは次のアーキテクチャを実装できます。
- フロントエンドのCreateAccountアプリケーションは、リクエストを処理するために、Amazon API Gatewayを使用する。リクエストは、Pythonで記述されたAWS Lambda関数を使用して処理される。新しいアカウントが作成されると、Lambda関数はカスタムイベントバスでACCOUNT_CREATEDイベントを公開する。
- バックエンドのFraudCheck Lambda関数はJavaで構築されている。それは、ACCOUNT_CREATEDイベントを受信し、偽のアカウントであるリスクを推定するためにAmazon Fraud Detectorを呼び出す。リスクが特定のしきい値を超える場合、Lambda関数はプリエンプティブアクションを実行する。たとえば、データベースでアカウントに偽物のフラグを付けたり、イベントバスにFAKE_ACCOUNTイベントを投稿したりできる。
ソース: https://aws.amazon.com/blogs/aws/new-amazon-eventbridge-schema-registry-is-now-generally-available/
スキーマレジストリを配置すると、AmazonのEventBridgeはサービスとしてさらに進化する。そして、同様のサービスを提供する他のベンダーに対してクラウドでの競争力のあるサービスとなる。MicrosoftはEventGridを提供しており、2018年の初めからGAとなっている。高度なフィルタリング、再試行ポリシー、CloudEventsのサポートなどのいくつかの更新があった。ただし、このサービスにはスキーマレジストリ機能がない。さらに、同じことがTriggermeshのEveryBridgeにも当てはまる。このイベントバスは、さまざまなソースからのイベントを消費できる。これを使用して、開発者は、オンプレミスだけでなく、主要なクラウドプロバイダーのいずれかで実行されているサーバーレス機能を開始できる。
TecAllianceのプラクティスリーダーエンタープライズアーキテクチャであるMarkus Wissing氏は、ツイートで次のように述べている。
スキーマレジストリは、イベントのデジタルイエローページのように機能します。私たちは、スキーマレジストリを@zendeskイベントを消費するために使いました。ソリューションは大幅に簡素化されました。
現在、EventBridgeスキーマレジストリは、Amazon EventBridgeと同じAWSリージョンで利用できる。さらに、Amazon EventBridgeの価格の詳細は、価格ページで入手できる。