Freigeben über


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:

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:

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:

Ü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:

Nächste Schritte