Hostowanie aplikacji na platformie Azure
Jest to trzecia część serii 7 artykułów, które ułatwiają deweloperom rozpoczęcie pracy z platformą Azure.
- Część 1. Omówienie platformy Azure dla deweloperów
- Część 2. Kluczowe usługi platformy Azure dla deweloperów
- Część 3. Hostowanie aplikacji na platformie Azure
- Część 4. Łączenie aplikacji z usługami platformy Azure
- Część 5: Jak mogę tworzyć zasoby i zarządzać nimi na platformie Azure?
- Część 6. Kluczowe pojęcia dotyczące tworzenia aplikacji platformy Azure
- Część 7: Jak jestem rozliczany?
Platforma Azure oferuje różne sposoby hostowania aplikacji w zależności od potrzeb. W tym artykule przedstawiono usługi spełniające wymagania. To nie jest proskrypcyjne. Możesz łączyć usługi i dopasowywać je do swoich potrzeb. Większość środowisk produkcyjnych używa kombinacji usług, aby zaspokoić potrzeby biznesowe i organizacyjne.
Wybrane usługi często sprowadzają się do dwóch zagadnień:
- Czy wolisz prostotę lub kontrolę?
- Czy wolisz natywne dla chmury (tj. kontenery) lub natywne dla platformy Azure (dostosowane narzędzia i integracje)
W poniższym filmie wideo wyjaśniono pierwszą kwestie: prostota a kontrola:
Prostota i kontrolka
Usługi hostingu platformy Azure są udostępniane z dwoma zagadnieniami:
- Prostota a kontrolka
- Proste platformy hostingu wymagają mniejszej konfiguracji i zarządzania, ale zapewniają mniejszą kontrolę nad podstawową infrastrukturą.
- Bardziej złożone platformy hostingu wymagają większej konfiguracji i zarządzania, ale zapewniają większą kontrolę nad podstawową infrastrukturą.
- Natywna dla chmury a natywna dla platformy Azure
- Chmura natywna może być uważana za przenośną w chmurze przy użyciu obciążeń typu open source, takich jak kontenery i technologie open source, takie jak Dapr. Kompilowane aplikacje można wdrożyć u dowolnego dostawcy usług w chmurze.
- Natywny dla platformy Azure jest specyficzny dla platformy Azure dzięki inwestycjom w narzędzia i technologie specyficzne dla platformy Azure do zarządzania infrastrukturą. Chociaż te usługi obejmują obciążenia kontenerów, obejmują one również narzędzia typu code-first, low-code i infrastruktury specyficzne dla platformy Azure z naciskiem na łączenie się i integrację między usługami platformy Azure.
Uproszczone hosting
Uproszczone rozwiązania hostingowe są w pełni zarządzane przez platformę Azure. Odpowiadasz za funkcje, takie jak kod i konfiguracja środowiska. Platforma Azure zarządza bazowym środowiskiem uruchomieniowym i infrastrukturą, w tym aktualizacjami i poprawkami. Uproszczony hosting jest podejściem natywnym dla platformy Azure.
- Logic Apps: tworzenie i uruchamianie zautomatyzowanych przepływów pracy bez kodu.
- Power Automate: umożliwia automatyzację procesów biznesowych i przepływów pracy.
- Azure Static Web Apps: wdrażanie wygenerowanych statycznych aplikacji internetowych, takich jak Blazor i React.
- Aplikacje usługi Azure Functions: bezserwerowy kod lub hosting kontenerów.
Zrównoważony hosting
Zrównoważone rozwiązania hostingu równoważą potrzebę uproszczenia dzięki potrzebom kontroli. Odpowiadasz za funkcje, takie jak kod i konfiguracja środowiska. Platforma Azure zarządza bazowym środowiskiem uruchomieniowym i infrastrukturą, w tym aktualizacjami i poprawkami. Możesz również przenieść własny kontener do usługi. Zrównoważony hosting jest natywny dla platformy Azure i natywny dla chmury.
- usługa aplikacja systemu Azure: hosting internetowy w pełnej usłudze, w tym środowiska uruchomieniowe języka, kontenery i obciążenia automatyzacji.
- Azure Container Apps: hostowanie kontenerów bezserwerowych.
- Azure Spring Apps: migrowanie aplikacji Spring Boot do chmury platformy Azure.
Kontrolowany hosting
Kontrolowane rozwiązania hostingowe zapewniają pełną kontrolę nad podstawową infrastrukturą. Odpowiadasz za aktualizacje i poprawki, a także kod, zasoby i konfigurację środowiska. Kontrolowany hosting jest podejściem natywnym dla chmury.
- Azure Virtual Machines: pełna kontrola nad maszyną wirtualną.
- Azure Kubernetes Service: pełna kontrola nad klastrem Kubernetes.
Hosting kodu źródłowego
Deweloperzy nowi na platformie Azure, którzy chcą rozpocząć tworzenie nowych rozwiązań, skorzystaj z poniższego wykresu, aby znaleźć sugerowane rozwiązanie hostingu.
Brak kodu lub niskiego poziomu kodu
pomoc techniczna platformy Azure rozwiązania bez kodu są częścią podejścia Azure-Cloud.
- Logic Apps: użyj projektanta wizualnego ze wstępnie utworzonymi operacjami, aby opracować przepływ pracy dla scenariuszy między przedsiębiorstwami i firmami.
- Usługa Power Automate , taka jak power apps: użyj polecenia , gdy musisz zautomatyzować procesy biznesowe i przepływy pracy w organizacji platformy Microsoft 365.
Kod a kontener
Rozwiązania hostingu z małą ilością kodu zostały zaprojektowane tak, aby umożliwić korzystanie z funkcji kodu bez konieczności zarządzania infrastrukturą aplikacji.
- Azure Static Web Apps: wdrażanie wygenerowanych statycznych aplikacji internetowych.
- Azure Functions: wdrażanie funkcji kodu w obsługiwanych językach bez konieczności zarządzania infrastrukturą aplikacji.
Rozwiązania hostingowe oparte na kodzie są przeznaczone do hostowania kodu. Kod można wdrożyć bezpośrednio w rozwiązaniu hostingu.
- usługa aplikacja systemu Azure: hosting internetowy w pełnej usłudze.
- Azure Spring Apps: aplikacje Spring Boot.
Rozwiązania hostingowe oparte na kontenerach są przeznaczone do hostowania kontenerów. Usługa udostępnia opcje i funkcje konfiguracji specyficzne dla kontenera. Odpowiadasz za zasoby obliczeniowe używane w kontenerze. Usługi, które hostją kontenery, przenoszą się z kontroli zarządzanej do pełnej odpowiedzialności, dzięki czemu zajmujesz się tylko odpowiednią ilością zarządzania kontenerami.
Hosting orkiestracji skoncentrowanej na platformie Kubernetes obejmuje:
Usługa | Ukierunkowanie | Używanie |
---|---|---|
Azure Kubernetes Service | Natywne dla chmury | Służy do klastrów Kubernetes z deklaratywnym podejściem przy użyciu plików konfiguracji i artefaktów zewnętrznych. |
Azure Service Fabric | Natywny dla platformy Azure | Stosowanie podejścia imperatywnego do wdrażania mikrousług w klastrach maszyn. Udostępnia ona model programowania, który umożliwia deweloperom pisanie kodu opisującego żądany stan systemu, a środowisko uruchomieniowe usługi Service Fabric zajmuje się dopasowaniem systemu do tego stanu. |
Wstępnie skonfigurowany hosting kontenerów oznacza, że opcje aranżacji są wstępnie skonfigurowane. Możliwość komunikowania się między kontenerami lub klastrami kontenerów może wymagać dodatkowej usługi, takiej jak Dapr.
Usługa | Używanie |
---|---|
Azure App Service | hosting w sieci Web w pełnej usłudze |
Azure Spring Apps | Aplikacje Spring Boot |
Azure Container Apps | hostowanie kontenerów bezserwerowych |
Azure Container Instances | proste, pojedyncze hostowanie kontenerów |
Platforma Azure udostępnia rejestr kontenerów do przechowywania obrazów kontenerów i zarządzania nimi lub można użyć rejestru kontenerów innej firmy.
Usługa | Używanie |
---|---|
Azure Container Registry | Użyj polecenia podczas kompilowania i hostowania własnych obrazów kontenerów, które mogą być wyzwalane za pomocą zatwierdzeń kodu źródłowego i aktualizacji obrazu podstawowego. |
Praca bezserwerowa
Rozwiązania hostingu bezserwerowego są przeznaczone do uruchamiania bezstanowego kodu, który obejmuje warstwę cenową opartą na użyciu, która jest skalowana do zera, gdy nie jest używana.
Usługa | Używanie |
---|---|
Azure Container Apps | Hosting kontenerów. |
Azure Functions | Hosting kodu lub kontenera. |
Mikrousługi
Mikrousługi hostingowe są przeznaczone do uruchamiania małych, niezależnych usług, które współpracują ze sobą w celu utworzenia większej aplikacji. Mikrousługi są zwykle wdrażane jako kontenery.
Usługa | Używanie |
---|---|
Azure Container Apps | Służy do bezserwerowych konteneryzowanych mikrousług. |
Azure Functions | Służy do obsługi kodu bezserwerowego lub konteneryzowanych mikrousług. |
Krawędź chmury
Usługa Cloud Edge to termin wskazujący, czy usługa w chmurze znajduje się w celu korzyści dla użytkownika (klienta) lub aplikacji (serwera).
Obliczenia klienta
Obliczenia klienta to obliczenia uruchamiane na kliencie z dala od chmury platformy Azure. Obliczenia klienta są zwykle używane do renderowania po stronie klienta i przetwarzania po stronie klienta, takich jak aplikacje oparte na przeglądarce lub mobilne.
Usługa | Używanie |
---|---|
Azure Static Web Apps | Służy do statycznych aplikacji internetowych korzystających z renderowania po stronie klienta, takich jak React, Angular, Svelte, Vue i Blazor. |
Dostępność klienta
Usługa | Używanie |
---|---|
Azure Front Door | Umożliwia wszystkim aplikacjom dostępnym z Internetu zapewnienie globalnej pamięci podręcznej i bezpiecznej sieci do statycznych i dynamicznych zasobów, w tym ochrony przed atakami DDoS, kompleksowego szyfrowania TLS, zapór aplikacji i filtrowania geograficznego. |
Obliczenia serwera
Zasoby obliczeniowe serwera to pliki przetwarzane przez serwer przed udostępnieniem klientowi. Zasoby dynamiczne są opracowywane przy użyciu obliczeń serwera zaplecza, opcjonalnie zintegrowanych z innymi usługami platformy Azure.
Usługa | Używanie |
---|---|
Azure App Service | Ta usługa służy do typowego hostingu internetowego. Obsługuje to szeroki zestaw funkcji punktów końcowych interfejsu API, aplikacji pełnego stosu i zadań w tle. Ta usługa zawiera wiele środowisk uruchomieniowych języka programowania, a także możliwość udostępniania własnego stosu, języka lub obciążenia z kontenera. |
Azure Functions | Ta usługa umożliwia udostępnienie własnego kodu w obsługiwanych językach dla punktów końcowych HTTP lub wyzwalaczy opartych na zdarzeniach z usług platformy Azure. |
Azure Spring Apps | Służy do wdrażania aplikacji Spring Boot bez zmian kodu. |
Azure Container Apps | Służy do hostowania zarządzanych mikrousług i konteneryzowanych aplikacji na platformie bezserwerowej. |
Azure Container Instances | Użyj go w przypadku prostych scenariuszy kontenerów, które nie wymagają orkiestracji kontenerów. |
Azure Kubernetes Service | Użyj tej usługi, jeśli potrzebujesz klastra Kubernetes. Płaszczyzna sterowania do zarządzania klastrem jest tworzona i zapewniana bez dodatkowych kosztów. |
Zarządzanie punktami końcowymi serwera
Zarządzanie punktami końcowymi serwera to możliwość zarządzania punktem końcowym serwera i jego obliczeniami za pośrednictwem bramy. Ta brama zapewnia funkcje, takie jak przechowywanie wersji, buforowanie, przekształcanie, zasady interfejsu API i monitorowanie.
Usługa | Używanie |
---|---|
Azure API Management | Użyj tej usługi, gdy produktujesz interfejsy API REST, OpenAPI i GraphQL z bramą interfejsu API, w tym limitami przydziałów i limitami szybkości, uwierzytelnianiem i autoryzacją, transformacją i odpowiedziami w pamięci podręcznej. |
Usługa Azure Application Gateway | Służy do równoważenia obciążenia regionalnego (WARSTWA OSI 7). Może służyć do kierowania ruchu na podstawie ścieżki adresu URL lub nagłówków hosta i obsługuje odciążanie protokołu SSL, koligację sesji opartą na plikach cookie i możliwości zapory aplikacji internetowej (WAF). |
Azure Front Door | Służy do globalnego równoważenia obciążenia (WARSTWA 7) w celu zapewnienia globalnej sieci buforowanej i bezpiecznej dla statycznych i dynamicznych zasobów, w tym ochrony przed atakami DDoS, kompleksowego szyfrowania TLS, zapór aplikacji i filtrowania geograficznego. |
Azure Traffic Manager | Służy do dystrybucji ruchu przez system DNS (warstwa OSI 7) do publicznych aplikacji w globalnych regionach świadczenia usługi Azure. Usługa Traffic Manager używa systemu DNS do kierowania żądań klientów do odpowiedniego punktu końcowego usługi na podstawie metody routingu ruchu. Obsługuje różne metody routingu ruchu, takie jak priorytet, wydajność i routing geograficzny. Idealnie nadaje się do zarządzania ruchem w wielu regionach lub centrach danych. |
Zautomatyzowane obliczenia
Zautomatyzowane obliczenia są zautomatyzowane przez zdarzenie, takie jak zaplanowany harmonogram lub inna usługa platformy Azure i jest zwykle używane do przetwarzania w tle, przetwarzania wsadowego lub długotrwałych procesów.
Usługa | Używanie |
---|---|
Power Automate | Użyj polecenia , gdy musisz zautomatyzować procesy biznesowe i przepływy pracy. |
Azure Functions | Użyj polecenia , gdy musisz uruchomić kod na podstawie zaplanowanego harmonogramu lub w odpowiedzi na zdarzenia w innych usługach platformy Azure. |
Container Services (Azure Container Instances, Azure Kubernetes Service, Azure Container Apps) | Używanie w przypadku standardowych, automatyzowalnych obciążeń |
Azure Batch | Użyj polecenia , gdy potrzebujesz automatyzacji o wysokiej wydajności. |
Chmura hybrydowa
Chmura hybrydowa to środowisko obliczeniowe, które łączy lokalne usługi w chmurze prywatnej firmy i chmurę publiczną innej firmy w jedną, elastyczną infrastrukturę do uruchamiania aplikacji i obciążeń organizacji.
Usługa | Używanie |
---|---|
Azure Arc | Użyj polecenia , jeśli musisz zarządzać całym środowiskiem, zarówno zasobami w chmurze, jak i lokalnymi, w tym zabezpieczeniami, ładem, spisem i zarządzaniem. |
Jeśli nie musisz utrzymywać własnej infrastruktury, możesz użyć rozwiązania Azure Stack HCI do uruchamiania maszyn wirtualnych lokalnie.
Obliczenia o wysokiej wydajności
Obliczenia o wysokiej wydajności (HPC) to wykorzystanie przetwarzania równoległego do wydajnego, niezawodnego i szybkiego uruchamiania zaawansowanych programów aplikacji. Termin dotyczy zwłaszcza systemów, które działają powyżej teraflopu lub 10^12 operacji zmiennoprzecinkowych na sekundę.
Usługa | Używanie |
---|---|
Azure Batch | Usługa Azure Batch tworzy pulę węzłów obliczeniowych (maszyn wirtualnych) i zarządza nią, instaluje aplikacje, które chcesz uruchamiać, i tworzy harmonogram zadań do uruchomienia na węzłach. Deweloperzy mogą używać usługi Batch jako usługi platformy do tworzenia aplikacji SaaS lub aplikacji klienckich, dla których wymagane jest wykonywanie na dużą skalę. |
Wystąpienia usługi Azure BareMetal | Użyj polecenia , jeśli musisz uruchomić w środowisku niewirtualizowanym z dostępem na poziomie głównym do systemu operacyjnego, magazynu i sieci. |
Obszar roboczy usługi Azure Quantum | Użyj polecenia , gdy musisz opracowywać i eksperymentować z algorytmami kwantowymi. |
Microsoft Genomics | Służy do przetwarzania genomicznego zgodnego z normą ISO zgodnego z normą HIPAA. |
Dowiedz się więcej o obliczeniach o wysokiej wydajności na platformie Azure.
Obliczenia oparte na zdarzeniach
Obliczenia oparte na zdarzeniach to obliczenia wyzwalane przez zdarzenie, takie jak zaplanowany harmonogram lub inna usługa platformy Azure. Obliczenia oparte na zdarzeniach są zwykle używane do przetwarzania w tle, przetwarzania wsadowego lub długotrwałych procesów.
Usługa | Używanie |
---|---|
Power Virtual Agents | Użyj polecenia , jeśli musisz utworzyć czatboty z interfejsem bez kodu. |
Azure Functions | Użyj polecenia , gdy musisz uruchomić kod na podstawie zaplanowanego harmonogramu lub w odpowiedzi na zdarzenia w innych usługach platformy Azure. |
Obsługa komunikatów usługi Azure Service Bus | Użyj polecenia , aby rozdzielić aplikacje i usługi. |
Obliczenia ciągłej integracji/ciągłego wdrażania
Obliczenia ciągłej integracji/ciągłego wdrażania to obliczenia używane do kompilowania i wdrażania aplikacji.
Usługa | opis |
---|---|
Azure DevOps | Usługa Azure DevOps umożliwia ścisłą integrację z chmurą platformy Azure, w tym uwierzytelnianie i autoryzację do hostowanych agentów, które kompilują i wdrażają aplikację. |
Funkcja GitHub Actions | Użyj funkcji GitHub Actions, aby skompilować i wdrożyć aplikacje repozytorium GitHub. Użyj interfejsu wiersza polecenia platformy Azure, aby bezpiecznie uzyskać dostęp do platformy Azure w ramach akcji. |
Azure Virtual Machines | Jeśli używasz innego systemu ciągłej integracji/ciągłego wdrażania, możesz użyć usługi Azure Virtual Machines do hostowania systemu ciągłej integracji/ciągłego wdrażania. |