Skalowanie automatyczne i środowisko App Service Environment w wersji 1

Ważne

Ten artykuł dotyczy środowiska App Service Environment w wersji 1. Środowisko App Service Environment w wersji 1 zostanie wycofane 31 sierpnia 2024 r. Jest dostępna nowa wersja środowiska App Service Environment, która jest łatwiejsza do użycia i działa w bardziej wydajnej infrastrukturze. Aby dowiedzieć się więcej o nowej wersji, zacznij od wprowadzenia do środowiska App Service Environment. Jeśli obecnie używasz środowiska App Service Environment w wersji 1, wykonaj kroki opisane w tym artykule , aby przeprowadzić migrację do nowej wersji.

Od 29 stycznia 2024 r. nie można już tworzyć nowych zasobów środowiska App Service Environment w wersji 1 przy użyciu dowolnej z dostępnych metod, w tym szablonów usługi ARM/Bicep, witryny Azure Portal, interfejsu wiersza polecenia platformy Azure lub interfejsu API REST. Aby zapobiec usunięciu zasobów i utracie danych, musisz przeprowadzić migrację do środowiska App Service Environment w wersji 3 przed 31 sierpnia 2024 r.

aplikacja systemu Azure Środowiska usługi obsługują skalowanie automatyczne. Poszczególne pule procesów roboczych można skalować automatycznie na podstawie metryk lub harmonogramu.

Autoscale options for a worker pool.

Skalowanie automatyczne optymalizuje wykorzystanie zasobów przez automatyczne zwiększanie i zmniejszanie środowiska usługi App Service w celu dopasowania go do budżetu i lub profilu ładowania.

Konfigurowanie automatycznego skalowania puli procesów roboczych

Dostęp do funkcji autoskalowania można uzyskać na karcie Ustawienia puli procesów roboczych.

Settings tab of the worker pool.

Z tego miejsca interfejs powinien być dość znany, ponieważ jest to to samo środowisko, które widzisz podczas skalowania planu usługi App Service.

Manual scale settings.

Można również skonfigurować profil skalowania automatycznego.

Autoscale settings.

Profile skalowania automatycznego są przydatne do ustawiania limitów w skali. Dzięki temu możesz mieć spójne środowisko wydajności, ustawiając niższą wartość skali granic (1) i przewidywalny limit wydatków, ustawiając górną granicę (2).

Scale settings in profile.

Po zdefiniowaniu profilu można dodać reguły autoskalowania w celu skalowania w górę lub w dół liczby wystąpień w puli procesów roboczych w granicach zdefiniowanych przez profil. Reguły skalowania automatycznego są oparte na metrykach.

Scale rule.

Każdą pulę procesów roboczych lub metryki frontonu można użyć do zdefiniowania reguł skalowania automatycznego. Te metryki są tymi samymi metrykami, które można monitorować na wykresach bloku zasobów lub ustawiać alerty.

Przykład automatycznego skalowania

Autoskalowanie środowiska usługi App Service można najlepiej zilustrować, przechodząc przez scenariusz.

W tym artykule opisano wszystkie niezbędne zagadnienia związane z konfigurowaniem automatycznego skalowania. W tym artykule opisano interakcje, które wchodzą w grę, gdy uwzględniasz skalowanie automatyczne środowisk usługi App Service hostowanych w środowisku App Service Environment.

Wprowadzenie do scenariusza

Frank jest administratorem systemu dla przedsiębiorstwa, który zmigrował część obciążeń zarządzanych do środowiska usługi App Service.

Środowisko usługi App Service jest skonfigurowane do ręcznego skalowania w następujący sposób:

  • Frontony: 3
  • Pula procesów roboczych 1: 10
  • Pula procesów roboczych 2: 5
  • Pula procesów roboczych 3: 5

Pula procesów roboczych 1 jest używana na potrzeby obciążeń produkcyjnych, natomiast pula procesów roboczych 2 i pula procesów roboczych 3 są używane do zapewniania jakości (QA) i obciążeń programistycznych.

Plany usługi App Service dla kontroli jakości i deweloperów są skonfigurowane do ręcznego skalowania. Plan produkcyjnej usługi App Service jest ustawiony na automatyczne skalowanie w celu obsługi zmian obciążenia i ruchu.

Frank jest bardzo zaznajomiony z aplikacją. Wiedzą, że godziny szczytu obciążenia to od 9:00 do 18:00, ponieważ jest to aplikacja biznesowa (LOB), z której korzystają pracownicy, gdy znajdują się w biurze. Użycie spadnie po tym, gdy użytkownicy będą wykonywane przez ten dzień. Poza godzinami szczytu nadal występuje pewne obciążenie, ponieważ użytkownicy mogą zdalnie uzyskiwać dostęp do aplikacji przy użyciu urządzeń przenośnych lub komputerów domowych. Produkcyjny plan usługi App Service jest już skonfigurowany do automatycznego skalowania na podstawie użycia procesora CPU przy użyciu następujących reguł:

Specific settings for LOB app.

Profil autoskalowania — dni robocze — plan usługi App Service Profil autoskalowania — weekendy — plan usługi App Service
Nazwa: Profil dnia tygodnia Nazwa: Profil weekendowy
Skalowanie według: Harmonogram i reguły wydajności Skalowanie według: Harmonogram i reguły wydajności
Profil: Dni robocze Profil: Weekend
Typ: Cykl Typ: Cykl
Zakres docelowy: od 5 do 20 wystąpień Zakres docelowy: od 3 do 10 wystąpień
Dni: poniedziałek, wtorek, środa, czwartek, piątek Dni: sobota, niedziela
Godzina rozpoczęcia: 9:00 Godzina rozpoczęcia: 9:00
Strefa czasowa: UTC-08 Strefa czasowa: UTC-08
Reguła skalowania automatycznego (skalowanie w górę) Reguła skalowania automatycznego (skalowanie w górę)
Zasób: Środowisko produkcyjne (App Service Environment) Zasób: Środowisko produkcyjne (App Service Environment)
Metryka: % procesora CPU Metryka: % procesora CPU
Operacja: większa niż 60% Operacja: większa niż 80%
Czas trwania: 5 minut Czas trwania: 10 minut
Agregacja czasu: Średnia Agregacja czasu: Średnia
Akcja: Zwiększ liczbę o 2 Akcja: Zwiększ liczbę o 1
Schładz (minuty): 15 Schładz (minuty): 20
Reguła automatycznego skalowania (skalowanie w dół) Reguła automatycznego skalowania (skalowanie w dół)
Zasób: Środowisko produkcyjne (App Service Environment) Zasób: Środowisko produkcyjne (App Service Environment)
Metryka: % procesora CPU Metryka: % procesora CPU
Operacja: mniej niż 30% Operacja: mniej niż 20%
Czas trwania: 10 minut Czas trwania: 15 minut
Agregacja czasu: Średnia Agregacja czasu: Średnia
Akcja: Zmniejsz liczbę o 1 Akcja: Zmniejsz liczbę o 1
Schładz (minuty): 20 Schładz (minuty): 10

Stopa inflacji planu usługi App Service

Plany usługi App Service, które są skonfigurowane do automatycznego skalowania, robią to z maksymalną szybkością na godzinę. Tę stawkę można obliczyć na podstawie wartości podanych w regule autoskalowania.

Zrozumienie i obliczanie stopy inflacji planu usługi App Service jest ważne w przypadku automatycznego skalowania środowiska App Service, ponieważ skalowanie zmian w puli procesów roboczych nie jest natychmiastowe.

Stopa inflacji planu usługi App Service jest obliczana w następujący sposób:

App Service plan inflation rate calculation.

Na podstawie reguły autoskalowania — skalowanie w górę dla profilu dzień powszedni produkcyjnego planu usługi App Service:

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

W przypadku reguły autoskalowania — skalowanie w górę dla profilu weekendowego produkcyjnego planu usługi App Service formuła będzie rozpoznawana jako:

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

Tę wartość można również obliczyć dla operacji skalowanych w dół.

Na podstawie reguły Autoskalowania — skalowanie w dół dla profilu Dnia tygodnia produkcyjnego planu usługi App Service będzie to wyglądać następująco:

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

W przypadku reguły autoskalowania — skalowanie w dół dla profilu weekendowego produkcyjnego planu usługi App Service formuła będzie rozpoznawana jako:

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

Plan usługi App Service w środowisku produkcyjnym może rosnąć z maksymalną szybkością ośmiu wystąpień/godzin w ciągu tygodnia i czterech wystąpień/godziny w weekend. Może ona zwalniać wystąpienia z maksymalną szybkością czterech wystąpień/godzin w ciągu tygodnia i sześciu wystąpień/godzin w weekendy.

Jeśli wiele planów usługi App Service jest hostowanych w puli procesów roboczych, musisz obliczyć całkowitą stopę inflacji jako sumę stopy inflacji dla wszystkich planów usługi App Service hostujących w tej puli procesów roboczych.

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

Użyj wskaźnika inflacji planu usługi App Service, aby zdefiniować reguły automatycznego skalowania puli procesów roboczych

Pule procesów roboczych hostujące plany usługi App Service skonfigurowane do automatycznego skalowania muszą zostać przydzielone bufor pojemności. Bufor umożliwia zwiększanie i zmniejszanie planu usługi App Service w razie potrzeby przez operacje skalowania automatycznego. Minimalny bufor to obliczona łączna stopa inflacji planu usługi App Service.

Ponieważ operacje skalowania środowiska App Service zajmują trochę czasu, każda zmiana powinna uwzględniać dalsze zmiany zapotrzebowania, które mogą wystąpić podczas wykonywania operacji skalowania. Aby uwzględnić to opóźnienie, zalecamy użycie obliczonej łącznej stopy inflacji planu usługi App Service jako minimalnej liczby wystąpień dodanych dla każdej operacji skalowania automatycznego.

Dzięki tym informacjom Frank może zdefiniować następujący profil i reguły skalowania automatycznego:

Autoscale profile rules for LOB example.

Profil automatycznego skalowania — dni robocze Profil autoskalu — weekendy
Nazwa: Profil dnia tygodnia Nazwa: Profil weekendowy
Skalowanie według: Harmonogram i reguły wydajności Skalowanie według: Harmonogram i reguły wydajności
Profil: Dni robocze Profil: Weekend
Typ: Cykl Typ: Cykl
Zakres docelowy: od 13 do 25 wystąpień Zakres docelowy: od 6 do 15 wystąpień
Dni: poniedziałek, wtorek, środa, czwartek, piątek Dni: sobota, niedziela
Godzina rozpoczęcia: 7:00 Godzina rozpoczęcia: 9:00
Strefa czasowa: UTC-08 Strefa czasowa: UTC-08
Reguła skalowania automatycznego (skalowanie w górę) Reguła skalowania automatycznego (skalowanie w górę)
Zasób: pula procesów roboczych 1 Zasób: pula procesów roboczych 1
Metryka: Pracownicydostępni Metryka: Pracownicydostępni
Operacja: mniej niż 8 Operacja: mniej niż 3
Czas trwania: 20 minut Czas trwania: 30 minut
Agregacja czasu: Średnia Agregacja czasu: Średnia
Akcja: Zwiększ liczbę o 8 Akcja: Zwiększ liczbę o 3
Schładz (minuty): 180 Schładz (minuty): 180
Reguła automatycznego skalowania (skalowanie w dół) Reguła automatycznego skalowania (skalowanie w dół)
Zasób: pula procesów roboczych 1 Zasób: pula procesów roboczych 1
Metryka: Pracownicydostępni Metryka: Pracownicydostępni
Operacja: większa niż 8 Operacja: większa niż 3
Czas trwania: 20 minut Czas trwania: 15 minut
Agregacja czasu: Średnia Agregacja czasu: Średnia
Akcja: Zmniejsz liczbę o 2 Akcja: Zmniejsz liczbę o 3
Schładz (minuty): 120 Schładz (minuty): 120

Zakres docelowy zdefiniowany w profilu jest obliczany przez minimalne wystąpienia zdefiniowane w profilu dla planu usługi App Service i buforu.

Maksymalny zakres będzie sumą wszystkich maksymalnych zakresów dla wszystkich planów usługi App Service hostowanych w puli procesów roboczych.

Dla reguł zwiększania skali w górę należy ustawić co najmniej 1X stopę inflacji planu usługi App Service na potrzeby skalowania w górę.

Liczbę spadków można dostosować do wartości z zakresu od 1/2X do 1X współczynnika inflacji planu usługi App Service w celu skalowania w dół.

Automatyczne skalowanie dla puli frontonu

Reguły automatycznego skalowania frontonu są prostsze niż w przypadku pul procesów roboczych. Przede wszystkim należy
Upewnij się, że czas trwania miary i czasomierze chłodzenia uważają, że operacje skalowania w planie usługi App Service nie są natychmiastowe.

W tym scenariuszu Frank wie, że szybkość błędów wzrasta po osiągnięciu wykorzystania procesora CPU przez fronton 80% i ustawia regułę autoskalowania w następujący sposób:

Autoscale settings for front-end pool.

Profil skalowania automatycznego — frontony
Nazwa: Autoskaluj — frontony
Skalowanie według: Harmonogram i reguły wydajności
Profil: Codziennie
Typ: Cykl
Zakres docelowy: od 3 do 10 wystąpień
Dni: codziennie
Godzina rozpoczęcia: 9:00
Strefa czasowa: UTC-08
Reguła skalowania automatycznego (skalowanie w górę)
Zasób: Pula frontonu
Metryka: % procesora CPU
Operacja: większa niż 60%
Czas trwania: 20 minut
Agregacja czasu: Średnia
Akcja: Zwiększ liczbę o 3
Schładz (minuty): 120
Reguła automatycznego skalowania (skalowanie w dół)
Zasób: pula procesów roboczych 1
Metryka: % procesora CPU
Operacja: mniej niż 30%
Czas trwania: 20 minut
Agregacja czasu: Średnia
Akcja: Zmniejsz liczbę o 3
Schładz (minuty): 120