Im Artikel „Integration in der Cloud – Ein Serverless Ansatz“ haben wir Serverless Integrationsansätze für die Cloud vorgestellt, die wir gerne noch einmal technisch betrachten wollen. In diesem Artikel wollen wir uns dabei auf Microsoft Azure beziehen. Mit dem vorgestellten Ansatz „Trigger, Integration Logic, Target“ werden im folgenden ausgewählte Technologien für Integrationsansätze in der Azure Cloud vorgestellt.
Trigger
Trigger sind für den Start eines Integrationsprozesses verantwortlich. Hier kommen alle Dienste in Frage, die ein Ereignis übermitteln oder auslösen. Für Integrationsplattformen auf Basis von Azure Technologie sind daher insbesondere folgende Services interessant.
Servicebus
Der Servicebus ist ein klassischer Messaging Layer, der mittels Queues und Topics Daten an Clients übermittelt. Mit dem Servicebus lassen sich Konzepte aus dem Bereich der Message-oriented Middleware oder den Enterprise Integration Patterns umsetzen.
Event Grid
Das Event Grid nutzt ebenfalls Events aus Apps und anderen Diensten, um Berechnungslogiken zu starten. Hierbei wird ein Publish-Subscribe Modell genutzt, sodass über Topics Daten zwischen Applikationen ausgetauscht werden können. Der Unterschied zum Servicebus ist vor allem die Größe des Event Grids. Das Event Grid wird für reaktive Systeme empfohlen.
Event Hub
Der Event Hub ist vor allem für die Integration von Millionen von Geräten empfohlen, zum Beispiel für mobile oder IoT Kontexte, und kann Millionen von Ereignisse pro Sekunde verarbeiten. Dieser Service bietet sich vor allem dann an, wenn eingehende Events analysiert werden sollen und Prinzipien aus dem Fast Data zum Einsatz kommen.
API Management
Das API Management ist für die Erstellung und Verwaltung von Schnittstellen in Azure relevant. Hier können REST basierte Schnittstellen erstellt werden, die dann Anfragen an Backing Services weiterrouten.
Scheduler
Der Scheduler Service kann zum Starten von zeitgesteuerten Jobs verwendet werden. Dabei können Nachrichten in Queues, Topics und über Http versendet, aber auch direkt Logik ausgeführt.
Integration Logic
Die Logik Schicht ist eine Kombination aus Orchestrierung, Transformation und Rerouting. Es finden Ü„nderungen auf dem ursprünglichen Payload statt, bis schließlich das Zielsystem oder die Zielfunktion erreicht wird.
Logic Apps
Logic Apps dienen der einfachen Orchestrierung. Dabei können sowohl Azure Functions, externe Systeme über Konnektoren als auch Aufrufe an weitere Azure Services ausgeführt werden. Einfache Kontrollflüsse lassen sich graphisch erstellen, die dann die Orchestrierung durchführen.
Azure Functions
Über Azure Functions lassen sich Funktionen, also ausprogrammierte Logik, abbilden. Über Functions hat man alle Freiheiten einer Programmiersprache, um eine Funktion, ein kleines Programm, zu realisieren, das dann aus anderen Bausteinen oder manuell aufgerufen werden kann. Im Kontext der Integration lassen sich über Functions Mappings, Transformationen oder Payload-Anreicherungen und Filterungen realisieren, aber auch Partnersysteme aufrufen.
Ziel
Das Ziel beendet typischerweise einen Integrationsprozess. Ziele können Partnersysteme oder aber weitere Logik sein, für die der Payload adaptiert wurde. In Request/Reply Patterns ist das Zielsystem das aufrufende System. Im Grunde genommen kommen hier alle Services in Betracht, wie Mailing, externe Partnersysteme und Datenbanken.
Im Sinne einer Serverless Architektur werden zum Großteil Azure Functions eingesetzt, um, zum Beispiel, externe Systeme aufzurufen.
Man sieht „“ die Azure Plattform bietet viel Potential um neue Integrationsansätze zu realisieren. Ein Blick auf Azure lohnt sich.