Einfachere ereignisgesteuerte Architekturen mit den neuesten Updates für Event Grid

Veröffentlicht am 29 Mai, 2019

Program Manager, Event Grid

Ereignisgesteuerte Architekturen ersetzen immer mehr die abfragebasierten Systeme mit geringerer Dynamik. Gleichzeitig machen sie damit auch die Vorteile von serverlosem Computing für IoT-Szenarien, Datenverarbeitungsaufgaben oder Aufgaben zur Infrastrukturautomatisierung verfügbar. Für viele Unternehmen auf der ganzen Welt stellt der ereignisgesteuerte Ansatz die natürliche Weiterentwicklung von Microservices dar, mit dem sie bestehende Anwendungen um neue Funktionen erweitern oder in die Cloud verschieben und so tagtäglich noch leistungsstärkere und komplexere Szenarien umsetzen.

Wir freuen uns besonders, heute eine Reihe von Updates für Event Grid bekannt geben zu können, die noch mehr Leistung und noch modernere ereignisgesteuerte Anwendungen in der Cloud ermöglichen:

  • Public Preview von IoT Hub-Gerätetelemetrieereignissen
  • Public Preview von Service Bus als Ereignishandler
  • Automatische serverseitige georedundante Notfallwiederherstellung
  • Allgemeine Verfügbarkeit von Ereignisdomänen – jetzt mit bis zu 100.000 Themen pro Domäne
  • Public Preview der Unterstützung für Ereignisse mit 1 MB
  • APIs für die Listensuche und -paginierung
  • Allgemeine Verfügbarkeit erweiterter Filter mit höherer Filtertiefe

Erweiterte Integration in das Azure-Ökosystem

Eine der seit der Einführung der Integration von Azure IoT Hub mit Event Grid am häufigsten angefragten Funktionen stellen Gerätetelemetrieereignisse dar. Heute aktivieren wir diese Funktion endlich als Public Preview in allen öffentlichen Regionen mit Ausnahme von „USA, Osten“, „USA, Westen“ und „Europa, Westen“. Daher freuen wir uns besonders, dass Sie diese Funktion testen können, um noch bessere IoT-Lösungen für Ihr Unternehmen erstellen zu können.

Durch das Abonnieren von Gerätetelemetrieereignissen können Sie Daten Ihrer Geräte ganz einfach in Ihre Lösung integrieren. Dies schließt serverlose Anwendungen mit Azure Functions oder Azure Logic Apps ebenso ein wie andere Dienste, die Webhooks verwenden – unabhängig davon, ob sie Azure nutzen oder nicht. Dies vereinfacht die IoT-Architektur erheblich, da keine zusätzlichen Dienste mehr erforderlich sind, die Gerätetelemetrie zur weiteren Verarbeitung pullen.

Durch das Veröffentlichen von Gerätetelemetrieereignissen in Event Grid erweitert IoT Hub die Dienste, in denen Ihre Daten genutzt werden können, über die Endpunkte hinaus, die per Nachrichtenrouting erreicht werden können. So können Sie z. B. Downstreamworkflows automatisieren, indem Sie unterschiedliche Abonnements für Gerätetelemetrieereignisse verschiedener Gerätetypen erstellen. Diese können dann über das Gerätezwillingstag identifiziert werden und verschiedene Azure-Funktionen oder Anwendungen von Drittanbietern für gerätetypspezifische Berechnungen auslösen. Basierend auf Ihren Event Grid-Abonnements für Gerätetelemetrieereignisse wird in IoT Hub eine Standardroute erstellt, die für alle Ihre Event Grid-Abonnements für Gerätetelemetrie verwendet wird.

Weitere Informationen finden Sie in der Dokumentation zu IoT Hub-Gerätetelemetrie. Außerdem können Sie auch weiterhin Anregungen und Ideen über das User Voice-Forum für Azure IoT einreichen.

Darüber hinaus fügen wir Service Bus als Ereignishandler für Event Grid als Public Preview hinzu. Sie können also ab sofort Ihre Ereignisse in Event Grid direkt an Service Bus-Warteschlangen weiterleiten. Service Bus kann nun als Ereignisquelle oder Ereignishandler fungieren. Dies sorgt für eine stabilere Umgebung für die Übermittlung von Ereignissen und Nachrichten in verteilten Unternehmensanwendungen. Die Public Preview funktioniert nicht mit Service Bus-Themen und -Sitzungen, aber mit allen Ebenen von Service Bus-Warteschlangen.

Dies ermöglicht Befehls- und Steuerungsszenarien, in denen Sie Ereignisse von Aktivitäten anderer Dienste empfangen (z. B. Blob erstellt, Gerät erstellt oder Auftrag beendet) und zur weiteren Verarbeitung weiterleiten.

In der Dokumentation erfahren Sie mehr über Service Bus als Ziel.

Serverseitige georedundante Notfallwiederherstellung

Event Grid verfügt nun über eine integrierte automatische Notfallwiederherstellung mit Georeplikation (GeoDR) für Metadaten, die für alle bestehenden Domänen, Themen und Ereignisabonnements – nicht nur für neue – verwendet werden kann. Damit wird die Resilienz gegenüber Dienstunterbrechungen erheblich verbessert, während die gesamte Verwaltung über unsere Plattform erfolgt. Bei einem Ausfall einer kompletten Azure-Region hat der Event Grid-Dienst bereits alle Metadaten Ihrer Ereignisinfrastruktur mit einer gekoppelten Region synchronisiert, sodass Ihre neuen Ereignisse automatisch ohne Eingriff Ihrerseits und ohne Unterbrechung des Diensts übermittelt werden können.

Die Notfallwiederherstellung wird im Allgemeinen mit zwei Metriken spezifiziert:

Beim automatischen Failover von Event Grid gelten andere RPOs und RTOs für Ihre Metadaten (Ereignisabonnements usw.) und für Ihre Daten (Ereignisse). Wenn Sie andere Werte als die unten angegebenen benötigen, können Sie auch weiterhin ein eigenes clientseitiges Failover mithilfe von APIs für die Themenintegrität implementieren.

  • Metadaten-RPO: Null Minuten. Sie haben richtig gelesen. Wann immer eine Ressource in Event Grid erstellt wird, erfolgt eine sofortige Replikation zwischen den Regionen. Bei einem Failover gehen daher keine Metadaten verloren.
  • Metadaten-RTO: Auch wenn dies im Allgemeinen deutlich schneller geht, beginnt Event Grid innerhalb von 60 Minuten damit, Aufrufe für das Erstellen/Aktualisieren/Löschen von Themen und Abonnements zu akzeptieren.
  • Daten-RPO: Wenn Ihr System fehlerfrei ist und den bestehenden Datenverkehr bei einem regionalen Failover erfasst, beträgt das RPO für Ereignisse etwa 5 Minuten.
  • Daten-RTO: Wie bei Metadaten ist auch dies in der Regel deutlich schneller. Event Grid beginnt jedoch innerhalb von 60 Minuten damit, Datenverkehr nach einem regionalen Failover zu akzeptieren.

Und das Beste daran ist, dass die georedundante Notfallwiederherstellung von Metadaten in Event Grid kostenlos ist. Sie ist im derzeitigen Preis für den Dienst enthalten und verursacht daher keine Zusatzkosten.

Komplexe ereignisgesteuerte Workloads

Aufgrund der immer fortgeschritteneren Architekturen für verschiedenste Szenarien wie IoT, CRM oder das Finanzwesen ist uns bewusst geworden, dass wir unsere Funktionen auf mehrmandantenfähige Anwendungen und Workloads mit größeren Datenmengen bei einzelnen Ereignissen ausdehnen müssen.

Ereignisdomänen bieten Ihnen die Möglichkeit, Ihre gesamte Ereignisinfrastruktur unter einer Einheit zu organisieren. So können Sie präzise Authentifizierungsregeln für jedes Thema definieren, die festlegen, wer dieses abonnieren darf. Außerdem können Sie sämtliche Ereignisveröffentlichungen über einen einzigen Endpunkt verwalten. Klassische Pub/Sub-Architekturen basieren vollständig auf Themen und Abonnements. Wenn Sie jedoch komplexere ereignisgesteuerte Architekturen entwerfen möchten, wird die Verwaltung exponentiell aufwendiger. Ereignisdomänen vereinfachen die Verwaltung, da sie viele der Verwaltungsaufgaben übernehmen.

Wir freuen uns, heute die allgemeine Verfügbarkeit von Ereignisdomänen bekannt geben zu können, mit denen Sie 100.000 Themen pro Domäne verwalten können. Folgende Grenzwerte gelten zur allgemeinen Verfügbarkeit für Ereignisdomänen:

  • 100.000 Themen pro Ereignisdomäne
  • 100 Ereignisdomänen pro Azure-Abonnement
  • 500 Ereignisabonnements pro Thema innerhalb einer Ereignisdomäne
  • 50 Notfallereignisabonnements („Firehose“) im Geltungsbereich der Ereignisdomäne
  • 5.000 Ereignisse/s in einer Ereignisdomäne

Wie immer gilt: Wenn diese Limits für Sie nicht ausreichend sind, können Sie ein Supportticket erstellen oder eine E-Mail an askgrid@microsoft.com senden,

damit wir Ihre Kapazität erhöhen können.

Uns ich auch bekannt, dass 64 KB für ereignisgesteuerte Architekturen nicht immer ausreichen. Diese Workloads müssen, um die Architektur einfach zu halten, auch größere Ereignisse verarbeiten können. Aus diesem Grund führen wir heute auch die Public Preview von Ereignissen mit bis zu 1 MB ein.

Es sind keinerlei Konfigurationsänderungen erforderlich, und die neue Funktion kann direkt mit vorhandenen Ereignisabonnements verwendet werden. Alle Ereignisse unter 64 KB sind auch weiterhin durch die SLA zur allgemeinen Verfügbarkeit abgedeckt. Wenn Sie diese Funktion testen möchten, pushen Sie einfach größere Ereignisse. Beachten Sie aber, dass Ereignisse über 64 KB in Schritten von 64 KB abgerechnet werden und dass das Limit bei der Batchgröße für Ereignisse, die als JSON-Array an Event Grid gesendet werden, auch weiterhin 1 MB beträgt.

Vereinfachte Verwaltung von Ereignissen

Möglicherweise umfasst Ihr Azure-Abonnement Tausende von Ereignisabonnements oder ab der allgemeinen Verfügbarkeit von Ereignisdomänen Hunderttausende Themen. Zur Vereinfachung der Suche und Verwaltung dieser Ressourcen haben wir die APIs für die Listensuche und die Listenpaginierung in Event Grid eingeführt. Weitere Einzelheiten finden Sie in der Dokumentation zu Azure Event Grid.

Erweiterte Filter für das Weiterleiten von Nachrichten in Event Grid sind nun allgemein verfügbar, und es besteht keine Einschränkung für die Anzahl der geschachtelten Objekte in Ihrem JSON-Code. Dadurch können Sie die Ereignisse noch genauer filtern, bevor Sie sie zur Weiterverarbeitung an andere Dienste weiterleiten, und so die Rechenzeit und die benötigten Ressourcen verringern, da diese Filterung nicht an anderer Stelle ausgeführt werden muss.

Falls Sie die erweiterten Filter noch nicht ausprobiert haben: Sie können die folgenden Operatoren für ein beliebiges Feld im Ereignis verwenden. Damit sind die Möglichkeiten nahezu unbegrenzt: StringContains, StringBeginsWith, StringEndsWith, StringIn, StringNotIn, NumberGreaterThan, NumberGreaterThanOrEquals, NumberLessThan, NumberLessThanOrEquals, NumberIn, NumberNotIn, BoolEquals.

Jetzt einsteigen

Wie immer freuen wir uns über Ihre Anmerkungen, Ihr Feedback und Ihre Wünsche – und wenn Sie diese neuen Funktionen ausprobieren! Mit den folgenden Ressourcen können Sie direkt einsteigen.

  1. Wenn Sie noch kein Konto besitzen, erstellen Sie ein kostenloses Azure-Konto.
  2. Abonnieren Sie IoT Hub-Gerätetelemetrieereignisse mit Event Grid.
  3. Erfahren Sie mehr über die Verwendung von Service Bus als Ereignishandler.
  4. Erstellen Sie leistungsstarke mehrinstanzenfähige Anwendungen mit Ereignisdomänen.
  5. Führen Sie Suchvorgänge und die Paginierung über Tausende von Ereignissen mit diesen neuen APIs aus.
  6. Leiten Sie mit erweiterten Filtern nur die erforderlichen Ereignisse für die Verarbeitung weiter.