Automatische Skalierung und App Service-Umgebung v1
Wichtig
In diesem Artikel wird App Service-Umgebung v1 behandelt. App Service-Umgebung v1 und v2 wurden 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.
Die Vereinbarung zum Servicelevel (Service Level Agreement, SLA) und Dienstguthaben gelten seit dem 31. August 2024 nicht mehr für Workloads von App Service-Umgebung v1 und v2, da es sich um eingestellte Produkte handelt. Die Außerbetriebnahme der Hardware für App Service-Umgebung v1 und v2 hat begonnen. Dies kann sich auf die Verfügbarkeit und Leistung Ihrer Apps und Daten auswirken.
Sie müssen die Migration zur App Service-Umgebung v3 sofort abschließen, sonst werden Ihre Apps und Ressourcen möglicherweise gelöscht. Es wird versucht, alle verbleibenden App Service-Umgebungen v1 und v2 bestmöglich mithilfe des Features für die direkte Migration automatisch zu migrieren, doch Microsoft garantiert die Anwendungsverfügbarkeit nach der automatischen Migration nicht. Möglicherweise müssen Sie eine manuelle Konfiguration durchführen, um die Migration abzuschließen und Ihre SKU-Auswahl für den App Service-Plan auf Basis Ihrer Anforderungen zu optimieren. Wenn die automatische Migration nicht möglich ist, werden Ihre Ressourcen und zugehörigen App-Daten gelöscht. Sie sollten schnell handeln, um diese Szenarien zu vermeiden.
Wenn Sie mehr Zeit benötigen, können wir Ihnen eine einmalige Karenzzeit von 30 Tagen anbieten, damit Sie Ihre Migration abschließen können. Weitere Informationen auch zum Anfordern dieser Karenzzeit finden Sie in der Übersicht über die Karenzzeit. Navigieren Sie anschließend im Azure-Portal zum Blatt „Migration“ für jede Ihrer App Service-Umgebungen.
Die aktuellsten Informationen zur Einstellung der App Service Environment v1/v2 finden Sie im Update zur Einstellung der App Service Environment v1 und v2.
Azure App Service-Umgebungen unterstützen die automatische Skalierung. Sie können einzelne Workerpools basierend auf Metriken oder nach einem Zeitplan automatisch skalieren.
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.
Die Oberfläche sollte Ihnen vertraut vorkommen, da sie der Oberfläche beim Skalieren eines App Service-Plans stark ähnelt.
Sie können auch ein Profil für die automatische Skalierung konfigurieren.
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.
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.
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:
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:
Basierend auf der „Regel für die automatische Skalierung (Hochskalieren)“ für das Profil „Werktage“ des App Service-Plans für die Produktion:
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:
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:
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:
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.
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:
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:
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 |