Wybieranie usługi obliczeniowej platformy Azure

Azure App Service
Azure Kubernetes Service (AKS)

Platforma Azure oferuje wiele sposobów hostowania kodu aplikacji. Termin obliczenia odnosi się do modelu hostingu dla zasobów uruchamianych przez aplikację. Ten artykuł pomaga wybrać usługę obliczeniową dla aplikacji.

Wybieranie usługi kandydata

Użyj poniższego schematu blokowego, aby wybrać kandydata usługę obliczeniową.

Diagram that shows a decision tree for Azure compute services.

Pobierz plik programu Visio tego drzewa decyzyjnego.

Ten diagram odnosi się do dwóch strategii migracji:

  • Lift and shift: strategia migracji obciążenia do chmury bez przeprojektowania aplikacji lub wprowadzania zmian w kodzie. Jest to również nazywane ponownym hostowaniem. Aby uzyskać więcej informacji, zobacz Centrum migracji i modernizacji platformy Azure.
  • Zoptymalizowane pod kątem chmury: strategia migracji do chmury przez refaktoryzowanie aplikacji w celu korzystania z funkcji i możliwości natywnych dla chmury.

Dane wyjściowe z tego schematu blokowego to punkt początkowy. Następnie oceń usługę, aby sprawdzić, czy spełnia twoje potrzeby.

Ten artykuł zawiera kilka tabel, które mogą pomóc w wyborze usługi. Początkowy kandydat z schematu blokowego może być nieodpowiedni dla aplikacji lub obciążenia. W takim przypadku rozwiń analizę, aby uwzględnić inne usługi obliczeniowe.

Jeśli aplikacja składa się z wielu obciążeń, oceń każde obciążenie oddzielnie. Kompletne rozwiązanie może obejmować co najmniej dwie usługi obliczeniowe.

Omówienie podstawowych funkcji

Jeśli nie znasz usługi platformy Azure wybranej w poprzedniej sekcji, zapoznaj się z tą dokumentacją przeglądu:

  • Azure Virtual Machines: usługa, w której wdrażasz maszyny wirtualne i zarządzasz nimi w sieci wirtualnej platformy Azure.
  • aplikacja systemu Azure Service: zarządzana usługa do hostowania aplikacji internetowych, zapleczy aplikacji mobilnych, interfejsów API RESTful lub zautomatyzowanych procesów biznesowych.
  • Azure Functions: zarządzana funkcja jako usługa.
  • Azure Kubernetes Service (AKS): zarządzana usługa Kubernetes do uruchamiania konteneryzowanych aplikacji.
  • Azure Container Apps: usługa zarządzana utworzona na platformie Kubernetes, która upraszcza wdrażanie konteneryzowanych aplikacji w środowisku bezserwerowym.
  • Azure Container Instances: ta usługa jest szybkim i prostym sposobem uruchamiania kontenera na platformie Azure. Nie musisz aprowizować żadnych maszyn wirtualnych ani wdrażać usługi wyższego poziomu.
  • Azure Red Hat OpenShift: w pełni zarządzany klaster OpenShift do uruchamiania kontenerów w środowisku produkcyjnym przy użyciu platformy Kubernetes.
  • Azure Spring Apps: zarządzana usługa zaprojektowana i zoptymalizowana pod kątem hostowania aplikacji Spring Boot.
  • Azure Service Fabric: platforma systemów rozproszonych, która może działać w wielu środowiskach, w tym na platformie Azure lub w środowisku lokalnym.
  • Azure Batch: usługa zarządzana do uruchamiania aplikacji równoległych i obliczeń o wysokiej wydajności (HPC) na dużą skalę.

Omówienie modeli hostingu

W przypadku modeli hostingu usługi w chmurze dzielą się na trzy kategorie:

  • Infrastruktura jako usługa (IaaS): umożliwia aprowizację maszyn wirtualnych wraz ze skojarzonymi składnikami sieci i magazynu. Następnie możesz wdrożyć dowolne oprogramowanie i aplikacje na tych maszynach wirtualnych. Ten model jest najbliżej tradycyjnego środowiska lokalnego. Firma Microsoft zarządza infrastrukturą. Nadal zarządzasz maszynami wirtualnymi.

  • Platforma jako usługa (PaaS): udostępnia zarządzane środowisko hostingu, w którym można wdrożyć aplikację bez konieczności zarządzania maszynami wirtualnymi lub zasobami sieciowymi. aplikacja systemu Azure Service i Azure Container Apps to usługi PaaS.

  • Funkcje jako usługa (FaaS): umożliwia wdrożenie kodu w usłudze, co powoduje jego automatyczne uruchomienie. Azure Functions to usługa FaaS.

    Uwaga

    Azure Functions to bezserwerowa oferta obliczeniowa platformy Azure. Aby zobaczyć, jak ta usługa porównuje się z innymi ofertami bezserwerowymi platformy Azure, takimi jak Usługa Logic Apps, która zapewnia przepływy pracy bezserwerowe, zobacz Wybieranie odpowiednich usług integracji i automatyzacji na platformie Azure.

Istnieje spektrum od IaaS do czystego PaaS. Na przykład maszyny wirtualne platformy Azure mogą automatycznie skalować przy użyciu zestawów skalowania maszyn wirtualnych. Ta funkcja nie jest ściśle usługą PaaS, ale jest to typ funkcji zarządzania znalezionych w usłudze PaaS.

Istnieje kompromis między kontrolą i łatwością zarządzania. Usługa IaaS zapewnia największą kontrolę, elastyczność i przenośność, ale musisz aprowizować, konfigurować i zarządzać tworzonymi maszynami wirtualnymi i składnikami sieciowymi. Usługi FaaS automatycznie zarządzają niemal wszystkimi aspektami uruchamiania aplikacji. PaaS spada gdzieś między.

Service Skład aplikacji Gęstość Minimalna liczba węzłów Zarządzanie stanem Hosting internetowy
Maszyny wirtualne platformy Azure Bez znaczenia Bez znaczenia 1 2 Bezstanowe lub stanowe Bez znaczenia
Azure App Service Aplikacje, kontenery Wiele aplikacji na wystąpienie przy użyciu planu usługi App Service 1 Bezstanowa Wbudowana
Azure Functions Funkcje, kontenery Bezserwerowy 1 Bezserwerowy 1 Bezstanowy lub stanowy 6 Nie dotyczy
Azure Kubernetes Service Kontenery Wiele kontenerów na węzeł 3 3 Bezstanowe lub stanowe Bez znaczenia
Azure Container Apps Kontenery Praca bezserwerowa Praca bezserwerowa Bezstanowe lub stanowe Bez znaczenia
Azure Container Instances Kontenery Brak dedykowanych wystąpień Brak dedykowanych węzłów Bezstanowa Bez znaczenia
Azure Red Hat OpenShift Kontenery Wiele kontenerów na węzeł 6 5 Bezstanowe lub stanowe Bez znaczenia
Azure Spring Apps Aplikacje, mikrousługi Wiele aplikacji na wystąpienie usługi 2 Bezstanowa Wbudowana
Azure Service Fabric Usługi, pliki wykonywalne gościa, kontenery Wiele usług na maszynę wirtualną 5 3 Bezstanowe lub stanowe Bez znaczenia
Usługa Azure Batch Zaplanowane zadania Wiele aplikacji na maszynę wirtualną 1 4 Bezstanowa Nie.

Uwagi

  1. Jeśli używasz planu Zużycie. W przypadku planu usługi App Service funkcje są uruchamiane na maszynach wirtualnych przydzielonych do planu usługi App Service. Zobacz Wybieranie prawidłowego planu usługi dla usługi Azure Functions.
  2. Wyższa umowa dotycząca poziomu usług (SLA) z co najmniej dwoma wystąpieniami.
  3. Zalecane w środowiskach produkcyjnych.
  4. Możliwe jest skalowanie do zera po ukończeniu zadania.
  5. Trzy dla węzłów podstawowych i trzy dla węzłów roboczych.
  6. W przypadku korzystania z rozszerzenia Durable Functions.

Sieć

Service Integracja sieci wirtualnej Łączność hybrydowa
Maszyny wirtualne platformy Azure Obsługiwane Obsługiwane
Azure App Service Obsługiwane 1 Obsługiwane 2
Azure Functions Obsługiwane 1 Obsługiwane 3
Azure Kubernetes Service Obsługiwane Obsługiwane
Azure Container Apps Obsługiwane Obsługiwane
Azure Container Instances Obsługiwane Obsługiwane
Azure Red Hat OpenShift Obsługiwane Obsługiwane
Azure Spring Apps Obsługiwane Obsługiwane
Azure Service Fabric Obsługiwane Obsługiwane
Usługa Azure Batch Obsługiwane Obsługiwane

Uwagi

  1. Wymaga środowiska App Service Environment.
  2. Użyj Połączenie hybrydowej usługi aplikacja systemu Azure Service.
  3. Wymaga planu usługi App Service lub planu usługi Azure Functions w wersji Premium.

DevOps

Service Debugowanie lokalne Model programowania Aktualizowanie aplikacji
Maszyny wirtualne platformy Azure Bez znaczenia Bez znaczenia Brak wbudowanej obsługi
Azure App Service IIS Express, inne 1 Aplikacje internetowe i interfejsy API, zadania WebJob na potrzeby zadań w tle Miejsca wdrożenia
Azure Functions Visual Studio lub interfejs wiersza polecenia usługi Azure Functions Bezserwerowe, sterowane zdarzeniami Miejsca wdrożenia
Azure Kubernetes Service Minikube, Docker, inne Bez znaczenia Aktualizacja stopniowa
Azure Container Apps Lokalne środowisko uruchomieniowe kontenera Bez znaczenia Zarządzanie poprawkami
Azure Container Instances Lokalne środowisko uruchomieniowe kontenera Bez znaczenia Nie dotyczy
Azure Red Hat OpenShift Minikube, Docker, inne Bez znaczenia Aktualizacja stopniowa
Azure Spring Apps Visual Studio Code, Intellij, Eclipse Spring Boot, Steeltoe Uaktualnianie stopniowe, wdrażanie niebiesko-zielone
Azure Service Fabric Lokalny węzeł klastra Plik wykonywalny gościa, model usług, model aktorów, kontenery Uaktualnianie stopniowe (na usługę)
Usługa Azure Batch Nieobsługiwane Aplikacja wiersza polecenia Nie dotyczy

Uwagi

  1. Opcje obejmują usługi IIS Express dla ASP.NET lub node.js (iisnode), serwera internetowego PHP, zestawu narzędzi Azure Toolkit for IntelliJ i zestawu narzędzi Azure Toolkit for Eclipse. Usługa App Service obsługuje też zdalne debugowanie wdrożonej aplikacji internetowej.

Skalowalność

Service Skalowanie automatyczne Moduł równoważenia obciążenia Limitskalowania 3
Maszyny wirtualne platformy Azure Zestawy skalowania maszyn wirtualnych Azure Load Balancer Obraz platformy: 1000 węzłów na zestaw skalowania, Obraz niestandardowy: 600 węzłów na zestaw skalowania
Azure App Service Wbudowana usługa Integracja 30 wystąpień, 100 w środowisku App Service Environment
Azure Functions Wbudowana usługa Integracja 200 wystąpień na aplikację funkcji
Azure Kubernetes Service Autoskalowanie zasobnika 1, skalowanie automatyczne klastra2 Usługa Azure Load Balancer lub brama aplikacja systemu Azure 5000 węzłów w przypadku korzystania z umowy SLA czasu pracy
Azure Container Apps Regułyskalowania 4 Integracja 5 środowisk na region, 20 aplikacji kontenerów na środowisko, 30 replik na aplikację kontenera
Azure Container Instances Nieobsługiwane Brak wbudowanej obsługi 20 grup kontenerów na subskrypcję (domyślny limit)
Azure Red Hat OpenShift Autoskalowanie zasobników, skalowanie automatyczne klastra Usługa Azure Load Balancer lub brama aplikacja systemu Azure 60 węzłów na klaster (limit domyślny)
Azure Spring Apps Wbudowana usługa Integracja 500 wystąpień aplikacji w warstwie Standardowa
Azure Service Fabric Zestawy skalowania maszyn wirtualnych Azure Load Balancer 100 węzłów na zestaw skalowania maszyn wirtualnych
Usługa Azure Batch Nie dotyczy Azure Load Balancer Limit 20 rdzeni (limit domyślny)

Uwagi

  1. Zobacz Autoskaluj zasobniki.
  2. Zobacz Automatyczne skalowanie klastra w celu spełnienia wymagań aplikacji w usłudze Azure Kubernetes Service.
  3. Zobacz Limity, limity przydziału i ograniczenia subskrypcji i usług platformy Azure.
  4. Zobacz Ustawianie reguł skalowania w usłudze Azure Container Apps.

Dostępność

Service SLA Tryb failover w wielu regionach
Maszyny wirtualne platformy Azure Umowa SLA dla maszyn wirtualnych Azure Traffic Manager, Azure Front Door i azure Load Balancer w wielu regionach
Azure App Service Umowa SLA dla usługi App Service Usługi Azure Traffic Manager i Azure Front Door
Azure Functions Umowa SLA dla usługi Functions Usługi Azure Traffic Manager i Azure Front Door
Azure Kubernetes Service Umowa SLA dla usługi AKS Usługa Azure Traffic Manager, usługa Azure Front Door i klaster wieloregionowy
Azure Container Apps Umowa SLA dla usługi Container Apps Usługi Azure Traffic Manager i Azure Front Door
Azure Container Instances Umowa SLA dla wystąpień kontenerów Usługi Azure Traffic Manager i Azure Front Door
Azure Red Hat OpenShift Umowa SLA dla usługi Azure Red Hat OpenShift Usługi Azure Traffic Manager i Azure Front Door
Azure Spring Apps Umowa SLA dla usługi Azure Spring Apps Usługa Azure Traffic Manager, usługa Azure Front Door i klaster wieloregionowy
Azure Service Fabric Umowa SLA dla usługi Service Fabric Azure Traffic Manager, Azure Front Door i azure Load Balancer w wielu regionach
Usługa Azure Batch Umowa SLA dla usługi Batch Nie dotyczy

Aby zapoznać się z przewodnikiem na temat gwarancji usług, zobacz Podstawowe usługi w chmurze — architektura platformy Azure i gwarancje dotyczące usług.

Zabezpieczenia

Przejrzyj i zapoznaj się z dostępnymi mechanizmami kontroli zabezpieczeń i widocznością dla każdej usługi:

Inne kryteria

Service TLS Koszt Odpowiednie style architektury
Maszyny wirtualne platformy Azure Skonfigurowane na maszynie wirtualnej Windows, Linux N-warstwowe, duże obliczenia (HPC)
Azure App Service Obsługiwane Cennik usługi App Service Proces roboczy kolejki internetowej
Azure Functions Obsługiwane Cennik usługi Functions Mikrousługi, architektura sterowana zdarzeniami
Azure Kubernetes Service Kontroler ruchu przychodzącego Cennik usługi AKS Mikrousługi, architektura sterowana zdarzeniami
Azure Container Apps Kontroler ruchu przychodzącego Cennik usługi Container Apps Mikrousługi, architektura sterowana zdarzeniami
Azure Container Instances Korzystanie z kontenera przyczepki Cennik usługi Container Instances Mikrousługi, automatyzacja zadań, zadania wsadowe
Azure Red Hat OpenShift Obsługiwane Cennik usługi Azure Red Hat OpenShift Mikrousługi, architektura sterowana zdarzeniami
Azure Spring Apps Obsługiwane Cennik usługi Azure Spring Apps Spring Boot, mikrousługi
Azure Service Fabric Obsługiwane Cennik usługi Service Fabric Mikrousługi, architektura sterowana zdarzeniami
Usługa Azure Batch Obsługiwane Cennik usługi Batch Duże obliczenia (HPC)

Rozważ limity i koszty

Oprócz poprzednich tabel porównania wykonaj bardziej szczegółową ocenę następujących aspektów usługi kandydata:

Współautorzy

Ten artykuł jest obsługiwany przez firmę Microsoft. Pierwotnie został napisany przez następujących współautorów:

Aby wyświetlić niepubliczne profile serwisu LinkedIn, zaloguj się do serwisu LinkedIn.

Następne kroki

Podstawowe usługi w chmurze — opcje obliczeniowe platformy Azure. W tym module Learn opisano, jak usługi obliczeniowe mogą rozwiązywać typowe potrzeby biznesowe.