singkham - Fotolia
Was unterscheidet Azure Logic Apps von AWS Step Functions?
Entwickler können Microsoft Azure Logic Apps verwenden, um skalierbare Cloud-Workflows zu erstellen, bereitzustellen und zu verbinden. Ein Vergleich mit AWS Step Functions.
Microsoft Azure unterstützt vier Dienste zur Erstellung von Workflows und zur serverlosen Orchestrierung: Power Apps, Logic Apps, Durable Functions und Flow. Sie können alle als Service zur Erstellung von Workflows und zur serverlosen Orchestrierung verwenden.
Microsoft Azure Logic Apps ist ein gemanagter Cloud-Dienst, der in der Public Cloud ausgeführt wird und Benutzern hilft, skalierbare, Cloud-Integrationen und Workflows in Geschäftsprozesse einzuführen. Logic Apps ist als vollständig gemanagte Integration Platform as a Service (iPaaS) verfügbar und stellt dem Benutzer einen visuellen Designer zur Verfügung, mit dem er seine Geschäftsprozesse modellieren und Arbeitsabläufe entwerfen kann.
Microsoft bietet drei Entwicklungsmodelle für Logic Apps an. Sie können Anwendungen in Logic Apps über das Azure-Portal, in Visual Studio (ab Versionen nach 2015) oder in von Microsoft erstellten Vorlagen erstellen.
Wie funktioniert Azure Logic Apps?
Ein Logic Apps-Workflow beginnt mit einem Trigger, der jedes Mal ausgelöst wird, wenn ein Ereignis eintritt oder neue Daten verfügbar sind. Wenn die Anwendung diesen Trigger ausführt, erstellt die Logic Apps Engine eine Logic Apps-Instanz. Diese Instanz führt wiederum die Aktionen innerhalb eines Workflows aus. Diese Aktionen können bedingte Anweisungen, Schleifen und Verzweigungen beinhalten.
Nehmen wir zum Beispiel an, ein Trigger wird immer dann ausgelöst, wenn ein Datensatz zu einer Liste hinzugefügt wird. Wenn Logic Apps ein Ereignis erkennt, das dieses Kriterium erfüllt, löst der Trigger einen Workflow aus, die App nimmt Datenaktualisierungen vor und es kommt zu entsprechenden Verzweigungen. Der Workflow wird abgeschlossen, indem eine E-Mail-Benachrichtigung an den Listenmanager über die Datensatzaktualisierung gesendet wird.
Komponenten der Azure Logic Apps
Azure Logic Apps umfasst folgende Hauptkomponenten:
- Workflows. Dies ist das Produkt der Modellierung Ihrer Geschäftsprozesse mit dem visuellen Designer von Logic Apps.
- Verwaltete Konnektoren. Diese Komponente wird für die Verbindung und die Arbeit mit Daten verwendet. Verwenden Sie diese Komponente, um eine Verbindung zu einer Drittanbieteranwendung herzustellen, um deren Daten zu verwalten und mit ihnen zu arbeiten.
- Aktionen. Diese Komponente wird verwendet, um einen Schritt in einen Workflow darzustellen.
- Trigger. Diese Komponente wird verwendet, um eine neue Instanz eines Workflows zu initiieren und zu erstellen. Es gibt verschiedene Arten von Trigger:
- Poll Trigger. Ein Trigger, der in regelmäßigen Abständen einen Dienst abfragt, um nach neuen Daten zu suchen.
- Push Trigger. Ein Trigger, der auf neue Daten oder das Eintreten eines Ereignisses wartet und dann eine neue Instanz des Logic Apps-Workflows erstellt.
- Recurrence Trigger. Ein Trigger, der einen Logic Apps-Workflow nach einem vordefinierten Zeitplan instanziiert.
Warum sollte man Azure Logic Apps verwenden?
Logic Apps ermöglicht es Unternehmen, Legacy-Systeme schnell und einfach mit modernen Systemen zu verbinden. Es übernimmt auch das Hosting, die Verwaltung, die Überwachung und die Skalierbarkeit von Anwendungen auf Azure-Ressourcen, so dass sich Entwickler hauptsächlich auf die Geschäftslogik ihrer Anwendungen konzentrieren können. Entwickler können komplexe Geschäftsprozesse mit minimalem Entwicklungsaufwand konfigurieren und Anwendungen mit vordefinierten Workflows erstellen, die Teil der Logic Apps-Vorlagengalerie sind.
Ein weiterer Vorteil von Logic Apps ist, dass es keine Vorlaufkosten für die Einrichtung gibt. Das Preismodellfunktioniert auf einer Pay-per-Use-Basis, so dass die Benutzer nur für die von ihnen ausgeführten Aktionen bezahlt werden.
Eine typische Anwendung von Logic Apps ist die Überprüfung des Traffic zwischen zwei Orten nach einem Zeitplan. Sie können Logic Apps auch für die SaaS-Ereignisverarbeitung und die Integration von Cloud-Diensten verwenden.
Nachteile von Azure Logic Apps
Trotz der Vorteile, die Azure Logic Apps bietet, gibt es auch einige Nachteile:
- Der Designer zur Konfiguration der Aktionen sollte verbessert werden.
- Geschäftsprozesse sind mit der App schwer zu visualisieren.
- Es werden mehr Alarmierungsfunktionen benötigt.
- Workflows sind komplex zu konfigurieren.
Azure Logic Apps versus AWS Step Functions
AWS Step Functions, das AWS-Äquivalent zu Azure Logic Apps, ist ein serverloses Orchestrierungs-Tool, mit dem Entwickler mehrstufige Cloud-Anwendungs-Workflows über eine visuelle Schnittstelle für geschäftskritische Prozesse erstellen und verwalten können.
Hier sind einige Vergleichsbereiche zwischen AWS Step Functions und Azure Logic Apps.
Serverlose Workflows
Mit AWS Step Functions können Benutzer schnell mehrere AWS-Angebote zu serverlosen Workflows koordinieren. Sie können AWS Step Functions verwenden, um Workflows zu entwerfen und auszuführen und Aufgaben zu erstellen, die AWS Lambda verwenden.
Azure Logic Apps verfügt über eine vergleichbare Fähigkeit mit Azure Functions-Konnektoren, da es vorgefertigte Konnektoren enthält, die Daten zu und von Ihren Anwendungen schieben oder ziehen können. Azure Logic Apps und Azure Functions können zusammen für die Orchestrierung verwendet werden.
Deployment
AWS Lambda kann Quellcode nur über Zip-Pakete bereitstellen. Dies ist praktisch, bis eine Änderung erforderlich ist. Dann muss das gesamte Paket erneut bereitgestellt werden. Bei der Verwendung von Azure Functions gibt es mehr Auswahlmöglichkeiten. Sie können Azure Functions aus Zip-Paketen, GitHub, Atlassian Bitbucket oder einem externen Repository Ihrer Wahl bereitstellen.
Integration mit anderen Services
Im Gegensatz zu AWS Step Functions können Azure Logic Apps über Konnektoren mit verschiedenen Diensten sowohl in Azure- als auch in Nicht-Azure-Umgebungen integriert werden. Wenn einer der vielen verfügbaren Konnektoren den benötigten Dienst oder die API nicht unterstützt, können Sie einen eigenen Konnektor erstellen oder eine HTTP-Anfrage direkt an den Dienst stellen.
Kosten und Preismodelle
Azure Functions bietet mehr Flexibilität in Bezug auf Preismodelle, Unterstützung von Programmiersprachen, integrierte HTTP-Trigger und integrierte Continuous Delivery. Bei Azure Functions zahlen Benutzer nur für die verwendeten Ressourcen.
AWS Lambda verwendet ein Festpreismodell, das heißt man zahlt einen festen Preis für jede Million gestellter Anforderungen. Im Vergleich dazu werden die Preise für Azure Functions durch die Anzahl der Ausführungen bestimmt, während sich die Preise für AWS Lambda nach der Zeit richten, in der Ihr Code ausgeführt wird.
Programmiersprachen
Azure Functions und AWS Lambda unterstützen beide zahlreiche Sprachen und Laufzeiten. AWS Lambda unterstützt JavaScript, Java, Python, Go, C#, F#, PowerShell und Ruby, während Microsoft JavaScript-, Java-, Python-, C#- und F#-Code für die Erstellung von Azure Functions unterstützt.
Hosting-Pläne
Die einzige Möglichkeit, eine serverlose Funktion bei AWS bereitzustellen, ist die Bereitstellung in AWS Lambda, dem von AWS bereitgestellten serverlosen Funktionsservice. Die Azure Functions-Plattform hingegen unterstützt mehrere Hosting-Pläne für die Bereitstellung Ihrer Funktionen:
- einen App-Service-Plan
- ein vollständig verwalteter, nutzungsabhängiger Plan
- einen Premium-Plan
- einen Docker-Container
- eine Kubernetes-basierte ereignisgesteuerte Architektur
Azure Logic Apps versus Azure Functions
Während Azure Functions und Logic Apps beide unter das Dach der serverlosen Angebote von Microsoft fallen, gibt es deutliche Unterschiede zwischen beiden. Azure Functions ist ein serverloser Compute-Dienst, während Logic Apps einen serverlosen Workflow darstellt.
Bei Azure Functions löst das Ereignis den Code aus, bei Logic Apps löst das Ereignis den Workflow aus. Insgesamt ermöglicht Logic Apps serverlose Anwendungen zur Automatisierung und Orchestrierung von Geschäftsprozessen und Arbeitsabläufen.
Azure Logic Apps versus Microsoft Power Automate, Power Apps
Power Apps ist ein weiteres Cloud-Angebot von Microsoft, das eine Plattform bietet, auf der Geschäftsexperten Anwendungen erstellen können, ohne Code zu schreiben. Es ist ein leistungsstarkes Framework für schnelle Builds, aber Logic Apps ist die bessere Wahl, wenn Sie mehr Kontrolle über die Anwendungs-Workflows wünschen.
Azure Logic Apps hilft Entwicklern, Geschäftsprozesse schnell mit beliebigen Unternehmensdatenquellen wie ERP-Systemen und Data Warehouses zu verbinden.
Microsoft Power Automate ist eine vereinfachte Version von Logic Apps. Es handelt sich um ein SaaS-Angebot zur Automatisierung von Workflows, aber im Gegensatz zu Logic Apps haben Sie in Microsoft Power Automate keinen Zugriff auf den Quellcode. Das bedeutet, dass die Bereitstellungs- und Verwaltungsfunktionen von Logic Apps in Microsoft Power Automate abstrahiert sind und Mitarbeiter Workflows ohne Entwickler erstellen können.
Um den Ansatz zu wählen, der am besten zu Ihrem Unternehmen passt, sollten Sie sich Gedanken über den Benutzer machen und darüber, was er erreichen möchte.