Auswählen der richtigen Integrations- und Automatisierungsdienste in Azure

In diesem Artikel werden die folgenden Microsoft Cloud Services miteinander verglichen:

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.

Wenn Sie sich einen allgemeineren Vergleich zwischen Azure Functions und anderen Azure-Computeoptionen wünschen, lesen Sie die Artikel Kriterien für die Auswahl einer Azure-Compute-Option und Auswählen einer Azure-Computeoption für Microservices.

Eine gute Zusammenfassung und einen Vergleich der Automatisierungsdienstoptionen in Azure finden Sie unter Auswählen der Automatisierungsdienste in Azure.

Vergleich zwischen Microsoft Power Automate und Azure Logic Apps

Power Automate und Logic Apps sind Integrationsdienste nach dem Designer First-Prinzip, die Workflows erstellen können. Beide Dienste können in verschiedene SaaS- und Unternehmensanwendungen integriert werden.

Power Automate basiert auf Logic Apps. Es werden jeweils die gleichen Workflow-Designer und Connectors verwendet.

Mit Power Automate kann jeder Büromitarbeiter einfache Integrationen (etwa eines Genehmigungsprozesses in einer SharePoint-Dokumentbibliothek) durchführen, ohne sich an einen Entwickler oder an die IT-Abteilung wenden zu müssen. Mit Logic Apps sind auch erweiterte Integrationen (beispielsweise B2B-Prozesse) möglich, die Azure DevOps und Sicherheitsvorkehrungen auf Unternehmensebene erfordern. In der Regel werden Geschäftsworkflows im Laufe der Zeit immer komplexer.

Anhand der folgenden Tabelle können Sie ermitteln, ob Power Automate oder Logic Apps für eine bestimmte Integration besser geeignet ist:

Power Automate Logic Apps
Benutzer Büroangestellte, geschäftliche Benutzer, SharePoint-Administratoren Professionelle Integratoren und Entwickler, IT-Experten
Szenarios Self-Service Erweiterte Integrationen
Designtool Im Browser und in der mobilen App, nur über die Benutzeroberfläche Im Browser, Visual Studio Code und Visual Studio mit Codeansicht verfügbar
Application Lifecycle Management (ALM) Entwerfen und Testen in produktionsfremden Umgebungen und anschließendes Überführen in die Produktionsumgebung Azure DevOps: Quellcodeverwaltung, Tests, Support, Automatisierung und Verwaltung in Azure Resource Manager
Administratoroberfläche Verwalten von Power Automate-Umgebungen und Richtlinien zur Verhinderung von Datenverlust (Data Loss Prevention, DLP), Nachverfolgen der Lizenzierung: Admin Center Verwalten von Ressourcengruppen, Verbindungen, Zugriffsverwaltung und Protokollierung: Azure portal
Security Microsoft 365-Sicherheitsüberwachungsprotokolle, DLP, Verschlüsselung ruhender Daten für sensible Daten Sicherheitsgarantie von Azure: Azure Security, Microsoft Defender für Cloud, Überwachungsprotokolle

Vergleich zwischen Azure Functions und Azure Logic Apps

Functions und Logic Apps sind Azure-Dienste, die die Verwendung serverloser Workloads ermöglichen. Azure Functions ist ein serverloser Computedienst, während Azure Logic Apps serverlose Workflows bereitstellt. Beide können komplexe Orchestrierungen erstellen. Eine Orchestrierung ist eine Sammlung von Funktionen oder Schritten (in Logic Apps Aktionen genannt), die für eine komplexe Aufgabe ausgeführt werden. 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 Logic Apps erstellen Sie Orchestrierungen über die grafische Benutzeroberfläche oder durch Bearbeiten von Konfigurationsdateien.

In einer Orchestrierung können die Dienste nach Belieben miteinander kombiniert werden. Sie können also Funktionen in Logik-Apps aufrufen und umgekehrt. 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:

Langlebige Funktionen Logic Apps
Entwicklung Code First (imperativ) Designer First (deklarativ)
Konnektivität Etwa ein Dutzend integrierte Bindungstypen. Schreiben Sie Code für benutzerdefinierte Bindungen. Umfangreiche Sammlung von Connectors, Enterprise Integration Pack für B2B-Szenarien, Erstellen von benutzerdefinierten Connectors
Aktionen Jede Aktivität ist eine Azure-Funktion. Schreiben Sie Code für Aktivitätsfunktionen. Umfangreiche Sammlung vorgefertigter Aktionen
Überwachung Azure Application Insights Azure-Portal, Azure Monitor-Protokolle, Microsoft Defender für Cloud
Verwaltung REST-API, Visual Studio Azure-Portal, REST-API, PowerShell, Visual Studio
Ausführungskontext Kann lokal oder in der Cloud ausgeführt werden Kann nur in der Cloud ausgeführt werden

Vergleich von Functions und WebJobs

Wie bei Azure Functions auch, handelt es sich bei WebJobs in Azure App Service um einen Code-First-Integrationsdienst, der für Entwickler konzipiert ist. Beide Dienste basieren auf Azure App Service und unterstützen Features wie Integration der Quellcodeverwaltung, Authentifizierung und Überwachung per Application Insights-Integration.

WebJobs und das WebJobs SDK

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:

Functions WebJobs mit WebJobs SDK
Serverloses App-Modell mit automatischer Skalierung
Entwicklung und Tests im Browser
Nutzungsbasierte Bezahlung
Integration in Logic Apps
Auslösende Ereignisse Zeitgeber
Azure Storage-Warteschlangen und -Blobs
Azure Service Bus-Warteschlangen und -Themen
Azure Cosmos DB
Azure Event Hubs
HTTP/WebHook (GitHub, Slack)
Azure Event Grid
Zeitgeber
Azure Storage-Warteschlangen und -Blobs
Azure Service Bus-Warteschlangen und -Themen
Azure Cosmos DB
Azure Event Hubs
Dateisystem
Unterstützte Sprachen C#
F#
JavaScript
Java
Python
PowerShell
C#1
Paket-Manager NPM und NuGet NuGet2

1 Für WebJobs (ohne WebJobs SDK) werden C#, Java, JavaScript, Bash, .cmd, .bat, PowerShell, PHP, TypeScript, Python und mehr unterstützt. Diese Liste ist nicht vollständig. 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.

Hier sind zwei Szenarien angegeben, für die WebJobs die beste Wahl sein kann:

  • 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. Es kann sein, dass bei Ihnen eine Anforderung besteht, die nicht mit einer Zeichenfolge in einer JSON-Datei angegeben werden kann. 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 Codeausschnitte für die Integration in Azure-Dienste oder Drittanbieterdienste 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 ebenso gut ineinander integrieren wie in externe Dienste.

Ein Datenfluss kann eine Logik-App aufrufen. Eine Logik-App kann eine Funktion aufrufen, und eine Funktion kann eine Logik-App aufrufen. Informationen hierzu finden Sie beispielsweise unter Erstellen einer Funktion, die in Azure Logic Apps integriert ist.

Die Integration zwischen Power Automate, Logic Apps und Functions wird kontinuierlich weiter verbessert. Sie können etwas in einem Dienst erstellen und in den anderen Diensten verwenden.

Weitere Informationen zu Integrationsdiensten finden Sie unter den folgenden Links:

Nächste Schritte

Beginnen Sie, indem Sie Ihre erste Flow-, Logic Apps- oder Functions-App erstellen. Wählen Sie einen der folgenden Links aus: