Was ist Azure Functions
Azure Functions ist ein cloudbasierter Computedienst. Functions bietet ereignisgesteuerte und skalierbare serverloses Computing für Azure. 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 CRON-Regeln verwenden, um ein geplantes Intervall für die Ausführung Ihres Codes zu 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 Ereignisse aus Datenbanken wie Azure Cosmos DB hören, wenn beispielsweise eine neue Zeile eingefügt wird.
- Ereignisse: Event Grid 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: Code kann nach einem bestimmten Zeitintervall aufgerufen werden.
Verwenden Sie Bindungen, um eine Verbindung mit Datenquellen herzustellen. Bindungen sind Möglichkeiten, die Codierung für Eingabe- und Ausgabedaten zu vereinfachen. Während Sie Client-SDKs zum Herstellen einer Verbindung mit Diensten aus Ihrem Funktionscode verwenden können, stellt Functions Bindungen bereit, um diese Verbindungen zu 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 vorhanden, Eingabe und Ausgabe. Eine Ausgabebindung bietet eine Möglichkeit, Daten in das Datenziel zu schreiben, z. B. eine Nachricht in einer Warteschlange oder eine neue Zeile in einer Datenbank zu platzieren. Eingabebindungen können verwendet werden, um Daten von einer anderen Datenquelle zu übergeben, als derjenigen, welche die Funktion ausgelöst hat.
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.
- Verbrauchstarif: 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-Tarif: In diesem Plan werden Ihre Funktionen initialisiert gehalten, was bedeutet, dass es nach dem Leerlauf keine Verzögerung gibt. Dieser 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. Dies ist außerdem eine gute Wahl, wenn Sie über einen vorhandenen, aber nicht genutzten 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 fokussiert sein und eingehende Daten verarbeiten und dann fertig sein oder wiederum ein neues Ereignis auslösen. 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.