Share via


Automatische Skalierung und App Service-Umgebung v1

Wichtig

In diesem Artikel wird App Service-Umgebung v1 behandelt. App Service-Umgebung v1 wird am 31. August 2024 eingestellt. Für die App Service-Umgebung steht eine neue Version zur Verfügung. Diese ist benutzerfreundlicher und basiert auf einer leistungsfähigeren Infrastruktur. Weitere Informationen zu dieser neuen Version finden Sie unter Einführung in die App Service-Umgebung. Wenn Sie derzeit App Service-Umgebung v1 verwenden, führen Sie die Schritte in diesem Artikel aus, um zur neuen Version zu migrieren.

Ab dem 29. Januar 2024 können Sie keine neuen Ressourcen für die App Service-Umgebung v1 mehr mit einer der verfügbaren Methoden erstellen, darunter ARM-/Bicep-Vorlagen, Azure Portal, Azure CLI oder REST-API. Sie müssen vor dem 31. August 2024 zu App Service Environment v3 migrieren, um die Löschung von Ressourcen und Datenverlust zu verhindern.

Azure App Service-Umgebungen unterstützen die automatische Skalierung. Sie können einzelne Workerpools basierend auf Metriken oder nach einem Zeitplan automatisch skalieren.

Autoscale options for a worker pool.

Durch die automatische Skalierung wird die Ressourcenverwendung optimiert, indem Sie eine App Service-Umgebung automatisch vergrößern und verkleinern, sodass sie zu Ihrem Budget und Lastprofil passt.

Konfigurieren der automatischen Skalierung für Workerpools

Sie können auf die Funktionalität für die automatische Skalierung über die Registerkarte Einstellungen des Workerpools zugreifen.

Settings tab of the worker pool.

Die Oberfläche sollte Ihnen vertraut vorkommen, da sie der Oberfläche beim Skalieren eines App Service-Plans stark ähnelt.

Manual scale settings.

Sie können auch ein Profil für die automatische Skalierung konfigurieren.

Autoscale settings.

Profile für die automatische Skalierung sind nützlich, um Grenzwerte für die Skalierung festzulegen. Auf diese Weise erreichen Sie eine einheitliche Leistung, indem Sie einen unteren Grenzwert der Skalierung (1) festlegen, sowie vorhersagbare Kosten, indem Sie eine Obergrenze (2) festlegen.

Scale settings in profile.

Nach dem Definieren eines Profils können Sie Regeln für die automatische Skalierung hinzufügen, um die Anzahl von Instanzen im Workerpool innerhalb der Grenzen des Profils hoch- oder herunterzuskalieren. Die automatische Skalierung basiert auf Metriken.

Scale rule.

Alle Workerpool- oder Front-End-Metriken können zum Definieren von Regeln für die automatische Skalierung verwendet werden. Hierbei handelt es sich um die gleichen Metriken, die Sie in den Diagrammen des Ressourcenblatts überwachen oder für die Sie Warnungen festlegen können.

Beispiel für die automatische Skalierung

Die automatische Skalierung einer App Service-Umgebung kann am besten anhand eines Szenarios dargestellt werden.

In diesem Artikel werden alle erforderlichen Aspekte für die Einrichtung der automatischen Skalierung beschrieben. Es werden die einzelnen Interaktionen beschrieben, die relevant sind, wenn Sie die automatische Skalierung von App Service-Umgebungen beim Hosten in einer App Service-Umgebung verwenden.

Einführung in das Szenario

Frank ist Systemadministrator in einem Unternehmen. Er hat einen Teil der Workloads, die er verwaltet, in eine App Service-Umgebung migriert.

Die App Service-Umgebung ist wie folgt für die manuelle Skalierung konfiguriert:

  • Front-Ends: 3
  • Workerpool 1: 10
  • Workerpool 2: 5
  • Workerpool 3: 5

Workerpool 1 wird für Produktionsworkloads verwendet, und Workerpool 2 und Workerpool 3 werden für Workloads der Qualitätssicherung (QA) und der Entwicklung verwendet.

Die App Service-Pläne für die Qualitätskontrolle und die Entwicklung sind für manuelles Skalieren konfiguriert. Der App Service-Plan für die Produktion ist dagegen auf automatisches Skalieren festgelegt, um Schwankungen bei Last und Datenverkehr zu bewältigen.

Frank ist mit der Anwendung gut vertraut. Er weiß, dass die Spitzenzeiten mit der höchsten Auslastung zwischen 9:00 und 18:00 Uhr liegen, da es sich um eine Branchenanwendung handelt, die von den Mitarbeitern während der Geschäftszeiten genutzt wird. Die Nutzung fällt ab, sobald die Benutzer Feierabend machen. Außerhalb der Spitzenzeiten ist immer noch eine geringe Auslastung vorhanden, da die Benutzer die App per Remotezugriff mit mobilen Geräten oder PCs zu Hause nutzen können. Der App Service-Plan für die Produktion ist bereits konfiguriert, um eine automatische Skalierung basierend auf der CPU-Auslastung mit den folgenden Regeln vorzunehmen:

Specific settings for LOB app.

Profil für die automatische Skalierung – Werktage – App Service-Plan Profil für die automatische Skalierung – Wochenenden – App Service-Plan
Name: Profil für Werktage Name: Profil für Wochenenden
Skalieren nach: Zeitplan und Leistungsregeln Skalieren nach: Zeitplan und Leistungsregeln
Profil: Wochentage Profil: Wochenende
Typ: Serie Typ: Serie
Zielbereich: 5 bis 20 Instanzen Zielbereich: 3 bis 10 Instanzen
Tage: Montag, Dienstag, Mittwoch, Donnerstag, Freitag Tage: Samstag, Sonntag
Startzeit: 9:00 Startzeit: 9:00
Zeitzone: UTC-08 Zeitzone: UTC-08
Regel für die automatische Skalierung (Hochskalieren) Regel für die automatische Skalierung (Hochskalieren)
Ressource: Produktion (App Service-Umgebung) Ressource: Produktion (App Service-Umgebung)
Metrik: CPU % Metrik: CPU %
Betrieb: Mehr als 60 % Betrieb: Mehr als 80 %
Dauer: 5 Minuten Dauer: 10 Minuten
Zeitaggregation: Average Zeitaggregation: Average
Aktion: Anzahl erhöhen um 2 Aktion: Anzahl erhöhen um 1
Abkühlen (Minuten): 15 Abkühlen (Minuten): 20
Regel für die automatische Skalierung (Zentral herunterskalieren) Regel für die automatische Skalierung (Zentral herunterskalieren)
Ressource: Produktion (App Service-Umgebung) Ressource: Produktion (App Service-Umgebung)
Metrik: CPU % Metrik: CPU %
Betrieb: Weniger als 30 % Betrieb: Weniger als 20 %
Dauer: 10 Minuten Dauer: 15 Minuten
Zeitaggregation: Average Zeitaggregation: Average
Aktion: Anzahl verringern um 1 Aktion: Anzahl verringern um 1
Abkühlen (Minuten): 20 Abkühlen (Minuten): 10

Inflationsrate für den App Service-Plan

App Service-Pläne, die für die automatische Skalierung konfiguriert sind, nutzen dafür eine maximale Rate pro Stunde. Diese Rate kann basierend auf den Werten berechnet werden, die in der Regel für die automatische Skalierung bereitgestellt werden.

Das Verstehen und Berechnen der Inflationsrate für den App Service-Plan ist wichtig für die automatische Skalierung in einer App-Service-Umgebung, da Größenänderungen bei einem Workerpool erst nach einiger Zeit wirksam werden.

Die Inflationsrate für den App Service-Plan wird wie folgt berechnet:

App Service plan inflation rate calculation.

Basierend auf der „Regel für die automatische Skalierung (Hochskalieren)“ für das Profil „Werktage“ des App Service-Plans für die Produktion:

App Service plan inflation rate for weekdays based on Autoscale – Scale Up rule.

Für die „Regel für die automatische Skalierung (Hochskalieren)“ für das Profil „Wochenenden“ des App Service-Plans für die Produktion würde die Formel wie folgt aufgelöst werden:

App Service plan inflation rate for weekends based on Autoscale – Scale Up rule.

Dieser Wert kann auch für Vorgänge zum zentralen Herunterskalieren berechnet werden:

Basierend auf der „Regel für die automatische Skalierung (Zentral herunterskalieren)“ für das Profil „Werktage“ des App Service-Plans für die Produktion würde dies wie folgt aussehen:

App Service plan inflation rate for weekdays based on Autoscale – Scale Down rule.

Für die „Regel für die automatische Skalierung (Zentral herunterskalieren)“ für das Profil „Wochenenden“ des App Service-Plans für die Produktion würde die Formel wie folgt aufgelöst werden:

App Service plan inflation rate for weekends based on Autoscale – Scale Down rule.

Der App Service-Plan kann für die Produktion mit einer maximalen Rate von acht Instanzen pro Stunde während der Woche und vier Instanzen pro Stunde an Wochenenden vergrößert werden. Instanzen können mit einer maximalen Rate von vier Instanzen pro Stunde während der Woche und sechs Instanzen pro Stunde an Wochenenden freigegeben werden.

Wenn mehrere App Service-Pläne in einem Workerpool gehostet werden, müssen Sie die Gesamtinflationsrate als Summe der Inflationsraten für alle App Service-Pläne berechnen, die in diesem Workerpool gehostet werden.

Total inflation rate calculation for multiple App Service plans hosted in a worker pool.

Verwenden der Inflationsrate für den App Service-Plan zum Definieren von Regeln für die automatische Skalierung für Workerpools

Workerpools, von denen App Service-Pläne gehostet werden, die für die automatische Skalierung konfiguriert sind, muss ein Kapazitätspuffer zugeordnet werden. Der Puffer ermöglicht, dass die Vorgänge der automatischen Skalierung den App Service-Plan je nach Bedarf erhöhen oder verringern. Die Mindestgröße des Puffers wäre die berechnete Gesamtinflationsrate für den App Service-Plan.

Da Skalierungsvorgänge in der App Service-Umgebung einige Zeit dauern, sollten bei jeder Änderung weitere Bedarfsänderungen berücksichtigt werden, die stattfinden können, während eine Skalierung ausgeführt wird. Zur Berücksichtigung dieser Latenz empfehlen wir Ihnen, die berechnete Gesamtinflationsrate für den App Service-Plan als Mindestanzahl von Instanzen zu verwenden, die der automatischen Skalierung für jeden Vorgang hinzugefügt werden.

Mit diesen Informationen kann Frank die folgenden Profile und Regeln für die automatische Skalierung definieren:

Autoscale profile rules for LOB example.

Profil für die automatische Skalierung – Werktage Profil für die automatische Skalierung – Wochenenden
Name: Profil für Werktage Name: Profil für Wochenenden
Skalieren nach: Zeitplan und Leistungsregeln Skalieren nach: Zeitplan und Leistungsregeln
Profil: Wochentage Profil: Wochenende
Typ: Serie Typ: Serie
Zielbereich: 13 bis 25 Instanzen Zielbereich: 6 bis 15 Instanzen
Tage: Montag, Dienstag, Mittwoch, Donnerstag, Freitag Tage: Samstag, Sonntag
Startzeit: 7:00 Startzeit: 9:00
Zeitzone: UTC-08 Zeitzone: UTC-08
Regel für die automatische Skalierung (Hochskalieren) Regel für die automatische Skalierung (Hochskalieren)
Ressource: Workerpool 1 Ressource: Workerpool 1
Metrik: WorkersAvailable Metrik: WorkersAvailable
Betrieb: Weniger als 8 Betrieb: Weniger als 3
Dauer: 20 Minuten Dauer: 30 Minuten
Zeitaggregation: Average Zeitaggregation: Average
Aktion: Anzahl erhöhen um 8 Aktion: Anzahl erhöhen um 3
Abkühlen (Minuten): 180 Abkühlen (Minuten): 180
Regel für die automatische Skalierung (Zentral herunterskalieren) Regel für die automatische Skalierung (Zentral herunterskalieren)
Ressource: Workerpool 1 Ressource: Workerpool 1
Metrik: WorkersAvailable Metrik: WorkersAvailable
Betrieb: Mehr als 8 Betrieb: Mehr als 3
Dauer: 20 Minuten Dauer: 15 Minuten
Zeitaggregation: Average Zeitaggregation: Average
Aktion: Anzahl verringern um 2 Aktion: Anzahl verringern um 3
Abkühlen (Minuten): 120 Abkühlen (Minuten): 120

Der im Profil definierte Zielbereich wird anhand der minimalen Instanzen, die im Profil für den App Service-Plan definiert sind, plus dem Puffer berechnet.

Der maximale Bereich wäre die Summe aller maximalen Bereiche für alle App Service-Pläne, die im Workerpool gehostet werden.

Bei den Regeln für das Hochskalieren sollte die Anzahl, um die erhöht wird, mindestens auf den einfachen Wert der Inflationsrate für den App Service-Plan für das Hochskalieren festgelegt werden.

Die Anzahl, um die verringert wird, kann zwischen dem 0,5- und 1-Fachen der Inflationsrate für den App Service-Plan für das zentrale Herunterskalieren liegen.

Automatische Skalierung für Front-End-Pool

Regeln für die automatische Front-End-Skalierung sind einfacher als für Workerpools. In erster Linie
sollten Sie sicherstellen, dass für die Dauer der Messung und die Abkühltimer berücksichtigt wird, dass Skalierungsvorgänge eines App Service-Plans nicht sofort wirksam werden.

In diesem Szenario weiß Frank, dass sich die Fehlerrate erhöht, sobald Front-Ends eine CPU-Auslastung von 80% erreichen. Er legt die Regel für die automatische Skalierung zum Erhöhen von Instanzen wie folgt fest:

Autoscale settings for front-end pool.

Profil für die automatische Skalierung – Front-Ends
Name: Automatische Skalierung – Front-Ends
Skalieren nach: Zeitplan und Leistungsregeln
Profil: Täglich
Typ: Serie
Zielbereich: 3 bis 10 Instanzen
Tage: Täglich
Startzeit: 9:00
Zeitzone: UTC-08
Regel für die automatische Skalierung (Hochskalieren)
Ressource: Front-End-Pool
Metrik: CPU %
Betrieb: Mehr als 60 %
Dauer: 20 Minuten
Zeitaggregation: Average
Aktion: Anzahl erhöhen um 3
Abkühlen (Minuten): 120
Regel für die automatische Skalierung (Zentral herunterskalieren)
Ressource: Workerpool 1
Metrik: CPU %
Betrieb: Weniger als 30 %
Dauer: 20 Minuten
Zeitaggregation: Average
Aktion: Anzahl verringern um 3
Abkühlen (Minuten): 120