Sdílet prostřednictvím


Volba služby kontejneru Azure

Azure nabízí celou řadu služeb hostování kontejnerů, které jsou navržené tak, aby vyhovovaly různým úlohám, architekturám a obchodním požadavkům. Tento průvodce výběrem služby kontejneru vám pomůže pochopit, která služba kontejneru Azure je pro vaše scénáře a požadavky nejvhodnější.

Poznámka

V této příručce termín úlohy odkazuje na kolekci prostředků aplikace, které podporují obchodní cíl nebo provádění obchodního procesu. Úloha používá více služeb, jako jsou rozhraní API a úložiště dat, které spolupracují na poskytování konkrétních komplexních funkcí.

Jak používat tohoto průvodce

Tato příručka obsahuje dva články: tento úvodní článek a další článek o důležitých informací, které jsou sdíleny napříč všemi typy úloh.

Poznámka

Pokud ještě nejste zavázáni ke kontejnerizaci, podívejte se na Volba výpočetní služby Azure pro informace o dalších možnostech výpočetních prostředků, které můžete použít k hostování vaší pracovní zátěže.

Tento úvodní článek popisuje služby kontejnerů Azure, které jsou v rámci této příručky, a jak se modely služeb porovnávají z hlediska vyvážení mezi konfigurovatelností a standardizovanými řešeními, jako jsou přístupy spravované zákazníkem versus spravované Microsoftem. Jakmile identifikujete potenciální služby na základě předvoleb modelu služby, dalším krokem je vyhodnotit možnosti oproti vašim požadavkům na pracovní zátěž pomocí přečtení článku o sdílených úvahách pro sítě, zabezpečení, provoz a spolehlivost.

Tato příručka bere v úvahu kompromisy, které možná budete muset provést na základě technických požadavků, velikosti a složitosti vašich úloh a odborných znalostí týmu vaší úlohy.

Služby kontejneru Azure v oboru pro tuto příručku

Tato příručka se zaměřuje na podmnožinu služeb kontejneru, které Azure aktuálně nabízí. Tato podmnožina poskytuje vyspělou sadu funkcí pro webové aplikace a rozhraní API, sítě, pozorovatelnost, vývojářské nástroje a operace. Tyto služby kontejneru jsou porovnávány:

logo Azure Container Apps

Azure Container Apps je plně spravovaná platforma, která umožňuje spouštět kontejnerizované aplikace, aniž byste se museli starat o orchestraci nebo infrastrukturu. Další informace najdete v dokumentaci ke službě Azure Container Apps.

AKS logo

azure Kubernetes Service (AKS) je spravovaná služba Kubernetes pro spouštění kontejnerizovaných aplikací. S AKS můžete využívat spravované doplňky a rozšíření pro další možnosti a současně zachovat nejširší úroveň konfigurovatelnosti. Další informace najdete v dokumentaci AKS.

logo služby App Service

Web App for Containers je funkce služby Azure App Service, která je plně spravovaná pro hostování webových aplikací založených na PROTOKOLU HTTP s integrovanou údržbou infrastruktury, opravami zabezpečení, škálováním a diagnostickými nástroji. Další informace najdete v dokumentaci ke službě App Service.

Úplný seznam všech služeb kontejneru Azure najdete na stránce kategorie produktů container services.

Důležité informace o modelu služby

Model služby poskytuje nejširší přehled o úrovni flexibility a řízení, které poskytuje jakákoli služba kontejneru Azure, a to výměnou za celkovou jednoduchost a snadné použití.

Obecný úvod do terminologie a konceptů modelů služeb, včetně infrastruktury jako služby (IaaS) a platformy jako služby (PaaS), najdete v tématu Sdílená odpovědnost v cloudovém.

Porovnání modelů služeb řešení kontejnerů Azure

AKS

Jako hybridní řešení IaaS a PaaS upřednostňuje AKS kontrolu nad jednoduchostí a využívá de facto standard pro orchestraci kontejnerů: Kubernetes. I když AKS zjednodušuje správu základní základní infrastruktury, tato platforma založená na virtuálních počítačích je stále vystavená vašim aplikacím a vyžaduje odpovídající mantinely a procesy, jako jsou opravy, k zajištění zabezpečení a kontinuity podnikových procesů. Výpočetní infrastrukturu podporují další prostředky Azure hostované přímo ve vašem předplatném, jako jsou nástroje pro vyrovnávání zatížení Azure.

AKS také poskytuje přístup k serveru rozhraní API Kubernetes, který umožňuje přizpůsobit orchestraci kontejnerů a tak nasazovat projekty ze služby Cloud Native Computing Foundation (CNCF). V důsledku toho existuje významná křivka učení pro týmy úloh, které jsou pro Kubernetes nové. Pokud s kontejnerizovanými řešeními začínáte, je potřeba vzít v úvahu tuto křivku učení. Následující řešení PaaS nabízejí nižší bariéru pro vstup. Na Kubernetes můžete přejít, když to vyžadují vaše požadavky.

Automatické AKS

Automatické AKS usnadňuje přijetí Kubernetes automatizací složitých úkolů správy clusterů a snižuje tak potřebu hlubokých odborných znalostí o Kubernetes. Nabízí více zjednodušený zážitek podobný PaaS při současném zachování flexibility a rozšiřitelnosti Kubernetes. Azure zpracovává nastavení clusteru, zřizování uzlů, škálování, opravy zabezpečení a ve výchozím nastavení používá některé konfigurace osvědčených postupů. To snižuje provozní úsilí, ale obsahuje omezenou sadu dostupných možností topologie.

Poznámka

Tato příručka bude rozlišovat mezi standardem AKS a automatickým AKS, pokud je to možné. Lze předpokládat, že popsané funkce jsou stejné jak ve standardních, tak i v automatických nabídkách.

Azure Container Apps

Azure Container Apps je abstraktní vrstva nad Kubernetes, která umožňuje spouštění a škálování vašich aplikací, aniž byste museli přímo spravovat základní infrastrukturu. Container Apps nabízí možnosti bezserverového i vyhrazeného výpočetního prostředí a poskytuje plnou kontrolu nad typem a množstvím výpočetních prostředků dostupných pro vaše aplikace. Při abstrakci rozhraní API pro orchestraci kontejnerů vám služba Container Apps stále poskytuje přístup ke klíčovým funkcím, jako jsou vstup vrstvy 7, rozdělení provozu, testování A/B a správa životního cyklu aplikací.

Webová aplikace pro kontejnery

Web App for Containers je také nabídka PaaS, ale poskytuje větší jednoduchost a menší kontrolu než Container Apps. Abstrahuje orchestraci kontejnerů, ale stále poskytuje vhodné škálování, správu životního cyklu aplikací, rozdělení provozu, integraci sítě a pozorovatelnost.

Aspekty modelu hostování

Prostředky Azure, jako jsou clustery AKS, můžete použít k hostování více úloh. Díky tomu můžete zjednodušit provoz a snížit celkové náklady. Pokud zvolíte tuto cestu, tady je několik důležitých aspektů:

  • AKS se běžně používá k hostování více úloh nebo různorodých komponent úloh. Tyto úlohy a komponenty můžete izolovat pomocí nativních funkcí Kubernetes, jako jsou obory názvů, řízení přístupu a síťové řízení, aby splňovaly požadavky na zabezpečení.

    AKS můžete použít také ve scénářích s jednou úlohou, pokud potřebujete další funkce, které poskytuje rozhraní Kubernetes API a váš tým úloh má dostatek zkušeností pro provoz clusteru Kubernetes. Týmy s menším prostředím Kubernetes můžou i nadále úspěšně provozovat vlastní clustery tím, že využívají doplňků spravovaných v Azure a funkcích, jako je cluster s automatickým upgradem, a snížit tak provozní úsilí.

  • kontejnerové aplikace by se měly použít k hostování jedné úlohy se sdílenou hranicí zabezpečení. Container Apps má jednu logickou hranici nejvyšší úrovně označovanou jako prostředí Container Apps, které slouží také jako hranice rozšířeného zabezpečení. Neexistují žádné mechanismy pro další podrobné řízení přístupu. Komunikace uvnitř prostředí je například neomezená a všechny aplikace sdílejí jeden pracovní prostor služby Log Analytics.

    Pokud má úloha více komponent a více hranic zabezpečení, nasaďte několik prostředí Container Apps nebo zvažte AKS.

  • Web App for Containers je součástí služby App Service. App Service seskupuje aplikace do fakturačního rámce, který se nazývá plán služby App Service . Vzhledem k tomu, že můžete nastavit obor řízení přístupu na základě role (RBAC) na úrovni aplikace, může být lákavé hostovat více úloh v jednom plánu. Doporučujeme ale hostovat jednu úlohu pro každý plán, abyste se vyhnuli problému s hlučným sousedem. Všechny aplikace v jednom plánu služby App Service sdílejí stejné přidělené výpočetní prostředky, paměť a úložiště.

    Při zvažování izolace hardwaru je potřeba mít na paměti, že plány služby App Service obecně běží na infrastruktuře, která je sdílená s ostatními zákazníky Azure. Můžete zvolit vyhrazené úrovně pro vyhrazené virtuální počítače nebo izolované úrovně pro vyhrazené virtuální počítače ve vyhrazené virtuální síti.

Obecně platí, že všechny služby kontejnerů Azure můžou hostovat více aplikací, které mají více komponent. Container Apps a Web App for Containers jsou ale vhodnější pro komponentu s jednou úlohou nebo několik vysoce souvisejících komponent úloh, které sdílejí podobný životní cyklus, kde jeden tým vlastní a spouští aplikace.

Pokud potřebujete hostovat různorodé, potenciálně nesouvisející komponenty aplikací nebo úlohy na jednom hostiteli, zvažte AKS.

Kompromis mezi kontrolou a snadným používáním

AKS poskytuje největší konfigurovatelnost, ale tato konfigurovatelnost vyžaduje větší provozní úsilí v porovnání s ostatními službami. I když container Apps i Web App for Containers jsou služby PaaS, které mají podobné úrovně funkcí spravovaných Microsoftem, služba Web App for Containers zdůrazňuje jednoduchost, aby vyhovovala cílové cílové skupině: stávající zákazníci Azure PaaS, kteří rozhraní znají.

Empirické pravidlo

Obecně platí, že služby, které nabízejí větší jednoduchost, mají tendenci vyhovovat zákazníkům, kteří se raději zaměřují na vývoj funkcí, a ne na správu infrastruktury. Služby, které nabízejí větší kontrolu, mají tendenci vyhovovat zákazníkům, kteří potřebují větší konfigurovatelnost a mají dovednosti, prostředky a obchodní odůvodnění potřebné ke správě vlastní infrastruktury.

Sdílené aspekty napříč všemi úlohami

I když tým úloh může preferovat konkrétní model služby, nemusí tento model splňovat požadavky organizace jako celku. Vývojáři například můžou preferovat menší provozní úsilí, ale týmy zabezpečení můžou zvážit tento typ režie potřebné ke splnění požadavků na dodržování předpisů. Týmy musí spolupracovat, aby udělaly vhodné kompromisy.

Mějte na paměti, že sdílené úvahy jsou obsáhlé. V závislosti na typu úlohy, ale i na vaší roli v organizaci, může být pro vás relevantní jenom podmnožina.

Následující tabulka obsahuje základní přehled aspektů, včetně porovnání funkcí služeb. Projděte si důležité informace v jednotlivých kategoriích a porovnejte je s požadavky vaší úlohy.

Kategorie Přehled
Úvahy o síťování Sítě v kontejnerových službách Azure se liší v závislosti na vašich preferencích pro jednoduchost a konfigurovatelnost. AKS je vysoce konfigurovatelná a poskytuje rozsáhlou kontrolu nad tokem sítě, ale vyžaduje větší provozní úsilí. Container Apps nabízí síťové funkce spravované v Azure. Jedná se o střední úroveň mezi AKS a Web App for Containers, která je přizpůsobená zákazníkům, kteří jsou obeznámeni se službou App Service.

Zásadní je, že rozhodnutí o návrhu sítě můžou mít dlouhodobé důsledky kvůli výzvám při jejich změně, aniž by bylo potřeba opětovně nasazovat úlohy. Mezi těmito službami se liší několik faktorů, jako je plánování IP adres, vyrovnávání zatížení, metody zjišťování služeb a možnosti privátní sítě. Měli byste pečlivě zkontrolovat, jak služby splňují konkrétní požadavky na síť.
aspekty zabezpečení Kontejner Apps, AKS a Web App for Containers poskytují integraci s klíčovými nabídkami zabezpečení Azure, jako je Azure Key Vault a spravované identity. AKS nabízí další funkce, jako je ochrana před internetovými útoky za běhu a zásady sítě. I když se může zdát, že služby PaaS, jako je Container Apps, nabízejí méně funkcí zabezpečení, je to částečně kvůli tomu, že azure spravuje více základních komponent infrastruktury, a ne vystavené zákazníkům, což snižuje riziko.
provozní úvahy AKS nabízí nejvíce přizpůsobení, ale vyžaduje větší provozní vstup. Naproti tomu řešení PaaS, jako jsou Container Apps a Web App for Containers, umožňují Azure zpracovávat úlohy, jako jsou aktualizace operačního systému. Škálovatelnost a flexibilita hardwarových SKU jsou zásadní. AKS poskytuje flexibilní hardwarové možnosti, zatímco Container Apps a Web App for Containers poskytují méně možností. Škálovatelnost aplikací v AKS je zodpovědností zákazníka, což znamená, že můžete použít jakékoli řešení kompatibilní s Kubernetes. AKS Automatic, Container Apps a Web App for Containers se zaměřují na jednodušší přístupy.
aspekty spolehlivosti Konfigurace sond stavu služby Web App for Containers a Container Apps jsou ve srovnání s AKS omezené, ale jednodušší nastavení vzhledem k tomu, že používají známé rozhraní API Azure Resource Manageru. AKS vyžaduje použití rozhraní Kubernetes API. Vyžaduje také, abyste se postarali o další zodpovědnost za správu škálovatelnosti a dostupnosti fondu uzlů Kubernetes, abyste mohli správně naplánovat instance aplikací. Tyto požadavky vedou k dalšímu provoznímu úsilí pro AKS.

Kromě toho jsou SLA pro aplikační kontejnery a webové aplikace kontejnerů jednodušší k výpočtu než SLA pro AKS, u nichž řídicí rovina a fondy uzlů mají vlastní SLA a je potřeba je vhodně kombinovat. Všechny služby nabízejí zónovou redundanci v datacentrech, která ji nabízejí.

Po prostudování předchozích aspektů a možná jste stále nenalezli dokonalý vhodný výběr. To je naprosto normální.

Vyhodnocení kompromisů

Volba cloudové služby není jednoduché cvičení. Vzhledem ke složitosti cloud computingu, spolupráci mezi mnoha týmy a omezením zdrojů zahrnujícím lidi, rozpočty a čas, má každé řešení kompromisy.

Mějte na paměti, že u každé úlohy můžou být některé požadavky důležitější než jiné. Například aplikační tým může preferovat řešení PaaS, jako je Container Apps, ale zvolit AKS, protože jejich bezpečnostní tým vyžaduje řízení sítě na principu výchozího zamítnutí mezi komponenty souběžně umístěných úloh, což je výhradně funkce AKS, která využívá síťové zásady Kubernetes.

Nakonec mějte na paměti, že předchozí sdílené aspekty zahrnují nejběžnější požadavky, ale nejsou vyčerpávající. Je zodpovědností týmu úloh, aby před potvrzením rozhodnutí prošetřil všechny požadavky na sadu funkcí preferované služby.

Závěr

Tato příručka popisuje nejčastější aspekty, kterým čelíte při výběru služby kontejneru Azure. Je navržen tak, aby pomáhal pracovníkům (pracovním týmům) při informovaném rozhodování. Proces začíná výběrem modelu cloudové služby, který zahrnuje určení požadované úrovně řízení. Kontrola přichází na úkor jednoduchosti. Jinými slovy, jedná se o proces nalezení správné rovnováhy mezi infrastrukturou spravovanou samospravou a infrastrukturou spravovanou Microsoftem.

Mnoho týmů úloh si může vybrat službu kontejneru Azure výhradně na základě preferovaného modelu služby: PaaS a IaaS. Ostatní týmy musí dále prozkoumat, jak funkce specifické pro služby řeší požadavky na úlohy nebo organizace.

Všechny týmy úloh by měly tuto příručku používat kromě důkladného provádění potřebné péče, aby se zabránilo činění nezvratných rozhodnutí. Mějte však na paměti, že rozhodnutí není potvrzeno, dokud vývojáři nepokusí službu a rozhodnou se na základě zkušeností, nikoli teorie.

Přispěvatelé

Tento článek spravuje Microsoft. Původně byla napsána následujícími přispěvateli.

Hlavní autoři:

Další přispěvatelé:

Další krok

Přečtěte si další informace o aspektech sdílené architektury pro služby uvedené v tomto článku.