Was ist Azure Functions?
- 3 Minuten
Azure Functions ist ein cloudbasierter Computedienst, der ereignisgesteuerte und skalierbares serverloses Computing für Azure bereitstellt. In einigen Fällen wird Ihnen nur die Zeit, in welcher Ihr Funktionscode ausgeführt wird, in Rechnung gestellt.
Sie können Azure Functions verwenden, um Ihren Code dann auszuführen, wenn sie es brauchen. Ihr Code kann beispielsweise als Ergebnis eines Ereignisses oder einer Änderung ausgeführt werden, z. B. wenn eine Nachricht in einer Warteschlange eingeht oder ein gespeichertes Objekt aktualisiert wird. Sie können auch mit cron-Regeln ein geplantes Intervall für die Ausführung Ihres Codes definieren.
Verwenden Sie Trigger, um zu entscheiden, wann Code ausgeführt werden soll
Azure Functions lässt Sie Trigger definieren, welche die Ausführung des Codes starten. Trigger können auch Eingaben verarbeiten, um Daten an Ihre Funktionen weiterzugeben. Jede Funktion kann nur einen Auslöser haben. Einige der von Azure Functions unterstützten Triggertypen beinhalten:
- Speicher: Sie können auf Ereignisse aus Datenbanken wie Azure Cosmos DB lauschen, z. B. wenn eine neue Zeile eingefügt wird.
- Ereignisse: Ereignisraster und Event Hubs erzeugen Ereignisse, die Ihren Code auslösen können.
- HTTP-Code: Webanforderungen und Webhooks können HTTP-Code auslösen.
- Warteschlangen: Warteschlangennachrichten können ebenfalls verarbeitet werden.
- Timer: Aufrufen von Code basierend auf einem angegebenen Zeitintervall.
Verwenden von Bindungen zum Herstellen einer Verbindung mit Datenquellen
Bindungen sind Möglichkeiten, die Codierung für Eingabe- und Ausgabedaten zu vereinfachen. Sie können zwar auch Client-SDKs zum Herstellen einer Verbindung mit Diensten aus Ihrem Funktionscode verwenden, Azure Functions stellt jedoch Bindungen bereit, die diese Verbindungen vereinfachen. Im Wesentlichen sind Bindungen Verbindungscode, den Sie nicht schreiben müssen. Sie können sie in viele Dienste in Azure integrieren und Integrationsprobleme lösen sowie Geschäftsprozesse automatisieren.
Bindungen sind in zwei Varianten verfügbar: als Eingabe und als Ausgabe. Eine Ausgabebindung bietet eine Möglichkeit zum Schreiben von Daten in das Datenziel; Beispielsweise das Platzieren einer Nachricht in einer Warteschlange oder eine neue Zeile in einer Datenbank. Eine Eingabebindung kann verwendet werden, um Daten von einer anderen Datenquelle als dem, der die Funktion ausgelöst hat, an Ihre Funktion zu übergeben.
Features
Es gibt einige Features, die Azure Functions zu einer überzeugenden Wahl machen:
Flexible Hostingpläne. Es gibt drei verschiedene Hostingpläne, um Ihren geschäftlichen Anforderungen zu entsprechen.
- Verbrauchsplan. Dies ist die vollständig serverlose Hostingoption für Functions. Funktionen werden automatisch skaliert, und Sie zahlen nur dann für diese Computeressourcen, wenn Ihre Funktionen tatsächlich ausgeführt werden. Dieser Plan bietet kosteneffizientes Computing für kurze Workloads, die in der Regel zeitweiliger mit weniger vorhersehbaren Lasten sind.
- Premium-Plan. In diesem Plan werden Ihre Funktionen initialisiert gehalten, was bedeutet, dass es nach dem Leerlauf keine Verzögerung gibt. Der Premium-Plan ist eine gute Wahl, wann Ihre Funktions-App für längere Zeiträume ausgeführt werden muss, aber Sie dennoch die dynamische Skalierung benötigen. Mit diesem Plan können Sie außerdem die Skalierung mit mehr Ressourcen beginnen als mit dem Verbrauchsplan. Im Verbrauchsplan gibt es auch Beschränkungen für die Ausführungszeit, die dieser Plan ersetzen kann. Während Sie weiterhin die Kostenvorteile der dynamischen Skalierung erhalten, zahlen Sie mehr.
- Dedizierter Plan. Sie führen Ihre Funktionen mit einem regulären App Service-Plan aus. Er ist am besten für Szenarien geeignet, in denen Ihre Funktionen kontinuierlich ausgeführt werden müssen. Ein weiterer Vorteil besteht darin, dass Sie die Skalierung der App vollständig steuern und die Kosten einfacher vorhersehen können. Ein Dedicated-Plan ist außerdem eine gute Wahl, wenn Sie über einen vorhandenen, aber nicht voll ausgenutzten App Service-Plan verfügen.
Dynamische Skalierung. In den meisten Plänen werden Funktionen basierend auf der Last dynamisch skaliert. Wenn der Bedarf an Ausführung erhöht wird, werden dem Dienst automatisch mehr Ressourcen zugewiesen, und wenn Anforderungen fallen, werden Ressourcen und Anwendungsinstanzen automatisch abworfen. Im Verbrauchsplan zahlen Sie überhaupt nicht für Leerlauffunktionen.
Ereignisbasierte Architektur. Funktionen sollen klein und spezifisch sein. Sie verarbeiten eingehende Daten und sind dann entweder abgeschlossen oder lösen wiederum ein neues Ereignis aus. Einige gängige Nutzungsbereiche von Azure Functions sind das Senden von E-Mails, Starten einer Sicherung, Auftragsverarbeitung, Aufgabenplanung wie z.B. Datenbankbereinigung, Senden von Benachrichtigungen, Nachrichten und IoT-Datenverarbeitung.