Co to jest App Service Plan
App service plan to platforma (PaaS) wyspecjalizowana do hostowania skalowalnych aplikacji webowych. Tworząc app service plan jako zasób tak naprawdę wynajmujemy zasoby fizyczne (maszyny z procesorami, pamięcią ram i przestrzenią dyskową) lub część zasobów w planach współdzielonych.
App service plan umożliwia nam hostowanie nie tylko aplikacji webowych czy to stron internetowy czy endpointów APi. Na tych zasobach możemy również hostować funkcję azurowe. Tracimy część zalet funkcji jak opłaty tylko za wykorzystane zasoby ale zyskujemy możliwość dłuższego procesowania (o tym w jednym z następnych postów).
Typy App Service Planów
Dostępne plany możemy podzielić na 3 kategorie. Kategorie różną się pod względem dostępności hardware-u, który wypożyczamy. I tak mamy:
- Zasoby współdzielone – tutaj mamy dostępne 2 plany: Bezpłatny (free) oraz Współdzielony (shared) – zasoby są współdzielone pomiędzy kilkoma Planami. Użytkownik nigdy nie ma pełni mocy tylko dla siebie. Plany mają określony przydział czasu procesora.
- Zasoby Dedykowane – tutaj mamy dostępne plany: Podstawowy (basic), Standardowy (standard) oraz 2 plany Premium w wersji v2 oraz v3 – zasoby są dla nas dedykowane.
- Zasoby Izolowane – tutaj są 2 plany izolowane w wersji 1 oraz 2 – zasoby te są w pełni odseparowane od środowiska. I znajdują się tylko i wyłącznie w sieci wewnętrznej.
Właściwości planów
Dla planów współdzielonych (shared) oraz wszystkich wyższych mamy możliwość dodania własnej domeny. W planie darmowym zawsze będzie to poddomena *.azurewebsites.net.
Od planu podstawowego (basic) mamy dostęp do integracji z naszą siecią wirtualną. Integracje z siecią wirtualną robimy na poziomie planu, a on sam może być połączony tylko z jedną siecią wirtualną. Oznacza to, że aplikacje hostowane na 1 planie nie będą w stanie łączyć się do 2 różnych sieci wirtualnych, jeśli nie zostanie ustawiony peering. Dotyczy to również 2 różnych aplikacji.
Ostatnią właściwością App Service Planu jaką chciałbym tutaj omówić jest system operacyjny naszego planu. Do wyboru mamy Windows-a oraz Linux-a. Niestety dla Linuxowych maszyn nie wszystkie wielkości są dostępne. Nigdy nie udało mi się znaleźć planów współdzielonych z Linuxem. Wybór systemu operacyjnego na planie musi być podyktowany stackiem technologicznym (obecnie nie możemy hostować aplikacji Pythonowej na planach windowsowych, co raczej nie powinno dziwić aplikacji .net 4.8 na planach linuxowych).
Kiedy jaki plan.
Kiedy jaki plan wybrać to temat, gdzie każdy ma swoje racje. Dla mnie podstawową zasadą jest taki, który minimalną ceną spełni wszystkie nasze wymagania. Przez wszystkie mam namyśli nie tylko te związane z potrzebami hardwarowymi ale również te funkcjonalne. Przykładowo dla prostego środowiska testowego może nam wystarczyć plan darmowy. Jeżeli będziemy potrzebować większej dostępności (w planie darmowym mamy 60 min czasu procesora dziennie) lub będziemy potrzebowali własnej domeny musimy wybrać plan wyższy na przykład współdzielony (240 min procesora) lub podstawowy. Jeżeli interesować nas będzie posiadanie deployment slotów, to pozostaje nam tylko plan podstawowy lub wyższy.
Dla zastosowań produkcyjnych ogólnie zaleca się użycie planu standard lub pro. Tutaj funkcjonalnie nie mamy różnic. Plany te różnią się zasobami pojedynczych maszyn oraz maksymalną ilością instancji przy skalowaniu. Dla planów tych mamy już dostęp do automatycznego skalowania w szerz (dodawania lub usuwania instancji).
Przy zastosowaniach testowych warto zastanowić się, czy potrzebujemy kilka app service planów, czy może wystarczy nam tylko jeden. Na pojedynczym planie możemy hostować kilka aplikacji, więc wynikowo wybranie jednego większego planu może być dla nas korzystne.
Czytaj dalej
Jeśli chcesz zglębić temat poniżej zostawiam Ci kilka linków :