Einführung in Azure Functions
Azure Functions ist eine serverlose Lösung, die es 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.
Sie können sich ganz auf die Codeelemente konzentrieren, die für Sie am wichtigsten sind, und dabei die für Sie produktivste Sprache verwenden, und Azure Functions kümmert sich um den Rest.
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.
Zur Erfüllung dieser Anforderung verfügt Azure Functions über zwei Optionen für bedarfsgesteuertes Computing (Compute On-Demand):
Erstens können Sie mit Azure Functions die Logik Ihres Systems in schnell verfügbaren Codeblöcken implementieren. Diese Codeblöcke werden als „Funktionen“ bezeichnet. Die verschiedenen Funktionen können jederzeit ausgeführt werden, wenn Sie auf kritische Ereignisse reagieren müssen.
Zweitens stellt Azure Functions bei einem Anstieg der Anforderungen so viele Ressourcen und Funktionsinstanzen bereit, wie dies zur Erfüllung der Nachfrage erforderlich ist – aber jeweils nur so lange, wie die Nachfrage besteht. Wenn die Anzahl von Anforderungen abnimmt, wird die Bereitstellung aller zusätzlichen Ressourcen und Anwendungsinstanzen automatisch rückgängig gemacht.
Woher kommen all diese Computeressourcen? Von Azure Functions werden so viele bzw. wenige Computeressourcen wie nötig bereitgestellt, um die Nachfrage Ihrer Anwendung zu erfüllen.
Die bedarfsgesteuerte Bereitstellung von Computeressourcen ist die Grundlage des serverlosen Computings in Azure Functions.
Szenarien
In vielen Fällen wird eine Funktion in ein Array mit Clouddiensten integriert, um Implementierungen mit großem Funktionsumfang zu erzielen.
Unten sind einige häufige Szenarien für Azure Functions aufgeführt (keine umfassende Liste).
Zweck | Aktion |
---|---|
Entwickeln einer Web-API | Implementieren eines Endpunkts für Ihre Webanwendungen mit dem HTTP-Trigger |
Verarbeiten von Dateiuploads | Ausführen von Code, wenn eine Datei im Blobspeicher hochgeladen oder geändert wird |
Entwickeln eines serverlosen Workflows | Erstellen eines ereignisgesteuerten Workflows aus einer Reihe von Funktionen mit Durable Functions |
Reagieren auf Datenbankänderungen | Ausführen von benutzerdefinierter Logik beim Erstellen oder Aktualisieren eines Dokuments in Azure Cosmos DB |
Ausführen von geplanten Aufgaben | Ausführen von Code in vordefinierten zeitbasierten Intervallen |
Erstellen zuverlässiger Systeme für Nachrichtenwarteschlangen | Verarbeiten von Nachrichtenwarteschlangen mit Queue Storage, Service Bus oder Event Hubs |
Analysieren von IoT-Datenströmen | Sammeln und Verarbeiten der Daten von IoT-Geräten |
Verarbeiten von Daten in Echtzeit | Verwenden von Functions und SignalR zum schnellen Reagieren auf Datenvorgänge |
Herstellen einer Verbindung mit einer SQL-Datenbank-Instanz | Verwenden von SQL-Bindungen zum Lesen oder Schreiben von Daten aus Azure SQL |
Diese Szenarien ermöglichen es Ihnen, ereignisgesteuerte Systeme mithilfe moderner Architekturmuster zu erstellen.
Beim Entwickeln Ihrer Funktionen stehen Ihnen die folgenden Optionen und Ressourcen zur Verfügung:
Nutzung der bevorzugten Sprache: Schreiben Sie Funktionen in C#, Java, JavaScript, PowerShell oder Python, oder verwenden Sie einen benutzerdefinierten Handler, um nahezu alle anderen Sprachen zu verwenden.
Automatisierung der Bereitstellung: Von einem toolbasierten Ansatz bis zur Verwendung von externen Pipelines sind viele verschiedene Bereitstellungsoptionen verfügbar.
Problembehandlung für eine Funktion: Verwenden Sie Überwachungstools und Teststrategien, um Einblicke in Ihre Apps zu erhalten.
Flexible Preisoptionen: Beim Verbrauchstarif zahlen Sie nur, während Ihre Funktionen ausgeführt werden, und die Tarife Premium und App Service verfügen über Features für besondere Anforderungen.