Sprawdzanie opcji skalowania w poziomie
usługa aplikacja systemu Azure obsługuje dwie opcje automatycznego skalowania aplikacji internetowych:
- Autoskalowanie za pomocą autoskalowania platformy Azure. Skalowanie automatyczne podejmuje decyzje dotyczące skalowania na podstawie zdefiniowanych reguł.
- aplikacja systemu Azure Usługa automatycznego skalowania. Automatyczne skalowanie podejmuje decyzje dotyczące skalowania na podstawie wybranych parametrów.
Co to jest skalowanie automatyczne?
Skalowanie automatyczne to system lub proces w chmurze, który dostosowuje dostępne zasoby na podstawie bieżącego zapotrzebowania. Autoskalowanie przeprowadza zwiększanie i zmniejszanie skali w poziomie, w przeciwieństwie do skalowania w górę i w dół.
Autoskalowanie może być wyzwalane zgodnie z harmonogramem lub przez ocenę, czy zasoby systemu się wyczerpują. Autoskalowanie może na przykład zostać wyzwolone, jeśli wykorzystanie procesora CPU rośnie, zajętość pamięci się zwiększa, liczba żądań przychodzących do usługi wydaje się gwałtownie rosnąć lub obserwowana jest pewna kombinacja czynników.
skalowanie automatyczne usługi aplikacja systemu Azure
Autoskalowanie w usłudze Azure App Service monitoruje metryki aplikacji internetowej podczas jej działania. Wykrywa sytuacje, w których inne zasoby są wymagane do obsługi rosnącego obciążenia, i zapewnia dostępność tych zasobów przed przeciążeniem systemu.
Autoskalowanie reaguje na zmiany w środowisku, dodając lub usuwając serwery internetowe i równoważąc obciążenie między nimi. Autoskalowanie nie ma żadnego wpływu na moc procesora CPU, pamięć i pojemność magazynu serwerów internetowych obsługujących aplikację, a jedynie zmienia liczbę serwerów internetowych.
Reguły autoskalowania
Autoskalowanie podejmuje decyzje na podstawie reguł zdefiniowanych przez użytkownika. Reguła określa próg dla metryki i wyzwala zdarzenie autoskalowania, kiedy ten próg zostaje przekroczony. Autoskalowanie może również cofnąć przydział zasobów, kiedy obciążenie się zmniejszy.
Reguły autoskalowania należy definiować rozważnie. Na przykład atak typu „odmowa usługi” prawdopodobnie spowoduje ogromny napływ ruchu przychodzącego. Próba obsługi gwałtownego wzrostu liczby żądań spowodowanych przez atak typu „odmowa usługi” będzie bezowocna i kosztowna. Te żądania nie są oryginalne i powinny być odrzucane, a nie przetwarzane. Lepszym rozwiązaniem jest zaimplementowanie wykrywania i filtrowania żądań występujących w czasie takiego ataku zanim dotrą one do Twojej usługi.
Kiedy należy rozważyć autoskalowanie?
Autoskalowanie zapewnia Twoim usługom elastyczność. Na przykład możesz oczekiwać zwiększonej/zmniejszonej aktywności dla aplikacji biznesowej w czasie świąt.
Autoskalowanie zwiększa dostępność i odporność na uszkodzenia. Może pomóc w zagwarantowaniu, że żądania klienta kierowane do usługi nie zostaną odrzucone dlatego, że wystąpienie nie może potwierdzić żądania w odpowiednim czasie lub z powodu awarii przeciążonego wystąpienia.
Autoskalowanie działa przez dodawanie lub usuwanie serwerów internetowych. Jeśli aplikacja internetowa wykonuje przetwarzanie intensywnie korzystające z zasobów w ramach każdego żądania, autoskalowanie może nie być efektywnym podejściem. W tych sytuacjach może być konieczne ręczne skalowanie w górę. Na przykład jeśli żądanie wysyłane do aplikacji internetowej obejmuje wykonanie złożonego przetwarzania na dużym zestawie danych, to w zależności od rozmiaru wystąpienia pojedyncze żądanie może wyczerpać możliwości przetwarzania i pojemność pamięci wystąpienia.
Autoskalowanie nie jest najlepszym rozwiązaniem do obsługi długoterminowego wzrostu. Być może masz aplikację internetową, która zaczyna się od kilku użytkowników, ale wraz z upływem czasu zwiększa się popularność. Autoskalowanie ma koszty ogólne skojarzone z monitorowaniem zasobów i określaniem, czy wyzwolić zdarzenie skalowania. W tym scenariuszu, jeśli możesz przewidzieć szybkość wzrostu, bardziej opłacalnym podejściem może być ręczne skalowanie systemu w miarę upływu czasu.
Liczba wystąpień usługi jest również czynnikiem. Możesz oczekiwać, że przez większość czasu będzie uruchomione tylko kilka instancji usługi. Jednak w takiej sytuacji usługa jest podatna na przestoje lub brak dostępności, niezależnie od tego, czy skalowanie automatyczne jest włączone, czy nie. Mniejsza liczba wystąpień, tym mniejsza pojemność, którą trzeba obsłużyć, a skalowanie automatyczne uruchamia więcej wystąpień.
automatyczne skalowanie usługi aplikacja systemu Azure Service
Automatyczne skalowanie to nowa opcja skalowania w poziomie, która automatycznie obsługuje decyzje dotyczące skalowania dla aplikacji internetowych i planów usługi App Service. Różni się ona od istniejącego automatycznego skalowania platformy Azure, co umożliwia definiowanie reguł skalowania na podstawie harmonogramów i zasobów. Dzięki automatycznemu skalowaniu można dostosować ustawienia skalowania, aby poprawić wydajność aplikacji i uniknąć problemów z zimnym uruchamianiem. Wystąpienia platformy przedwcześniają działanie jako bufor podczas skalowania w górę, zapewniając płynne przejścia wydajności. Opłaty są naliczane za sekundę za każde wystąpienie, w tym wystąpienia z góry.
Oto kilka scenariuszy, w których należy automatycznie skalować w poziomie:
- Nie chcesz konfigurować reguł autoskalowania na podstawie metryk zasobów.
- Chcesz, aby aplikacje internetowe w ramach tego samego planu usługi App Service skalowały się inaczej i niezależnie od siebie.
- Aplikacja internetowa jest połączona z bazą danych lub starszym systemem, który może nie być skalowany tak szybko, jak aplikacja internetowa. Skalowanie automatycznie umożliwia ustawienie maksymalnej liczby wystąpień, na które może być skalowany plan usługi App Service. To ustawienie pomaga aplikacji internetowej nie przeciążać zaplecza.