Freigeben über


Premium-Tarif für Azure Functions

Der Elastic Premium-Plan für Azure Functions ist eine dynamisch skalierende Hostingoption für Funktion-Apps. Weitere Hostingplanoptionen finden Sie unter Azure Functions-Hostingoptionen.

Wichtig

Azure Functions kann auf der Azure App Service-Plattform ausgeführt werden. In der App Service-Plattform werden Pläne, die Premium-Plan-Funktions-Apps hosten, als Elastic Premium-Pläne bezeichnet, mit SKU-Namen wie EP1. Wenn Sie Ihre Funktions-App in einem Premium-Tarif ausführen möchten, stellen Sie sicher, dass Sie einen Tarif mit einem SKU-Namen erstellen, der mit einem „E“ beginnt, z. B. EP1. App Service-Plan-SKU-Namen, die mit "P" beginnen, wie z. B. P1V2 (Premium V2 Small-Plan), sind tatsächlich dedizierte Hosting-Pläne. Da es sich um dedizierte und nicht um Elastic Premium Tarife handelt, werden Tarife mit SKU-Namen, die mit einem „P“ beginnen, nicht dynamisch skaliert und möglicherweise Ihre Kosten erhöhen.

Premium-Planhosting bietet die folgenden Vorteile für Ihre Funktionen:

Wenn Sie den Premium-Plan verwenden, werden Instanzen des Azure Functions-Hosts basierend auf der Anzahl der eingehenden Ereignisse hinzugefügt und entfernt, genau wie der Flex-Verbrauchsplan und der Verbrauchsplan. Mehrere Funktions-Apps können im selben Premium-Plan bereitgestellt werden, und der Tarif ermöglicht es Ihnen, die Compute-Instanzgröße, Basisplangröße und maximale Plangröße zu konfigurieren.

Abrechnung

Die Abrechnung für den Premium-Plan basiert auf der Anzahl von Kernsekunden und dem Arbeitsspeicher, der den Instanzen zugeordnet ist. Diese Abrechnung unterscheidet sich vom Verbrauchsplan, der basierend auf dem Ressourcenverbrauch und den Ausführungen pro Sekunde abgerechnet wird. Beim Premium-Plan fallen keine Gebühren pro Ausführung an. Diese Abrechnung führt zu mindestens monatlichen Kosten pro aktivem Plan, unabhängig davon, ob die Funktion aktiv oder im Leerlauf ist. Beachten Sie, dass sich alle Funktions-Apps in einem Premium-Plan die zugeordneten Instanzen teilen. Weitere Informationen finden Sie unter Azure Functions-Preise.

Hinweis

Jeder Premium-Plan bietet immer mindestens eine aktive (in Rechnung gestellte) Instanz.

Erstellen eines Premium-Plans

Wenn Sie eine Funktions-App im Azure-Portal erstellen, gilt standardmäßig der Verbrauchsplan. Um eine Funktions-App zu erstellen, die in einem Premium-Plan ausgeführt wird, müssen Sie explizit einen Azure Functions Premium-Hostingplan mit einem der Elastic Premium-SKUs erstellen oder auswählen. Die von Ihnen erstellte Funktions-App wird dann in diesem Plan gehostet. Im Azure-Portal können Sie den Premium-Plan und die Funktions-App ganz einfach gleichzeitig erstellen. Sie können mehrere Funktions-Apps im selben Premium-Plan ausführen, aber nur, wenn alle Apps unter demselben Betriebssystem (Windows oder Linux) ausgeführt werden.

In den folgenden Artikeln erfahren Sie, wie Sie programmgesteuert eine Funktions-App mit einem Premium-Plan erstellen:

Vermeiden von Kaltstarts

Wenn Ereignisse oder Ausführungen nicht im Verbrauchsplan vorkommen, kann Ihre Anwendung auf null Instanzen skalieren. Wenn neue Ereignisse eintreffen, muss eine neue Instanz, auf der Ihre App läuft, spezialisiert werden. Die Spezialisierung neuer Instanzen braucht Zeit, je nach App. Diese zusätzliche Latenz für den ersten Anruf wird häufig als Kaltstart bezeichnet.

Der Premium-Plan bietet zwei Features, die zusammenarbeiten, um Kaltstarts in Ihren Funktionen effektiv zu beseitigen: immer bereite Instanzen und vorwarnte Instanzen. Jederzeit bereite Instanzen sind eine Kategorie von vorab zugewiesenen Instanzen, die von der Skalierung nicht betroffen sind, und die vorgewärmten Instanzen sind ein Puffer, wenn Sie aufgrund von HTTP-Ereignissen skalieren.

Wenn Ereignisse mit dem Auslösen der App beginnen, werden sie zuerst an die jederzeit bereiten Instanzen weitergeleitet. Da die Funktion aufgrund von HTTP-Ereignissen aktiv wird, werden andere Instanzen als Puffer warm. Diese gepufferten Instanzen werden vorgewärmte Instanzen bezeichnet. Dieser Puffer reduziert Kaltstarts für neue Instanzen, die während der Skalierung erforderlich sind.

Jederzeit bereite Instanzen

Im Premium-Plan können Sie Ihre App jederzeit bereit für eine angegebene Anzahl von Instanzen vorhalten. Ihre App wird unabhängig von der Auslastung kontinuierlich auf diesen Instanzen ausgeführt. Wenn die Auslastung die Kapazität Ihrer jederzeit bereiten Instanzen übersteigt, werden bei Bedarf weitere Instanzen bis zu der von Ihnen festgelegten Obergrenze hinzugefügt.

Diese Einstellung auf App-Ebene steuert auch die Mindestanzahl der Instanzen Ihres Plans. Angenommen, Sie verwenden drei Funktions-Apps im gleichen Premium-Plan. Wenn zwei Ihrer Apps die Anzahl der immer einsatzbereiten Instanzen auf eins festgelegt haben und die dritte App auf fünf festgelegt ist, beträgt die Mindestanzahl für den gesamten Plan fünf. Dies spiegelt auch die Mindestanzahl der Instanzen wider, die im Rahmen Ihres Plans in Rechnung gestellt werden. Die maximale Anzahl von immer einsatzbereiten Instanzen, die pro App unterstützt werden, beträgt 20.

Sie können die Anzahl der immer einsatzbereiten Instanzen im Azure-Portal konfigurieren, indem Sie Ihre Funktions-App auswählen, zur Registerkarte "Plattformfeatures " wechseln und die Optionen für das Skalieren auswählen. Im Bearbeitungsfenster der Funktions-App sind jederzeit bereite Instanzen für diese App spezifisch.

Screenshot der Einstellungen für die elastische Skalierung im Portal.

Vorgewärmte Instanzen

Die Einstellung für die Anzahl der vorgewärmten Instanzen bietet vorgewärmte Instanzen als Puffer während HTTP-Skalierungs- und Aktivierungsereignissen. Vorgewärmte Instanzen setzen die Pufferung fort, bis der Grenzwert für maximale horizontale Skalierung erreicht wird. Die standardmäßige Anzahl vorgewärmter Instanzen ist 1, und dieser Wert sollte für die meisten Szenarien beibehalten werden.

Stellen Sie sich ein weniger gängiges Szenario vor, beispielsweise eine App, die in einem benutzerdefinierten Container ausgeführt wird. Da benutzerdefinierte Container eine lange Aufwärmzeit haben, könnten Sie erwägen, diesen Puffer an vorgewärmten Instanzen zu erhöhen. Eine vorgewärmte Instanz wird erst aktiv, wenn alle aktiven Instanzen genutzt werden.

Sie können auch einen Aufwärm-Trigger definieren, der während des Aufwärmprozesses ausgeführt wird. Ein Trigger für die Aufwärmphase kann verwendet werden, um während der Vorabaufwärmung benutzerdefinierte Abhängigkeiten vorab zu laden, damit Ihre Funktionen sofort mit der Verarbeitung von Anforderungen beginnen können. Weitere Informationen finden Sie unter Azure Functions Warmup-Trigger.

Folgendes Beispiel zeigt, wie jederzeit bereite Instanzen und vorgewärmte Instanzen zusammenarbeiten. Für eine Premium-Funktions-App sind zwei jederzeit bereite Instanzen konfiguriert und die Standardeinstellung bietet eine vorgewärmte Instanz.

Screenshot des Skalierungsdiagramms.

  1. Wenn sich die App im Leerlauf befindet und keine Ereignisse als Auslöser vorhanden sind, wird die App mit zwei Instanzen bereitgestellt und ausgeführt. Zu diesem Zeitpunkt werden Ihnen die beiden immer bereiten Instanzen in Rechnung gestellt, nicht aber eine vorgewärmte Instanz, da keine vorgewärmte Instanz zugewiesen ist.
  2. Wenn Ihre Anwendung beginnt, HTTP-Datenverkehr zu empfangen, werden die Anfragen gleichmäßig auf die zwei stets einsatzbereiten Instanzen verteilt. Sobald diese beiden Instanzen die Verarbeitungsereignisse starten, wird eine Instanz hinzugefügt, um den vorgewärmten Puffer zu füllen. Die Anwendung läuft jetzt mit drei bereitgestellten Instanzen: Die beiden jederzeit bereiten Instanzen und der dritte vorgewärmte und inaktive Puffer. Ihnen werden die drei Instanzen in Rechnung gestellt.
  3. Wenn die Last zunimmt und Ihre App mehr Instanzen zur Verarbeitung des HTTP-Datenverkehrs benötigt, wird die vorbereitete Instanz in eine aktive Instanz umgewandelt. Die HTTP-Last wird nun an alle drei Instanzen weitergeleitet, und eine vierte Instanz wird sofort bereitgestellt, um den vorgewärmten Puffer zu füllen.
  4. Diese Abfolge von Skalierung und Vorwärmen wird fortgesetzt, bis die maximale Anzahl von Instanzen für die Anwendung erreicht ist oder die Last abnimmt, sodass die Plattform nach einer gewissen Zeit wieder skaliert. Es werden keine Instanzen vorgewärmt oder über das Maximum hinaus aktiviert.

Sie können die Einstellung für die Anzahl der vorgewärmten Instanzen im Portal nicht ändern. Sie müssen stattdessen die Azure CLI oder Azure PowerShell verwenden.

Maximale Anzahl von Funktions-App-Instanzen

Zusätzlich zur maximalen Anzahl von Bursts des Plans können Sie eine maximale Anzahl pro App konfigurieren. Das App-Maximum kann mithilfe des App-Skalierungslimits konfiguriert werden. Der maximale Grenzwert für die horizontale Skalierung der App darf die Höchstzahl von Burstinstanzen des Plans nicht überschreiten.

Private Netzwerkkonnektivität

Funktions-Apps, die in einem Premium-Plan bereitgestellt werden, können die Vorteile der Integration virtueller Netzwerke für Web-Apps nutzen. Wenn Ihre Anwendung konfiguriert ist, kann sie mit Ressourcen innerhalb Ihres virtuellen Netzwerks oder über gesicherte Dienstendpunkte kommunizieren. IP-Einschränkungen sind ebenfalls für die App verfügbar, um eingehenden Datenverkehr zu beschränken.

Wenn Sie Ihrer Funktions-App in einem Premium-Plan ein Subnetz zuweisen, benötigen Sie ein Subnetz mit genügend IP-Adressen für jede mögliche-Instanz. Wir benötigen einen IP-Block mit mindestens 100 verfügbaren Adressen.

Weitere Informationen finden Sie unter Integrieren von Azure-Funktionen in ein virtuelles Netzwerk.

Schnelle elastische Skalierung

Weitere Compute-Instanzen werden automatisch für Ihre Anwendung hinzugefügt, wobei dieselbe schnelle Skalierungslogik wie beim Verbrauchsplan angewendet wird. Apps im gleichen App Service-Plan werden unabhängig voneinander auf der Grundlage der Anforderungen der jeweiligen App skaliert. Von Funktions-Apps im gleichen App Service-Plan werden VM-Ressourcen jedoch nach Möglichkeit gemeinsam genutzt, um Kosten zu sparen. Die Anzahl von Apps, die einem virtuellen Computer zugeordnet sind, hängt vom Speicherbedarf der einzelnen Apps sowie von der Größe des virtuellen Computers ab.

Weitere Informationen zur Funktionsweise der Skalierung finden Sie unter Ereignisgesteuerte Skalierung in Azure Functions.

Längere Ausführungsdauer

Funktionen in einem Verbrauchstarif sind auf 10 Minuten für eine einzelne Ausführung beschränkt. Im Premium-Plan wird die Ausführungsdauer standardmäßig auf 30 Minuten festgelegt, um Endlosausführungen zu verhindern. Sie können jedoch die host.json Konfiguration ändern , um die Dauer für Premium-Plan-Apps ungebunden zu machen, mit den folgenden Einschränkungen:

  • Plattformupgrades können ein verwaltetes Herunterfahren auslösen und die Funktionsausführung mit einer Karenzzeit von 10 Minuten unterbrechen.
  • Es gibt einen Leerlaufzeitgeber, der den Worker nach 60 Minuten ohne neue Ausführung beendet.
  • Das Abskalierungsverhalten kann dazu führen, dass der Worker nach 60 Minuten heruntergefahren wird.
  • Slot-Swaps können während des Tauschvorgangs die Ausführungen auf den Quell- und Ziel-Slots beenden.

Migration

Wenn Sie über eine vorhandene Funktions-App verfügen, können Sie Azure CLI-Befehle verwenden, um Ihre App unter Windows zwischen einem Verbrauchsplan und einem Premium-Plan zu migrieren. Die spezifischen Befehle hängen von der Richtung der Migration ab. Weitere Informationen finden Sie unter Planen der Migration.

Die Migration wird unter Linux nicht unterstützt.

Einstellungen für Premium-Pläne

Wenn Sie den Plan erstellen, konfigurieren Sie zwei Einstellungen für die Plangröße: die Mindestanzahl von Instanzen (oder Plangröße) und den maximalen Burstgrenzwert.

Wenn Ihre App Instanzen über die immer einsatzbereiten Instanzen hinaus erfordert, kann sie weiterhin skaliert werden, bis die Anzahl der Instanzen auf die maximale Skalierungsgrenze des Plans trifft, oder die maximale Skalierungsgrenze der App, wenn sie konfiguriert ist. Instanzen werden Ihnen nur in Rechnung gestellt, während sie ausgeführt werden und Ihnen zugeordnet sind. Die Abrechnung erfolgt sekundengenau. Die Plattform versucht, Ihre App bis zu den definierten Maximalwerten zu skalieren.

Sie können die Plangröße und die Höchstwerte im Azure-Portal konfigurieren, indem Sie die Skalierungsoptionen unter "Einstellungen " einer Funktions-App auswählen, die für diesen Plan bereitgestellt wird.

Screenshot: Einstellungen für die Größe des elastischen Plans im Portal

Das Minimum für jeden Premium-Plan liegt bei mindestens einer Instanz. Die tatsächliche Mindestanzahl an Instanzen wird für Sie auf der Grundlage der von den Anwendungen im Plan angeforderten immer bereiten Instanzen bestimmt. Wenn z. B. Anwendung A fünf ständig verfügbare Instanzen anfordert und Anwendung B zwei ständig verfügbare Instanzen im selben Plan anfordert, wird die Mindestplangröße auf fünf festgelegt. Anwendung A wird auf allen fünf ausgeführt, und Anwendung B wird nur auf 2 ausgeführt.

Wichtig

Ihnen wird jede Instanz, die entsprechend der Mindestanzahl von Instanzen zugeordnet ist, in Rechnung gestellt, unabhängig davon, ob Funktionen ausgeführt werden oder nicht.

In den meisten Fällen ist dieser automatisch berechnete Mindestwert ausreichend. Eine Skalierung über den Mindestwert hinaus erfolgt jedoch nach bestem Bemühen. Es ist möglich, wenn auch unwahrscheinlich, dass sich die horizontale Skalierung zu einem bestimmten Zeitpunkt verzögert, wenn andere Instanzen nicht verfügbar sind. Wenn Sie einen Mindestwert festlegen, der höher als der automatisch berechnete Mindestwert ist, reservieren Sie Instanzen vor dem horizontalen Hochskalieren.

Sie können die Mindestinstanzen im Azure-Portal konfigurieren, indem Sie die Skalierungsoptionen unter "Einstellungen " einer Funktions-App auswählen, die für diesen Plan bereitgestellt wird.

Screenshot der Mindestinstanzeinstellungen im Portal.

Verfügbare Instanz-SKUs

Wenn Sie Ihren Plan erstellen oder skalieren, können Sie zwischen drei Instanzgrößen wählen. Die Abrechnung erfolgt für die Gesamtzahl der Kerne und des Arbeitsspeichers, die Ihnen pro Sekunde für jede Instanz zur Verfügung gestellt werden. Ihre App kann automatisch nach Bedarf auf mehrere Instanzen aufskaliert werden.

Artikelnummer (SKU) Kerne Arbeitsspeicher Speicher
Folge 1 1 3,5 GB 250 GB
Folge 2 2 7 GB 250 GB
Folge 3 4 14 GB 250 GB

Überlegungen zur Speicherauslastung

Das Ausführen auf einem Computer mit mehr Arbeitsspeicher bedeutet nicht immer, dass Ihre Funktions-App den gesamten verfügbaren Arbeitsspeicher auch verwendet.

Beispielsweise wird eine JavaScript-Funktions-App durch das standardmäßige Arbeitsspeicherlimit in „Node.js“ eingeschränkt. Um dieses feste Arbeitsspeicherlimit zu erhöhen, fügen Sie die App-Einstellung languageWorkers:node:arguments mit dem Wert --max-old-space-size=<max memory in MB> hinzu.

Stellen Sie bei Plänen mit mehr als 4 GB Arbeitsspeicher sicher, dass die Einstellung für die Bitanzahl der Plattform unter 64 Bit auf festgelegt ist.

Maximale horizontale Skalierung der Region

In der folgenden Tabelle sind derzeit maximal unterstützte Skalierungswerte für einen einzelnen Plan in jeder Region und Betriebssystemkonfiguration aufgeführt:

Region Fenster Linux (Englisch)
Australien, Mitte 100 20
Australien Zentral 2 100 Nicht verfügbar.
Australien (Osten) 100 40
Australien, Südosten 100 20
Brasilien Süd 100 20
Kanada, Mitte 100 100
Indien, Mitte 100 20
USA (Mitte) 100 100
China, Osten 2 20 20
China, Norden 2 20 20
China, Norden 3 20 20
Asien, Osten 100 20
Ost-USA 100 100
Ost-USA 2 80 100
Frankreich, Mitte 100 60
Deutschland, Westen-Mitte 100 20
Israel, Mitte 100 20
Italien, Norden 100 20
Japan, Osten 100 20
Japan, Westen 100 20
Jio Indien, Westen 100 20
Korea, Mitte 100 20
Korea, Süden 40 20
Mexiko, Mitte 20 20
USA Nord Mitte 100 20
Nordeuropa 100 100
Norwegen, Osten 100 20
Südafrika, Norden 100 20
Südafrika, Westen 20 20
USA Süd Mitte 100 100
Indien (Süden) 100 Nicht verfügbar.
Asien, Südosten 100 20
Spanien, Mitte 20 20
Schweiz, Norden 100 20
Schweiz, Westen 100 20
Vereinigte Arabische Emirate, Norden 100 100
UK, Süden 100 100
Westen des Vereinigten Königreichs 100 20
US Gov Arizona 20 20
USRegierung Texas 20 Nicht verfügbar.
US Government, Virginia 80 20
USA, Westen-Mitte 100 20
Europa, Westen 100 100
Indien, Westen 100 20
USA (Westen) 100 100
USA, Westen 2 100 20
USA, Westen 3 100 20

Weitere Informationen finden Sie unter "Nach Region verfügbare Produkte".