Entdecken von Azure Functions
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.