App Service Plan – hostowanie aplikacji

Dzisiaj dowiemy się więcej o App Service Planie, który jest podstawowym zasobem umożliwiającym hostowanie aplikacji webowych, ale nie tylko. App service plan sam w sobie nie jest zasobem, który możemy wykorzystać bezpośrednio, jest platformą, a w zasadzie maszyną wirtualną lub jej częścią (w planach współdzielonych) zarządzaną i utrzymywaną przez Azure i udostępnianą w celu hostowania aplikacji webowych.

App service plan – opcje

Jak w innych zasobach tak też App Servis Plan ma kilka dostępnych opcji jakie możemy wybrać przy jego tworzeniu. Dwie najważniejsze z nich to rodzaj systemu operacyjne oraz wielkość i typ maszyny wirtualnej.

Systemy operacyjne

  • Windows
  • Linux – w opcji tej brak jest planów współdzielonych (o czym napisałem poniżej), jednakże jeśli chcemy ograniczać koszty, to maszyna linuxowa jest tańsza od windowsowej. A więc jeśli chcemy zaoszczędzić i mamy taką możliwość warto pomyśleć o maszynie z linuxem.

WindowsWindows i LinuxLinux
.Net
.Net 5
ASP.Net 4.8
ASP.NET 3.5
.Net Core
.Net Core 3.1 LTS
.Net Core 2.1 LTS
JAVA
Java 11 (Tomcat 8, Tomcat 7)Java 11(Tomcat 8.5, Tomcat 9, Java SE (Embedded Web Server)
Java8 (Tomcat 8, Tomcat 7)Java8 (Tomcat 8.5, Tomcat 9, Java SE (Embedded Web Server)Java 8 JBoss EAP 7.2
Node
Node 14 LTS
Node 12 LTS
Node 10 LTS
Node 10.14
Node 10.10
Node 10.6
Node 10.1
PHP
PHP 7.4
PHP 7.3
PHP 7.2
Python
Python 3.8
Python 3.7
Python 3.6
Ruby
Ruby 2.6
Ruby 2.5
Dostępne frameworki uruchomieniowe w zależności od systemu operacyjnego stan na 20.01.2021

Wielkość i typ maszyny

Od wielkości naszej maszyny zależy jej cena, ale również ograniczenia czy zestaw dostępnych funkcjonalności. Tutaj wyróżnić możemy 3 typu hostingu.

Współdzielone

Maszyny współdzielone są najtańszą możliwą opcją, jednak najbardziej ograniczoną, gdyż jesteśmy ograniczeni zarówno czasem procesora, jak i ilością dostępnych w ramach subskrypcji instancji takiego app service planu. Dla service planów współdzielonych Azure nie oferuje również umowy SLA (Service Level Agreement), czyli o gwarancji świadczenia usługi w konkretnym zakresie czasu. App servic plany tego typu nie mogą być skalowane, a zarazem ograniczenie na czas procesora uniemożliwia włączenie w Aplikacji funkcji AlwaysOn, czyli nasza aplikacja po czasie bezczynności zostanie wywłaszczona, ale o tym, kiedy zajmiemy się Web Aplikacjami. Zasoby jak pamięć operacyjna czy storage dla tego typu planów ograniczene do 1GB.

  • Free (F1) – plan bezpłatny, ale zarazem najbardziej ograniczony. Zgodnie z cennikiem mamy ograniczony czas procesora do 60 minut/dzień na aplikację oraz ograniczenie do 10 aplikacji. Jednak mi udało się utworzyć 11 aplikacji w jednym planie, więc spodziewam się, iż rozliczanie jest per plan i możemy mieć maksymalnie 10 planów bezpłatnych. W bezpłatnej opcji nie będziemy w stanie podłączyć własnej domeny, a więc musimy wykorzystywać adres „.azurewebsites.net”.
  • Współdzielona (Shared(D1)) – tutaj sytuacja jest podobna jak w planie bezpłatnym, tylko ograniczeni jesteśmy do 240 minut / dzień i 100 planów, jakie możemy stworzyć w jednej subskrypcji. W tym planie możemy również podpiąć własną domenę, ale niestety nie będziemy mogli dodać certyfikaty SSL. Opcja ta jest również niedostępna dla systemu operacyjnego Linux.

Dedykowane

Następną opcją są maszyny dedykowane, czyli takie przydzielone tylko dla nas. Dla maszyn dedykowanych nie ma ograniczeń ilości instancji dla app service planów. Do wyboru mamy kilka tierów (Basic, Standard, Premium(v1, v2, v3) i wielkości maszyn w tych tierach(Small (1), Medium (2), Large(3)).

  • Basic(B1, B2, B3) jest planem najprostszym umożliwiającym manualne skalowanie do 3 instancji, stawiane na najsłabszych maszynach. Tier Basic powinny być wykorzystywane wyłącznie w celach testowo developerkich i nie nadają się do obciążenia produkcyjnego.
  • Standard (S1, S2, S3) maszyny nieco wydajniejsze odpowiednie dla mniejszych aplikacji produkcyjnych. W tierze Standard mamy już możliwość automatycznego skalowania, więc w momencie większego obciążenia app service plan może po odpowiedniej konfiguracji sam się skalować (dla tego tieru do 10 instancji). Od tego tieru możliwe jest również wpięcie do sieci wirtualnej czy stworzenie slotów aplikacyjnych.
  • Premium v1, v2, v3 (P1, P1V2, P1V3, P2, P2V2, P2V3, P3, P3V2, P3V3) najsilniejsze maszyny dla najcięższego ruchu produkcyjnego. Umożliwiają automatyczne skalowanie do 20 instancji dla Premium (v1 oraz v2) i 30 instancji dla Premium v3

Izolowane

Ostatnim typem hostingu są maszyny wirtualne Izolowane. Uruchamiane są one w dedykowanej sieci wirtualnej i dostępne tylko dla zamawiającego. Tier ten zalecany jest dla krytycznego ruchu z punktu widzenia organizacji, gdyż zapewnia on największą możliwą kontrolę nad zasobami oraz izolację od pozostałych zasobów Azurowych.

  • Isolated (I1, I2, I3) – maszyny z największym storagem i możliwością skalowania aż do 100 instancji, a prawdopodobnie po kontakcie z supportem limit ten może zostać zwiększony.

Podsumowanie

Mam nadzieje, że ten wpis pomógł Ci zrozumieć czym jest App Service Plan, a właściwie, że jest on reprezentacją zasobów serwera, na którym będzie hostowana w przyszłości Twoja aplikacja. Jeśli poszukujesz dalszej wiedzy, polecam :

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.