Funktionsweise von Azure Functions

Abgeschlossen

Hier erfahren Sie, wie Sie Azure Functions verwenden können, um serverlose Architekturen zu entwickeln und die verschiedenen Featureimplementierungen zu verwenden, die von Functions bereitgestellt werden.

Außerdem erfahren Sie mehr darüber, wie Azure Functions funktioniert. Dadurch können Sie auch bestimmen, wie Sie Azure Functions am besten verwenden können, um die Anforderungen Ihrer Organisation zu erfüllen.

Azure Functions ist eine serverlose Computinglösung, mit der Sie weniger Code schreiben können. Es handelt sich um ein Platform as a Service-Angebot, sodass Sie sich keine Gedanken über das Hosting Ihrer App machen müssen, und Sie sparen Kosten.

Azure Functions ist eine hervorragende Lösung zum Verarbeiten von Daten, Integrieren von Systemen, Arbeiten mit dem Internet der Dinge (Internet of Things, IoT) und Erstellen einfacher APIs und Microservices.

Skalierungsfunktions-Apps

Der Kontext, in dem Ihre Funktionen ausgeführt werden, wird als Funktions-App bezeichnet. Eine Funktions-App ist eine Einheit für die Bereitstellung, Verwaltung und Skalierung Ihrer Funktionen. Alle Funktionen in einer Funktions-App teilen dieselben Einstellungen und Verbindungen.

In den Verbrauchs- und Premiumplänen skaliert Functions die CPU- und Arbeitsspeicherressourcen automatisch, indem weitere Funktions-App-Instanzen hinzugefügt werden. Die Anzahl von Instanzen wird basierend auf der Anzahl der Ereignisse bestimmt, die eine Funktion auslösen. Alle Funktionen innerhalb einer Funktions-App verwenden innerhalb einer Instanz die gleiche Ressource und werden gleichzeitig skaliert.

Azure Functions Überwachung

Azure Functions bietet von Haus aus Integration in Azure Application Insights zum Überwachen von Funktionen. Mit Application Insights werden Protokoll-, Leistungs- und Fehlerdaten erfasst. Es hilft Ihnen, Leistungsanomalien zu erkennen, Probleme zu diagnostizieren und besser zu verstehen, wie Ihre Funktionen verwendet werden.

Application Insights-Instrumentierung ist in Azure Functions integriert. Mit Application Insights-Integration werden Telemetriedaten an Ihre verbundene Application Insights-Instanz gesendet. Diese Daten umfassen vom Functions-Host generierte Protokolle, Ablaufverfolgungen, die von Ihrem Funktionscode geschrieben wurden, und Leistungsdaten.

Hinweis

Zusätzlich zu den Daten aus Ihren Funktionen und dem Functions-Host können Sie auch Daten aus dem Functions-Skalierungscontroller sammeln.

Die folgende Abbildung zeigt ein Beispiel zum Anzeigen von Daten in Application Insights für eine Funktions-App.

Screenshot showing Monitoring telemetry data for Azure Functions

Azure Functions Komponenten

Die folgende Tabelle beschreibt die wichtigsten Komponenten von Azure Functions:

Komponente BESCHREIBUNG
Funktionstrigger Trigger sind das, was die Ausführung einer Funktion bewirkt. Ein Trigger definiert, wie eine Funktion aufgerufen wird, und eine Funktion muss genau einen Trigger aufweisen.
Funktionsbindungen Die Bindung an eine Funktion stellt eine Möglichkeit dar, eine andere Ressource deklarativ mit der Funktion zu verbinden; Bindungen können als Eingabebindungen, Ausgabebindungen oder beides verbunden werden. Daten von Bindungen werden der Funktion als Parameter bereitgestellt. Wenn Sie keine Bindungen verwenden möchten oder können, dann können Sie weiterhin wie gewohnt ein Client-SDK in Ihren Funktionen beim Herstellen einer Verbindung mit Diensten verwenden.
Funktions-Runtime Azure Functions unterstützt derzeit mehrere Versionen des Runtime-Hosts. Function unterstützt auch viele verschiedene Runtimes wie .NET Core, Node.js, Java, PowerShell und Python. Während der Entwicklung können Sie die Funktions-Runtime auf Ihrem lokalen Computer installieren und Funktionen lokal ausführen, indem Sie die Azure Functions Core Tools verwenden.
API Management APIM bietet Sicherheit und Routing für Ihre HTTP-getriggerten Funktionsendpunkte, um sie als echte REST-API verfügbar zu machen.
Bereitstellungsslots Azure Functions-Bereitstellungsslots ermöglichen Ihrer Funktions-App das Ausführen verschiedener Instanzen, die als „Slots“ bezeichnet werden. Slots sind verschiedene Umgebungen, die über einen öffentlich verfügbaren Endpunkt verfügbar gemacht werden. Slots bieten ihnen eine Möglichkeit, eine neue Version Ihrer Funktionen in Azure in einer sicheren Umgebung zu testen und dann nahtlos die neue Version in die Produktionsversion zu tauschen.
Konfiguration von Funktions-Apps Verbindungszeichenfolgen, Umgebungsvariablen und andere Anwendungseinstellungen werden für jede Funktions-App separat definiert. Die Werte für Funktions-App-Einstellungen können im Code als Umgebungsvariablen gelesen werden.

Diese Komponenten arbeiten zusammen, um eine vollständige End-to-End-Plattform für Anwendungs- und DevOps-Ingenieure bereitzustellen, um serverlose Architekturen zu entwickeln, die Azure Functions nutzen.

Wissen auf den Prüfstand stellen

1.

Wie viele Trigger hat eine Azure-Funktion?