Udostępnij za pośrednictwem


Hostowanie aplikacji na platformie Azure

Jest to trzecia część serii 7 artykułów, które ułatwiają deweloperom rozpoczęcie pracy z platformą Azure.

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.

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.

Diagram przedstawiający brak kodu, niski kod w pierwszym polu, kod w drugim polu i kontener w trzecim polu z zalecanymi usługami dla każdego pola.

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.

Zasoby języka Java

Dodatkowe zasoby