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ą.
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 służąca 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.
Usługa | Skład aplikacji | Gęstość | Minimalna liczba węzłów | Zarządzanie stanem | Hosting internetowy |
---|---|---|---|---|---|
Azure Virtual Machines | 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
- 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.
- Wyższa umowa dotycząca poziomu usług (SLA) z co najmniej dwoma wystąpieniami.
- Zalecane w środowiskach produkcyjnych.
- Możliwe jest skalowanie do zera po ukończeniu zadania.
- Trzy dla węzłów podstawowych i trzy dla węzłów roboczych.
- W przypadku korzystania z rozszerzenia Durable Functions.
Sieć
Usługa | Integracja sieci wirtualnej | Łączność hybrydowa |
---|---|---|
Azure Virtual Machines | 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
- Wymaga środowiska App Service Environment.
- Użyj połączeń hybrydowych usługi aplikacja systemu Azure.
- Wymaga planu usługi App Service lub planu usługi Azure Functions w wersji Premium.
DevOps
Usługa | Debugowanie lokalne | Model programowania | Aktualizowanie aplikacji |
---|---|---|---|
Azure Virtual Machines | 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
- 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ść
Usługa | Skalowanie automatyczne | Moduł równoważenia obciążenia | Limitskalowania 3 |
---|---|---|---|
Azure Virtual Machines | 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
- Zobacz Autoskaluj zasobniki.
- Zobacz Automatyczne skalowanie klastra w celu spełnienia wymagań aplikacji w usłudze Azure Kubernetes Service.
- Zobacz Limity, limity przydziału i ograniczenia subskrypcji i usług platformy Azure.
- Zobacz Ustawianie reguł skalowania w usłudze Azure Container Apps.
Dostępność
Usługa | SLA | Tryb failover w wielu regionach |
---|---|---|
Azure Virtual Machines | 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 (AKS) | 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:
- Maszyna wirtualna platformy Azure z systemem Windows
- Maszyna wirtualna z systemem Linux platformy Azure
- Azure App Service
- Azure Functions
- Azure Kubernetes Service
- Azure Container Instances
- Azure Spring Apps
- Azure Service Fabric
- Azure Batch
Inne kryteria
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:
- Ayobami Ayodeji | Starszy menedżer programu
- Jelle Druyts | Główny inżynier usługi
- Martin Gjoszewski | Starszy inżynier ds. usług
- Phil Huang | Starszy architekt rozwiązań w chmurze
- Julie Ng | Starszy inżynier ds. usług
- Paolo Salvatori | Główny inżynier usługi
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.