Mit allen diesen Diensten können Integrationsprobleme gelöst und Geschäftsprozesse automatisiert werden. Jeder der Dienste kann Eingaben, Aktionen, Bedingungen und Ausgaben definieren. Sie können die Dienste individuell nach einem Zeitplan oder auslöserbasiert ausführen. Jeder Dienst hat seine eigenen Vorteile. In diesem Artikel werden die Unterschiede beschrieben.
Hinweis
Einen allgemeineren Vergleich zwischen Azure Functions und anderen Azure Compute-Optionen finden Sie in den folgenden Artikeln:
Vergleich von Azure Logic Apps und Microsoft Power Automate
Diese Dienste sind Integrationsplattformen nach dem Designer First-Prinzip, mit denen Sie automatisierte Workflows erstellen und ausführen können. Beide Plattformen bieten Integrationen mit verschiedenen SaaS- (Software-as-a-Service) und Unternehmensanwendungen. Beide stellen ähnliche Workflow-Designer bereit und auch bei ihren Connectors gibt es Überschneidungen, aber jede Plattform bietet auch eigene Connectors an.
Power Automate ermöglicht Geschäftsbenutzenden, Büromitarbeitenden und Personen, die privat programmieren, einfache Integrationen zu erstellen, ohne mit einer IT- oder Entwicklungsabteilung zusammenarbeiten oder Code schreiben zu müssen. Ein Beispiel ist ein Genehmigungsworkflow für eine SharePoint-Dokumentbibliothek. Azure Logic Apps unterstützt Integrationen in Szenarien mit wenig oder gar keinem Code bis hin zu komplexen Workflows mit viel Code. Beispiele sind B2B-Prozesse oder Szenarien, die Interaktionen auf Unternehmensebene mit Azure DevOps erfordern. Ein einfacher Geschäftsworkflow kann im Lauf der Zeit auch immer komplexer werden.
Wenn Sie wissen möchten, ob Sie für eine bestimmte Integration besser Azure Logic Apps oder Power Automate verwenden sollten, finden Sie in der Tabelle Funktionsvergleich.
Vergleich zwischen Azure Functions und Azure Logic Apps
Mit diesen Azure-Diensten können Sie serverlose Workloads erstellen und ausführen. Azure Functions ist ein serverloser Computedienst, während Azure Logic Apps eine serverlose Integrationsplattform für Workflows ist. Beide können komplexe Orchestrierungen erstellen. Eine Orchestrierung ist eine Sammlung von Funktionen, die in Azure Logic Apps als Aktionen bezeichnet werden und die Sie zur Durchführung einer komplexen Aufgabe ausführen können. Zur Verarbeitung einer Reihe von Aufträgen können Sie beispielsweise mehrere Instanzen einer Funktion parallel ausführen, auf die Beendigung aller Instanzen warten und anschließend eine Funktion ausführen, die ein Ergebnis für das Aggregat berechnet.
Für Azure Functions entwickeln Sie Orchestrierungen, indem Sie Code schreiben und die Erweiterung „Durable Functions“ verwenden. Für Azure Logic Apps erstellen Sie Orchestrierungen mithilfe eines visuellen Designers oder durch Bearbeiten von Azure Resource Manager-Vorlagen.
Beim Erstellen einer Orchestrierung können Sie Dienste beliebig kombinieren und aufeinander abstimmen. Sie können z. B. Funktionen aus Logik-App-Workflows und Logik-App-Workflows aus Funktionen aufrufen. Bei der Erstellung der jeweiligen Orchestrierung können Sie sich an den Funktionen der Dienste oder an Ihren persönlichen Präferenzen orientieren. Die folgende Tabelle enthält einige der wichtigsten Unterschiede zwischen diesen Diensten:
Kann in Azure, lokal in Visual Studio Code oder in teilweise verbundenen Umgebungen ausgeführt werden. Weitere Informationen finden Sie unter Was ist Azure Logic Apps?.
Mit dem Feature WebJobs von App Service können Sie ein Skript oder Code im Kontext einer App Service-Web-App ausführen. Das WebJobs SDK ist ein für WebJobs entwickeltes Framework, mit dem der Code vereinfacht wird, den Sie als Reaktion auf Ereignisse in Azure-Diensten schreiben. Beispielsweise können Sie auf die Erstellung eines Bildblobs in Azure Storage mit der Erstellung eines Miniaturbilds reagieren. Das WebJobs SDK wird als .NET-Konsolenanwendung ausgeführt, die Sie in einem WebJob bereitstellen können.
WebJobs und das WebJobs SDK funktionieren am besten zusammen, aber Sie können auch WebJobs ohne das WebJobs SDK (und umgekehrt) verwenden. Ein WebJob kann ein beliebiges Programm oder Skript ausführen, das in der App Service-Sandbox ausgeführt wird. Eine WebJobs SDK-Konsolenanwendung kann überall dort ausgeführt werden, wo eine Konsolenanwendungen ausgeführt wird (beispielsweise auf lokalen Servern).
Vergleichstabelle
Azure Functions basiert auf dem WebJobs SDK und verfügt daher über viele gleiche Ereignisauslöser und Verbindungen mit anderen Azure-Diensten. Im Anschluss sind einige Faktoren aufgeführt, die Sie berücksichtigen sollten, wenn Sie sich zwischen Azure Functions und WebJobs mit dem WebJobs SDK entscheiden:
1 WebJobs (ohne das WebJobs SDK) unterstützt Sprachen wie C#, Java, JavaScript, Bash, .cmd, .bat, PowerShell, PHP, TypeScript, Python und mehr. Ein WebJob kann ein beliebiges Programm oder Skript ausführen, für das die Ausführung in der App Service-Sandbox möglich ist.
2 Für WebJobs (ohne WebJobs SDK) werden npm und NuGet unterstützt.
Zusammenfassung
Azure Functions bietet im Vergleich zu WebJobs in Azure App Service eine höhere Entwicklerproduktivität. Darüber hinaus stehen mehr Optionen bei Programmiersprachen, Entwicklungsumgebungen, Azure-Dienstintegration und Preisen zur Verfügung. Für die meisten Szenarien ist dies die beste Wahl.
In den folgenden beiden Szenarien sind WebJobs möglicherweise die beste Wahl:
Sie benötigen mehr Kontrolle über den Code, mit dem auf Ereignisse gelauscht wird (JobHost-Objekt). Functions verfügt über eine begrenzte Anzahl von Optionen zum Anpassen des JobHost-Verhaltens in der Datei JobHost. Manchmal müssen Sie Aufgaben ausführen, die Sie nicht mithilfe einer Zeichenfolge in einer JSON-Datei angeben können. Beispielsweise können Sie nur mit dem WebJobs SDK eine benutzerdefinierte Wiederholungsrichtlinie für Azure Storage konfigurieren.
Sie verfügen über eine App Service-App, für die Sie Codeausschnitte ausführen und diese gemeinsam in der gleichen Azure DevOps-Umgebung verwalten möchten.
Wählen Sie Azure Functions anstelle von WebJobs mit dem WebJobs SDK für andere Szenarien, in denen Sie Codeschnipsel für die Integration mit Azure-Diensten oder externen Diensten ausführen möchten.
Kombinieren von Power Automate, Logic Apps, Functions und WebJobs
Sie müssen sich nicht für einen dieser Dienste entscheiden. Sie lassen sich gut untereinander und in externe Dienste integrieren.
Ein Power Automate-Flow kann einen Azure Logic Apps-Workflow aufrufen. Ein Azure Logic Apps-Workflow kann eine Funktion in Azure Functions aufrufen und umgekehrt. Informationen hierzu finden Sie beispielsweise unter Erstellen einer Funktion, die in Azure Logic Apps integriert ist.
Die Integrationserfahrung zwischen den Diensten Power Automate, Azure Logic Apps und Functions wird weiterhin verbessert. Sie können eine Komponente in einem Dienst erstellen und diese Komponente dann in den anderen Diensten verwenden.
Weitere Informationen zu Integrationsdiensten finden Sie in den folgenden Artikeln:
Dieser Lernpfad stellt Azure Logic Apps vor und erläutert, wie Sie Geschäftsprozesse automatisieren, indem Sie Integrationsworkflows in Azure Cloud erstellen und ausführen.