Auswählen der richtigen Integrations- und Automatisierungsdienste in Azure
In diesem Artikel werden die folgenden Microsoft Cloud Services miteinander verglichen:
- Microsoft Power Automate (ehemals Microsoft Flow)
- Azure Logic Apps
- Azure-Funktionen
- WebJobs in Azure App Service
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:
- Kriterien für die Auswahl eines Azure-Computediensts
- Auswählen einer Azure-Computeoption für Microservices
Ü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 desJobHost
-Verhaltens in der DateiJobHost
. 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:
- Leveraging Azure Functions & Azure App Service for integration scenarios (Nutzung von Azure Functions und Azure App Service für Integrationsszenarien) von Christopher Anderson
- Integrations Made Simple (Integrationen leicht gemacht) von Charles Lamanna
- Logic Apps-Livewebcast
- Häufig gestellte Fragen
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: