Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Platforma Azure oferuje szereg usług hostingu kontenerów, które są przeznaczone do obsługi różnych obciążeń, architektur i wymagań biznesowych. Ten przewodnik wyboru usługi kontenera może pomóc zespołowi ds. obciążeń zrozumieć, która usługa kontenera platformy Azure jest najbardziej odpowiednia dla Twoich scenariuszy i wymagań dotyczących obciążeń.
Notatka
W tym przewodniku obciążenie odnosi się do kolekcji zasobów aplikacji, które obsługują cel biznesowy lub implementację procesu biznesowego. Obciążenie korzysta z wielu usług, takich jak interfejsy API i magazyny danych, które współpracują ze sobą w celu zapewnienia konkretnej kompleksowej funkcjonalności.
Przegląd
Ten przewodnik zawiera ten artykuł wprowadzający oraz inny artykuł dotyczący zagadnień wspólnych dla wszystkich typów obciążeń.
Notatka
Jeśli nie zobowiązujesz się do konteneryzacji, wybierz inną opcję obliczeniową do hostowania obciążenia.
W tym artykule wprowadzającym opisano usługi kontenerów platformy Azure omówione w tym przewodniku i porównuje modele usług na podstawie możliwości konfiguracji i wstępnie zdefiniowanych rozwiązań, takich jak podejścia zarządzane przez klienta i zarządzane przez firmę Microsoft. Po zidentyfikowaniu usług kandydatów na podstawie preferencji modelu usług następnym krokiem jest ocena opcji pod kątem wymagań dotyczących obciążeń przez przejrzenie artykułu na temat wspólnych zagadnień dotyczących sieci, zabezpieczeń, operacji i niezawodności.
Ten przewodnik ułatwia ocenę kompromisów na podstawie wymagań technicznych, rozmiaru i złożoności obciążenia. Uwzględnia również wiedzę twojego zespołu w celu zapewnienia świadomego podejmowania decyzji.
Usługi kontenerów platformy Azure w zakresie tego przewodnika
Ten przewodnik koncentruje się na podzestawie usług kontenerów zapewnianych przez platformę Azure. Ten podzestaw zawiera dojrzały zestaw funkcji dla aplikacji internetowych i interfejsów API, sieci, wglądu, narzędzi deweloperskich i operacji. Porównane są następujące usługi kontenerów:
Azure Container Apps to w pełni zarządzana platforma, która umożliwia uruchamianie konteneryzowanych aplikacji bez martwienia się o aranżację lub infrastrukturę. Aby uzyskać więcej informacji, zobacz dokumentację usługi Container Apps.
Usługa Azure Kubernetes Service (AKS) to zarządzana usługa Kubernetes służąca do uruchamiania konteneryzowanych aplikacji. Dzięki usłudze AKS można korzystać z zarządzanych dodatków i rozszerzeń w celu uzyskania dodatkowych możliwości, zachowując jednocześnie najszerszy poziom możliwości konfiguracji. Aby uzyskać więcej informacji, zobacz dokumentację usługi AKS.
Web App for Containers to funkcja usługi Azure App Service. App Service to w pełni zarządzana usługa do hostowania aplikacji internetowych opartych na protokole HTTP, które mają wbudowaną konserwację infrastruktury, stosowanie poprawek zabezpieczeń, skalowanie i narzędzia diagnostyczne. Aby uzyskać więcej informacji, zobacz dokumentację usługi App Service .
Aby uzyskać pełną listę usług kontenerów platformy Azure, zobacz Kontenery na platformie Azure.
Zagadnienia dotyczące modelu usług
Model usługi pomaga zrozumieć, ile elastyczności i kontroli zapewnia każda usługa kontenera platformy Azure. Złożone usługi zapewniają większą kontrolę, a prostsze usługi ułatwiają zarządzanie, ale ograniczają dostosowywanie.
Aby uzyskać więcej informacji na temat terminologii i pojęć dotyczących modelu usług, w tym infrastruktury jako usługi (IaaS) i platformy jako usługi (PaaS), zobacz Wspólna odpowiedzialność w chmurze.
Porównanie modeli usług rozwiązań kontenerów platformy Azure
Azure Kubernetes Service (AKS)
Usługa AKS to mieszanka usług IaaS i PaaS, która koncentruje się bardziej na kontroli niż na prostotie. Korzysta z platformy Kubernetes, która jest standardowym systemem do organizowania kontenerów. Usługa AKS usprawnia zarządzanie infrastrukturą podstawową. Jednak ta platforma oparta na maszynie wirtualnej jest uwidaczniona w aplikacjach i wymaga odpowiednich mechanizmów i procesów, takich jak stosowanie poprawek, w celu zapewnienia bezpieczeństwa i ciągłości działania. Infrastruktura obliczeniowa jest obsługiwana przez dodatkowe zasoby platformy Azure hostowane bezpośrednio w ramach subskrypcji, takie jak moduły równoważenia obciążenia platformy Azure, rejestry kontenerów lub bramy aplikacji.
Usługa AKS zapewnia dostęp do serwera interfejsu API Kubernetes, który umożliwia dostosowywanie orkiestracji kontenerów i wdrażanie aplikacji pomocniczych z poziomu natywnej platformy Cloud Computing Foundation. W związku z tym zespoły pracujące z obciążeniem, które są nowe w Kubernetes, mają przed sobą znaczną krzywą uczenia się. Jeśli nie znasz technologii konteneryzacji, musisz wziąć pod uwagę tę krzywą uczenia się. Następujące rozwiązania PaaS zapewniają niższą barierę wejścia. Możesz przejść na Kubernetes, gdy wymaga tego sytuacja.
Automatyczne usługi AKS
Usługa AKS Automatic ułatwia wdrażanie rozwiązania Kubernetes przez automatyzację złożonych zadań zarządzania klastrem. Ta automatyzacja zmniejsza zapotrzebowanie na zaawansowaną wiedzę na temat platformy Kubernetes. Zapewnia on bardziej usprawnione środowisko typu PaaS przy zachowaniu elastyczności i rozszerzalności platformy Kubernetes. Platforma Azure zarządza konfiguracją klastra, aprowizowaniem węzłów, skalowaniem, stosowaniem poprawek zabezpieczeń i domyślnie stosuje konfiguracje najlepszych rozwiązań. Ta automatyzacja zmniejsza nakład pracy operacyjnej, ale ogranicza dostępne opcje topologii.
Notatka
W tym przewodniku rozróżnia się usługi AKS Standard i AKS Automatic, jeśli ma to zastosowanie. W przeciwnym razie można założyć, że opisane funkcje są spójne w obu ofertach.
Container Apps
Container Apps to warstwa abstrakcji na platformie Kubernetes, która umożliwia uruchamianie i skalowanie aplikacji bez konieczności bezpośredniego zarządzania podstawową infrastrukturą. Usługa Container Apps oferuje opcje przetwarzania bezserwerowego i dedykowanego. Te opcje zapewniają pełną kontrolę nad typem i ilością zasobów obliczeniowych dostępnych dla aplikacji. Container Apps abstrahuje interfejsy API do orkiestracji kontenerów, jednocześnie zapewniając wbudowany dostęp do kluczowych funkcji, takich jak ingres warstwy 7, podział ruchu, testy A/B i zarządzanie cyklem życia aplikacji.
Web App for Containers
Usługa Web App for Containers to oferta PaaS, która priorytetowo określa prostotę kontroli w porównaniu z usługą Container Apps. Abstrahuje orkiestrację kontenerów, a jednocześnie obsługuje skalowanie, zarządzanie cyklem życia aplikacji, podział ruchu, integrację sieci i możliwość obserwowania.
Zagadnienia dotyczące modelu hostingu
Do hostowania wielu obciążeń można używać zasobów platformy Azure, takich jak klastry usługi AKS. Takie podejście może pomóc usprawnić operacje, co zmniejsza całkowity koszt. Jeśli wybierzesz tę opcję, rozważ następujące funkcje:
Usługa AKS jest często używana do hostowania wielu obciążeń lub różnych składników obciążenia. Te obciążenia i składniki można odizolować za pomocą natywnych funkcji platformy Kubernetes, takich jak przestrzenie nazw, mechanizmy kontroli dostępu i mechanizmy kontroli sieci, aby spełnić wymagania dotyczące zabezpieczeń.
Usługi AKS można również używać w scenariuszach z pojedynczym obciążeniem, jeśli potrzebujesz dodatkowej funkcjonalności, którą udostępnia interfejs API Kubernetes, a zespół obciążeń ma wystarczające doświadczenie w obsłudze klastra Kubernetes. Zespoły z mniejszym środowiskiem kubernetes mogą nadal efektywnie zarządzać własnymi klastrami przy użyciu dodatków i funkcji zarządzanych przez platformę Azure, takich jak automatyczne uaktualnianie klastra , aby zmniejszyć nakład pracy operacyjnej.
Usługa Container Apps powinna służyć do hostowania pojedynczego obciążenia z udostępnioną granicą zabezpieczeń. Usługa Container Apps ma jedną granicę logiczną najwyższego poziomu o nazwie środowisko usługi Container Apps, które służy również jako rozszerzona granica zabezpieczeń. Nie ma mechanizmów bardziej szczegółowej kontroli dostępu. Na przykład komunikacja wewnątrz środowiska jest nieograniczona, a wszystkie aplikacje współużytkują jeden obszar roboczy usługi Log Analytics.
Jeśli obciążenie ma wiele składników i granic zabezpieczeń, wdróż wiele środowisk usługi Container Apps lub rozważ zamiast tego usługę AKS.
Web App for Containers to funkcja usługi App Service. Usługa App Service grupuje aplikacje do logicznej granicy obliczeniowej nazywanej planem usługi App Service. Ponieważ możesz określić zakres kontroli dostępu opartej na rolach na poziomie aplikacji, możesz chcieć hostować wiele obciążeń w jednym planie. Jednak najlepiej hostować pojedyncze obciążenie dla każdego planu, aby uniknąć problemu hałaśliwego sąsiada. Wszystkie aplikacje w jednym planie usługi App Service współdzielą te same przydzielone zasoby obliczeniowe, pamięć i magazyn.
Podczas rozważania izolacji sprzętowej należy pamiętać, że plany usługi App Service są zwykle uruchamiane w infrastrukturze udostępnionej innym klientom platformy Azure. Możesz wybrać warstwy dedykowane dla dedykowanych maszyn wirtualnych lub warstw izolowanych dla dedykowanych maszyn wirtualnych w dedykowanej sieci wirtualnej.
Ogólnie rzecz biorąc, wszystkie usługi kontenerów platformy Azure mogą hostować wiele aplikacji, które mają wiele składników. Jednak usługi Container Apps i Web App for Containers działają najlepiej w przypadku pojedynczego komponentu obciążenia lub wielu ściśle powiązanych komponentów obciążenia, które współużytkują podobny cykl życia i są obsługiwane przez jedną drużynę, która jest właścicielem oraz operatorem aplikacji.
Jeśli konieczne jest hostowanie różnych składników aplikacji lub obciążeń na jednym hoście, rozważ użycie usługi AKS.
Kompromis między kontrolą a łatwością użytkowania
Usługa AKS zapewnia największą konfigurowalność, ale ta konfiguracja wymaga większego nakładu pracy operacyjnej w porównaniu z innymi usługami. Usługi Container Apps i Web App for Containers to usługi PaaS, które mają podobne poziomy funkcji zarządzanych przez firmę Microsoft. Usługa Web App for Containers koncentruje się na prostotzie, aby obsługiwać odbiorców docelowych, czyli istniejących klientów usługi App Service, którzy znają interfejs.
Najlepsze rozwiązania
Usługi, które zapewniają większą prostotę, zwykle odpowiadają klientom, którzy koncentrują się na tworzeniu funkcji zamiast zarządzania infrastrukturą. Usługi, które zapewniają większą kontrolę, zwykle odpowiadają klientom, którzy potrzebują możliwości konfiguracji i mają umiejętności, zasoby i uzasadnienie biznesowe do zarządzania własną infrastrukturą.
Wspólne zagadnienia dotyczące wszystkich obciążeń
Zespół ds. obciążeń może preferować określony model usług, ale ten model może nie spełniać ogólnych wymagań organizacji. Na przykład deweloperzy mogą potrzebować mniejszego nakładu pracy operacyjnego, ale zespoły ds. zabezpieczeń mogą rozważyć to obciążenie niezbędne do zapewnienia zgodności. Zespoły muszą współpracować, aby dokonać odpowiednich kompromisów.
Wspólne zagadnienia obejmują szeroką gamę czynników. Tylko podzbiór zagadnień może mieć zastosowanie do Ciebie na podstawie typu obciążenia. Twoja rola w organizacji ma również wpływ na istotne zagadnienia.
Poniższa tabela zawiera ogólne omówienie zagadnień, w tym porównań funkcji usługi. Zapoznaj się z zagadnieniami w każdej kategorii i porównaj je z wymaganiami obciążenia.
Kategoria | Przegląd |
---|---|
Zagadnienia dotyczące sieci | Sieć w usługach kontenerów platformy Azure zależy od preferencji dla uproszczenia lub możliwości konfiguracji. Usługa AKS zapewnia szeroką kontrolę nad przepływem sieci, ale wymaga większej ilości pracy operacyjnej. Usługa Container Apps ma funkcje sieci zarządzane przez platformę Azure i znajduje się między usługą AKS i usługą Web App for Containers, która obsługuje klientów, którzy już korzystają z usługi App Service. Decyzje projektowe sieci mają długoterminowe konsekwencje, ponieważ ich zmiana często wymaga ponownego wdrożenia obciążeń. Kilka czynników, takich jak planowanie adresów IP, równoważenie obciążenia, odnajdywanie usług i sieć prywatna, różnią się w zależności od tych usług. Należy dokładnie sprawdzić, jak każda usługa spełnia określone wymagania dotyczące sieci. |
Zagadnienia dotyczące zabezpieczeń | Usługi Container Apps, AKS i Web App for Containers integrują się z kluczowymi ofertami zabezpieczeń platformy Azure, takimi jak usługa Azure Key Vault i tożsamości zarządzane. Usługa AKS udostępnia dodatkowe funkcje, takie jak ochrona środowiska uruchomieniowego przed zagrożeniami i zasady sieci. Usługi PaaS, takie jak Container Apps, mogą wydawać się mieć mniej funkcji zabezpieczeń, ale częściowo dlatego, że platforma Azure zarządza bardziej podstawowymi składnikami infrastruktury. Ponieważ te składniki nie są narażone na klientów, ryzyko jest niższe. |
Zagadnienia operacyjne | Usługa AKS zapewnia największe możliwości dostosowywania, ale wymaga większej ilości danych wejściowych operacyjnych. Rozwiązania PaaS, takie jak Container Apps i Web App for Containers, umożliwiają platformie Azure obsługę zadań, takich jak aktualizacje systemu operacyjnego. Skalowalność i elastyczność jednostki SKU sprzętu są ważne. Usługa AKS oferuje elastyczne opcje sprzętowe, ale aplikacje kontenerów i aplikacja internetowa dla kontenerów mają mniej opcji. W usłudze AKS skalowalność aplikacji jest Twoim zadaniem, dzięki czemu można zastosować dowolne rozwiązanie zgodne z platformą Kubernetes. Usługa AKS Automatic, Container Apps i Web App for Containers koncentrują się na prostszych podejściach. |
Zagadnienia dotyczące niezawodności | Usługa Web App for Containers i Container Apps mają ograniczone konfiguracje sond kondycji w porównaniu z usługą AKS. Są one jednak prostsze do skonfigurowania, ponieważ używają znanego interfejsu API usługi Azure Resource Manager. Usługa AKS wymaga interfejsu API platformy Kubernetes, a także wymaga zarządzania skalowalnością i dostępnością puli węzłów Kubernetes w celu prawidłowego planowania wystąpień aplikacji. Te wymagania zwiększają wysiłek operacyjny AKS. Umowy dotyczące poziomu usług (SLA) dla usługi Container Apps i Web App for Containers są prostsze do obliczenia niż umowy SLA usługi AKS. Warstwa sterująca i pule węzłów usługi AKS mają własne umowy SLA, które muszą być uwzględnione. Wszystkie usługi zapewniają nadmiarowość stref w centrach danych, które ją obsługują. |
Po zapoznaniu się z powyższymi zagadnieniami możesz nadal nie znaleźć idealnego dopasowania, co jest typowe.
Ocena kompromisów
Przetwarzanie w chmurze jest złożone. Obejmuje to współpracę w wielu zespołach i musi uwzględniać ograniczenia osób, budżetów i czasu. Czynniki te sprawiają, że wybór usług w chmurze jest trudny i pełen kompromisów.
W przypadku dowolnego obciążenia niektóre wymagania mogą być bardziej krytyczne niż inne. Na przykład zespół aplikacji może preferować rozwiązanie PaaS, takie jak Container Apps, ale decydują się na usługę AKS, ponieważ ich zespół ds. zabezpieczeń wymaga mechanizmów kontroli sieci typu deny-by-default między współlokowanymi składnikami obciążenia. Ta funkcja dostępna tylko w AKS używa zasad sieciowych Kubernetes.
Powyższe wspólne zagadnienia obejmują najbardziej typowe wymagania, ale nie są kompleksowe. Przed podjęciem decyzji należy ocenić każde wymaganie względem zestawu funkcji preferowanej usługi.
Konkluzja
W tym przewodniku opisano najczęstsze zagadnienia związane z wybraniem usługi kontenera platformy Azure. Jest ona przeznaczona do ułatwiania zespołowi ds. obciążeń podejmowania świadomych decyzji. Proces rozpoczyna się od wybrania modelu usługi w chmurze, który obejmuje określenie żądanego poziomu kontroli. Większa kontrola jest kosztem prostoty. Innymi słowy, celem jest znalezienie właściwej równowagi między infrastrukturą zarządzaną samodzielnie a infrastrukturą zarządzaną przez firmę Microsoft.
Wiele zespołów obciążeń wybiera usługę kontenera platformy Azure wyłącznie na podstawie tego, czy preferują usługę PaaS lub IaaS. Inne zespoły muszą dokładniej zbadać, w jaki sposób funkcje specyficzne dla usługi spełniają wymagania dotyczące obciążenia lub organizacji.
Skorzystaj z tego przewodnika, aby dokładnie ocenić opcje i uniknąć podejmowania decyzji, które są trudne do odwrócenia. Jednak żadna decyzja nie jest ostateczna, dopóki deweloperzy nie wypróbują usługi i ocenią ją na podstawie praktycznego doświadczenia zamiast teorii.
Współpracownicy
Firma Microsoft utrzymuje ten artykuł. Następujący współautorzy napisali ten artykuł.
Główni autorzy
- Andre Dewes | Starszy inżynier klienta
- Marcos Martinez | Starszy inżynier ds. usług
- Julie Ng | Starszy inżynier
Inni współautorzy:
- Mick Alberts | Autor dokumentacji technicznej
- Martin Gjoszewski | Starszy inżynier klienta
- Don High | Główny inżynier klienta
- Nelly Kiboi | Inżynier usługi
- Xuhong Liu | Starszy inżynier ds. usług
- Faisal Mustafa | Starszy inżynier klienta
- Walter Myers | Główny menedżer inżynierów klienta
- Sonalika Roy | Starszy inżynier klienta
- Paolo Salvatori | Główny inżynier klienta
- Victor Santana | Główny inżynier klienta
- Carlos Mestre del Pino | Architekt rozwiązań w chmurze
Aby wyświetlić niepubliczne profile serwisu LinkedIn, zaloguj się do serwisu LinkedIn.