Vorgänge serverloser Funktions-Apps
In diesem Artikel werden Überlegungen zu serverlosen Funktions-Apps in Azure beschrieben. Anforderungen an Betriebsmitarbeiter für die Unterstützung von Funktions-Apps:
- Verstehen und Implementieren von Hostingkonfigurationen
- Gewährleisten Sie zukunftssichere Skalierbarkeit durch die Automatisierung der Infrastrukturbereitstellung.
- Aufrechterhalten der Geschäftskontinuität durch Erfüllung der Anforderungen an Verfügbarkeit und Notfallwiederherstellung
Planung
Zum Planen der Vorgänge müssen Sie die Arbeitsauslastungen und ihre Anforderungen kennen und dann die besten Optionen für die Anforderungen entwerfen und konfigurieren.
Auswählen einer Hostingoption
Die Azure Functions-Runtime bietet Flexibilität beim Hosting. Verwenden Sie die Hostingplan-Vergleichstabelle, um die beste Option für Ihre Anforderungen zu ermitteln.
Hostingpläne für Azure Functions
Jedes Azure Functions-Projekt wird in einer eigenen Funktions-App bereitgestellt und ausgeführt. Diese ist die Skalierungs- und Kosteneinheit. Die drei für Azure Functions verfügbaren Hostingpläne sind der Verbrauchstarif, der Premium-Plan und der dedizierte Plan (App Service-Plan). Der Hostingplan bestimmt das Skalierungsverhalten, die verfügbaren Ressourcen und die Unterstützung für erweiterte Funktionen, z. B. die Konnektivität virtueller Netzwerke.
Azure Kubernetes Service (AKS)
Die Kubernetes-basierte Version stellt die Functions-Runtime in einem Docker-Container bereit, während die ereignisgesteuerte Skalierung über KEDA (Kubernetes-based Event Driven Autoscaling) erfolgt.
Weitere Informationen zu Hostingplänen finden Sie unter:
- Skalierung und Hosting von Azure Functions
- Verbrauchstarif
- Premium-Plan
- Dedizierter (App Service-) Plan
- Azure Functions in Kubernetes mit KEDA
- Einschränkungen für Azure-Abonnements und Dienste, Kontingente und Einschränkungen
Grundlagen der Skalierung
Serverlose Hostingpläne mit Verbrauchstarif und Premium-Plan werden automatisch skaliert. Dabei werden Azure Functions-Hostinstanzen basierend auf der Anzahl der eingehenden Ereignisse hinzugefügt oder entfernt. Die Skalierung kann je nach Plan, Trigger und Programmiersprache im Umfang mehrerer Dimensionen variieren.
Weitere Informationen zur Skalierung finden Sie unter:
Grundlegende Informationen zu und Behandeln von Kaltstarts
Wenn der Anzahl der Hostinstanzen auf null herunterskaliert wird, weist die nächste Anforderung die zusätzliche Latenz aufgrund des Neustarts der Funktions-App auf; dies wird als Kaltstart bezeichnet. Kaltstart ist ein umfangreiches Thema bei serverlosen Architekturen und erfordert eine Abwägung bei Azure Functions.
Der Premium-Hostingplan verhindert Kaltstarts, indem einige Instanzen betriebsbereit gehalten werden. Durch das Reduzieren von Abhängigkeiten und die Verwendung von asynchronen Vorgängen in der Funktions-App werden die Auswirkungen von Kaltstarts ebenfalls minimiert. Um die Verfügbarkeitsanforderungen zu erfüllen, muss die App in einem dedizierten Hostingplan jedoch möglicherweise mit aktiviertem Always On ausgeführt werden. Da im dedizierten Plan dedizierte virtuelle Computer (VMs) verwendet werden, ist er nicht serverlos.
Weitere Informationen über Kaltstarts finden Sie unter Understanding Serverless Cold Start (Grundlegendes zum serverlosen Kaltstart).
Ermitteln der wichtigen Speicheraspekte
Jede Azure Functions-App erfordert für Vorgänge wie das Verwalten von Triggern und das Ausführen von Protokollierfunktionen Azure Storage. Beim Erstellen einer Funktions-App müssen Sie ein allgemeines Azure Storage-Konto erstellen oder verknüpfen, das Blob-, Warteschlangen- und Tabellenspeicher unterstützt. Weitere Informationen finden Sie unter Speicheraspekte für Azure Functions.
Ermitteln der wichtigen Aspekte in Bezug auf den Netzwerkentwurf
Mit den Netzwerkoptionen kann die Funktions-App den Zugriff einschränken oder auf Ressourcen zugreifen, ohne im Internet routingfähige Adressen zu verwenden. Die Hostingpläne bieten unterschiedliche Ebenen der Netzwerkisolation. Wählen Sie die Option aus, die Ihren Anforderungen an die Netzwerkisolation am besten entspricht. Weitere Informationen finden Sie unter Netzwerkoptionen von Azure Functions.
Bereitstellung
Um die Anwendung für die Produktion vorzubereiten, stellen Sie sicher, dass Sie den Hostingplan problemlos erneut bereitstellen können, und wenden Sie Aufskalierungsregeln an.
Automatisieren der Bereitstellung von Hostingplänen
Mit Infrastructure-as-Code können Sie die Infrastrukturbereitstellung automatisieren. Die automatische Bereitstellung bietet bei Notfällen größere Resilienz und mehr Flexibilität, um die Infrastruktur ggf. schnell erneut bereitstellen zu können.
Weitere Informationen zur automatisierten Bereitstellung finden Sie unter:
- Automatisieren der Ressourcenbereitstellung für Ihre Funktions-App in Azure Functions
- Terraform – Manages a Function App (in englischer Sprache)
Konfigurieren von Aufskalierungsoptionen
Autoskalierung stellt den richtigen Umfang an ausgeführten Ressourcen bereit, um die Anwendungslast zu bewältigen. Durch Autoskalierung werden Ressourcen hinzugefügt, um auf einen Anstieg der Last zu reagieren, und Kosten gespart, indem ungenutzte Ressourcen entfernt werden.
Weitere Informationen zu Autoskalierungsoptionen finden Sie unter:
Optimization
Wenn sich die Anwendung in der Produktion befindet, stellen Sie Folgendes sicher:
- Der Hostingplan kann skaliert werden, um die Anwendungsanforderungen zu erfüllen.
- Es gibt einen Plan für die Geschäftskontinuität, Verfügbarkeit und Notfallwiederherstellung.
- Sie können die Hosting- und Anwendungsintegrität überwachen und Warnungen empfangen.
Implementieren von Verfügbarkeitsanforderungen
Azure Functions werden in einer bestimmten Region ausgeführt. Um eine höhere Verfügbarkeit zu erzielen, können Sie dieselbe Funktions-App in mehreren Regionen bereitstellen. Azure Functions kann in mehreren Regionen mit dem Verfügbarkeitsmuster Aktiv/Aktiv oder Aktiv/Passiv ausgeführt werden.
Weitere Informationen zur Verfügbarkeit und Notfallwiederherstellung von Azure Functions finden Sie unter:
- Georedundante Notfallwiederherstellung in Azure Functions
- Notfallwiederherstellung und geografische Verteilung in Azure Durable Functions
Überwachen von Protokollierung, Anwendungsüberwachung und Warnungen
Application Insights und Protokolle in Azure Monitor sammeln automatisch Protokoll-, Leistungs- und Fehlerdaten und erkennen Leistungsanomalien. Azure Monitor umfasst leistungsstarke Analysetools, um Probleme zu diagnostizieren und die Funktionsverwendung zu verstehen. Application Insights unterstützt Sie bei der kontinuierlichen Verbesserung der Leistung und Benutzerfreundlichkeit Ihrer Anwendung.
Weitere Informationen zum Überwachen und Analysieren der Leistung von Azure Functions finden Sie unter:
- Überwachen von Azure Functions
- Überwachen von Azure Functions mit Azure Monitor-Protokollen
- Unterstützte Features in Application Insights für Azure Functions
Nächste Schritte
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für