Azure Event Hubs の一般提供開始を発表
このポストは、11 月 5 日に投稿された Announcing Azure Event Hubs General Availability の翻訳です。
複数の異なるソースから取得した膨大な量のテレメトリ データを安全かつ信頼性の高い方法で収集することは、最新のインタラクティブなアダプティブ エクスペリエンスや、画期的なコンシューマー向けおよび企業向けの製品、サービスの多くにおいて必要不可欠です。
今後数年以内には、新規販売される自動車の大部分に、運転者を支援する機能や車両の信頼性と安全性に関する機能が搭載されると見られています。これらの機能は、走行中の車両から収集された情報を基に得られたインサイトによって実現されます。工業生産、エネルギーおよび自然資源管理、医療、都市公共施設の分野における多くの革新的なアイデアや、交通および輸送管理インフラストラクチャは、非常に多くのさまざまなソースからほぼリアルタイムでデータを取得し、関連付けることで成り立っています。テレビ業界では、リアルタイムの視聴者参加型番組が人気を博しており、プロデューサーは参加の度合いを深めたいと考えています。ゲーム業界では、多人数同時参加型ゲームにますます優れたエクスペリエンスを提供するため、限界に挑んでいます。
これらのシナリオに共通するのは、データ取得に関して非常に大きな課題が伴うという点です。データを取得する際には、非常に高いスループット率を維持することか、大量のクライアントを同時に処理することか、またはその両方が求められます。たとえば、生放送の人気テレビ番組では、数百万人の視聴者が同時に投票ボタンを押し、数秒以内には集計結果を提示する必要があります。また、ヨーロッパ、アメリカ東海岸、アジアの主要な大都市で、ラッシュ アワーにリアルタイムで車両からテレメトリを取得するには、自動車メーカーによって構築されたシステムが従来処理してきたデータをはるかに超える規模に対応しなくてはなりません。
Event Hubs は、Microsoft Azure Service Bus の商用の新機能で、上記をはじめとした多数のシナリオにサービスとしてのプラットフォーム (PaaS) ソリューションを提供します。Event Hubs を利用することで、何十万もの同時接続クライアントから 1 GB/秒以上の累積スループットでテレメトリを取得するシナリオを実現することができます。そのうえ、スケールアウトや信頼性といった難題にもすべてサービスが対処します。
Event Hubs は、Azure 管理ポータルまたは Management API を利用して簡単に作成することが可能で、追加のセットアップや管理、メンテナンスを必要とせず、瞬時に利用可能になります。
Event Hubs の各イベント ハブは、セルフサービスではパーティション数を 8 ~ 32 に設定することができます。これにより、バックエンド システムに並行して同時にイベントを送出することも、システムに高スループットで送信を行うこともできます。スループットのクォータは「スループット ユニット」によって決定されます。1 スループット ユニットごとに、1 MB/秒の送信処理 (Event Hubs に送信される処理、最大 1,000 件) と 2 MB/秒の読み取り処理 (Event Hubs から送出される処理) が可能です。スループット ユニットは、管理ポータルを利用して Event Hubs の名前空間にいつでも追加 (または削除) することができ、時間単位で課金されます。セルフサービスでは最大パーティション数 32、最大スループット ユニット数 20 の制限が適用されますが、Microsoft Azure 製品サポートにご連絡いただくことで上限を引き上げることができます。
イベントは、ネットワークに接続されたほぼすべてのデバイスからイベント ハブに直接送信されます。これには、プレーン テキスト形式の HTTPS 要求または ISO/IEC 標準の AMQP 1.0 プロトコルが利用されます。いずれも効果的かつシンプルなセキュリティ モデルを実装し、送信者単位でアクセスを制御できますが、送信者単位でアカウントを管理する必要はありません。
イベントの送出には、大多数のオペレーティング システム、ランタイム、プログラミング言語でサポートされている AMQP 1.0 プロトコルが利用され、詳細に調整可能なフロー制御により優れた効率性と信頼性を実現します。一般的なキューまたはパブリッシュ/サブスクライブ型のシステムとは異なり、読み取りオフセットはクライアントによって制御および処理され、イベントの処理および再処理を厳密に管理することができます。このときのデータの保持期間は、セルフサービスの設定では最大 7 日間で、Azure サポートにご連絡いただくことで最大 30 日間に延長できます。また、複数のイベント ストリームから時間相関のある送出も可能です。
Event Hubs は一般的に大規模な常時接続型の分散システム インフラストラクチャで採用されるため、同時実行コンシューマーに対する外部のリーダー選出およびフェールオーバー戦略を明示的にサポートします。また、.NET 開発者向けに、使いやすい標準実装のスケールアウト対応コンシューマー API を提供しており、近日中には Twitter Storm の Spout として Java 向けにも提供する予定です。
Microsoft Azure の Event Hubs は、お客様から寄せられたご要望やフィードバックを直接受けて実現されました。ぜひ今すぐにお試しいただき、製品の使用感や実現したいシナリオについてご意見をお聞かせください。
—Microsoft Azure Service Bus チーム