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.

Hinweis

Allgemeinerer Vergleich zwischen Azure Functions und anderen Azure-Compute-Optionen:

Überblick und Vergleich der Automatisierungsdienstoptionen in Azure:

Vergleich zwischen Microsoft Power Automate und Azure Logic Apps

Power Automate und Azure 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 der Azure Logic Apps-Plattform. Beide stellen ähnliche Workflow-Designer und Connectors bereit.

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) Power Platform bietet Tools, die in DevOps und GitHub Actions integriert werden, mit denen Sie automatisierte Pipelines im ALM-Zyklus erstellen können. 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 eine serverlose Integrationsplattform für Workflows ist. Beide können komplexe Orchestrierungen erstellen. Eine Orchestrierung ist eine Sammlung von Funktionen oder Aktionen in Azure Logic Apps, 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 ü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 beispielsweise Funktionen aus Logik-App-Workflows heraus 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 zwischen diesen Diensten:

Langlebige Funktionen Azure 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 for Cloud
Verwaltung REST-API, Visual Studio Azure-Portal, REST-API, PowerShell, Visual Studio
Ausführungskontext Kann lokal oder in der Cloud ausgeführt werden Wird lokal in Azure ausgeführt. Weitere Informationen finden Sie unter Was ist Azure Logic Apps?.

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 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.

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 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, Logic Apps und Functions verbessert sich weiterhin im Laufe der Zeit. Sie können eine Komponente in einem Dienst erstellen und diese Komponente dann in den anderen Diensten verwenden.

Weitere Informationen zu Integrationsdiensten finden Sie unter den folgenden Links:

Nächste Schritte

Beginnen Sie, indem Sie Ihre ersten Flow, Logik-App-Workflow oder eine Funktions-App erstellen. Wählen Sie einen der folgenden Links aus: