Entdecken von Azure Functions

Abgeschlossen

Azure Functions ist eine serverlose Lösung, die Ihnen ermöglicht, weniger Code zu schreiben, weniger Infrastruktur zu verwalten und Kosten zu sparen. Da durch die Cloudinfrastruktur alle aktuellen Ressourcen bereitgestellt werden, die zum Ausführen Ihrer Anwendungen benötigt werden, müssen Sie sich nicht mit der Bereitstellung und Wartung von Servern befassen.

Systeme werden häufig entwickelt, um auf eine Reihe von kritischen Ereignissen zu reagieren. Unabhängig davon, ob Sie eine Web-API entwickeln, auf Datenbankänderungen reagieren, IoT-Datenströme verarbeiten oder sogar Nachrichtenwarteschlangen verwalten, gilt Folgendes: Für jede Anwendung muss es eine Möglichkeit zum Ausführen von Code geben, wenn diese Ereignisse eintreten.

Azure Functions unterstützt Trigger zum Starten der Codeausführung sowie Bindungen zur Vereinfachung der Programmierung für Eingabe- und Ausgabedaten. Es gibt noch andere Integrations- und Automatisierungsdienste in Azure, die alle Integrationsprobleme lösen und Geschäftsprozesse automatisieren können. Jeder der Dienste kann Eingaben, Aktionen, Bedingungen und Ausgaben definieren.

Vergleich zwischen Azure Functions und Azure Logic Apps

Sowohl Functions als auch Logic Apps sind Azure-Dienste, die serverlose 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 Schritten (in Logic Apps Aktionen genannt), die für eine komplexe Aufgabe ausgeführt werden.

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 der folgenden Tabelle sind einige der wichtigsten Unterschiede zwischen Functions und Azure Logic Apps aufgeführt:

Thema Azure-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
Verwaltung REST-API, Visual Studio Azure-Portal, REST-API, PowerShell, Visual Studio
Ausführungskontext Wird in Azure oder lokal ausgeführt Wird in Azure, lokal oder am Standort ausgeführt

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.

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:

Faktor Functions WebJobs mit WebJobs SDK
Serverloses App-Modell mit automatischer Skalierung Ja Nein
Entwicklung und Tests im Browser Ja Nein
Nutzungsbasierte Bezahlung Ja Nein
Integration in Logic Apps Ja Nein
Auslösende Ereignisse Timer
Azure Storage-Warteschlangen und -Blobs
Azure Service Bus-Warteschlangen und -Themen
Azure Cosmos DB
Azure Event Hubs
HTTP/Webhook (GitHub
Slack)
Azure Event Grid
Timer
Azure Storage-Warteschlangen und -Blobs
Azure Service Bus-Warteschlangen und -Themen
Azure Cosmos DB
Azure Event Hubs
Dateisystem

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.