Sdílet prostřednictvím


Volba služby kontejneru Azure

Azure poskytuje 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 může vašemu týmu úloh pomoct 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 úloha odkazuje na kolekci prostředků aplikace, které podporují obchodní cíl nebo implementaci 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í.

Přehled

Tato příručka obsahuje tento úvodní článek a další článek o aspektech sdílených napříč všemi typy úloh.

Poznámka

Pokud nejste zavázáni ke kontejnerizaci, zvolte jinou možnost výpočetních prostředků pro hostování vaší pracovní zátěže.

Tento úvodní článek popisuje služby kontejnerů Azure popsané v této příručce a porovnává jejich modely služeb na základě konfigurovatelnosti a předdefinovaných řešení, jako jsou přístupy spravované zákazníkem a spravované Microsoftem. Jakmile identifikujete kandidátské služby na základě předvoleb modelu služby, dalším krokem je posouzení možností pro požadavky na úlohy tím, že si prohlédnete článek o sdílených aspektech sítí, zabezpečení, provozu a spolehlivosti.

Tato příručka vám pomůže vyhodnotit kompromisy na základě technických požadavků, velikosti a složitosti vaší úlohy. Bere v úvahu také odborné znalosti vašeho týmu, aby se zajistilo informované rozhodování.

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 poskytuje. Tato podmnožina poskytuje vyspělou sadu funkcí pro webové aplikace a rozhraní API, sítě, pozorovatelnost, vývojářské nástroje a operace. Porovnávají se následující služby kontejneru.

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ě Container Apps.

Logo AKS

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ší funkce a zároveň zachovat nejširší úroveň konfigurovatelnosti. Další informace najdete v dokumentaci k AKS.

Logo služby App Service

Služba Web App for Containers je funkcí služby Azure App Service. App Service je plně spravovaná služba pro hostování webových aplikací založených na protokolu HTTP, které mají integrovanou údržbu infrastruktury, opravy zabezpečení, škálování a diagnostické nástroje. Další informace najdete v dokumentaci ke službě App Service.

Úplný seznam služeb kontejneru Azure najdete v tématu Kontejnery v Azure.

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

Model služby vám pomůže pochopit, kolik flexibility a řízení každé služby kontejneru Azure poskytuje. Složité služby poskytují větší kontrolu, zatímco jednodušší služby usnadňují správu, ale omezují přizpůsobení.

Další informace o terminologii a konceptech modelu služeb, včetně infrastruktury jako služby (IaaS) a platformy jako služby (PaaS), najdete v tématu Sdílená odpovědnost v cloudu.

Porovnejte modely služeb pro řešení kontejnerů Azure.

Azure Kubernetes Service (AKS)

AKS je kombinace IaaS a PaaS, která se zaměřuje spíše na kontrolu než jednoduchost. Používá Kubernetes, což je standardní systém pro orchestraci kontejnerů. AKS zjednodušuje správu základní základní infrastruktury. Tato platforma založená na virtuálních počítačích je však 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, registry kontejnerů nebo aplikační brány.

AKS poskytuje přístup k serveru rozhraní Kubernetes API, který umožňuje přizpůsobit orchestraci kontejnerů a nasadit pomocné aplikace ze služby Cloud Native Computing Foundation. V důsledku toho týmy úloh, které jsou pro Kubernetes novinkou, čelí významné křivkě učení. Pokud neznáte kontejnerizovaná řešení, musíte tuto křivku učení zvážit. Následující řešení PaaS poskytují nižší bariéru pro vstup. Až to vaše požadavky budou vyžadovat, můžete přejít na Kubernetes.

Automatické AKS

AKS Automatic usnadňuje přijetí Kubernetes automatizací složitých úloh správy clusteru. Tato automatizace snižuje potřebu pokročilých odborných znalostí Kubernetes. Poskytuje efektivnější, zážitkem podobné PaaS prostředí při zachování flexibility a rozšiřitelnosti Kubernetes. Azure spravuje nastavení clusteru, zřizování uzlů, škálování, opravy zabezpečení a ve výchozím nastavení používá konfigurace osvědčených postupů. Tato automatizace snižuje provozní úsilí, ale omezuje dostupné možnosti topologie.

Poznámka

Tato příručka rozlišuje mezi standardem AKS a automatickým AKS, pokud je to možné. V opačném případě můžete předpokládat, že popsané funkce jsou v obou nabídkách konzistentní.

Container Apps

Container Apps je abstraktní vrstva nad Kubernetes, která umožňuje spouštění a škálování vašich aplikací bez nutnosti přímé správy základní infrastruktury. Container Apps nabízí možnosti bezserverového i vyhrazeného výpočetního prostředí. Tyto možnosti poskytují úplnou kontrolu nad typem a množstvím výpočetních prostředků dostupných pro vaše aplikace. Container Apps abstrahuje rozhraní API pro orchestraci kontejnerů a stále poskytuje integrovaný přístup ke klíčovým funkcím, jako jsou příchozí přenosy dat vrstvy 7, rozdělení provozu, testování A/B a správa životního cyklu aplikací.

Web App for Containers

Web App for Containers je nabídka PaaS, která upřednostňuje jednoduchost před kontrolou oproti Container Apps. Abstrahuje orchestraci kontejnerů a přitom stále podporuje š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. Tento přístup vám může pomoct zjednodušit provoz, což snižuje celkové náklady. Pokud zvolíte tuto možnost, zvažte následující funkce:

  • 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é ovládací prvky, 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í s provozem clusteru Kubernetes. Týmy s menším prostředím Kubernetes můžou stále efektivně spravovat vlastní clustery pomocí doplňků a funkcí spravovaných Azure, jako je automatický upgrade clusteru , a snížit tak provozní úsilí.

  • Kontejnerové aplikace se používají 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 rozšířená hranice zabezpečení. Neexistují žádné mechanismy pro podrobnější ří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 hranic zabezpečení, nasaďte několik prostředí Container Apps nebo zvažte AKS.

  • Web App for Containers je funkce služby App Service. App Service seskupuje aplikace do logické výpočetní hranice označované jako App Service plán. Vzhledem k tomu, že můžete nastavit obor řízení přístupu na základě role na úrovni aplikace, můžete chtít hostovat více úloh v jednom plánu. Nejlepší je ale hostovat jednu úlohu pro každý plán, aby nedocházelo k problému hlučného souseda. 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 mějte na paměti, že plány služby App Service obecně běží na infrastruktuře 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 ale fungují nejlépe pro jednu komponentu úloh nebo více úzce souvisejících komponent úloh, které sdílejí podobný životní cyklus a jeden tým vlastní a spouští aplikaci.

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. 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 se zaměřuje na jednoduchost, aby sloužila cílové cílové skupině, což jsou stávající zákazníci služby App Service, kteří rozhraní znají.

Osvědčené postupy

Služby, které poskytují větší jednoduchost, obvykle vyhovují zákazníkům, kteří se místo správy infrastruktury zaměřují na vývoj funkcí. Služby, které poskytují větší kontrolu, obvykle vyhovují zákazníkům, kteří potřebují konfigurovatelnost a mají dovednosti, prostředky a obchodní odůvodnění pro správu vlastní infrastruktury.

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

Tým úloh může preferovat konkrétní model služby, ale tento model nemusí splňovat celkové požadavky organizace. Vývojáři můžou například chtít menší provozní úsilí, ale týmy zabezpečení můžou tuto režii zvážit kvůli dodržování předpisů. Týmy musí spolupracovat, aby se udělaly správné kompromisy.

Sdílené aspekty se týkají široké škály faktorů. Na základě typu úlohy se na vás může vztahovat pouze podmnožina aspektů. Vaše role v organizaci má vliv také na to, které aspekty jsou relevantní.

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 závisí na tom, co dáváte přednost jednoduchosti nebo konfiguraci. AKS poskytuje rozsáhlou kontrolu nad tokem sítě, ale vyžaduje větší provozní úsilí. Container Apps má síťové funkce spravované v Azure a nachází se mezi službami AKS a Web App for Containers, které slouží zákazníkům, kteří už službu App Service používají.

Rozhodnutí o návrhu sítě mají dlouhodobé důsledky, protože jejich změna často vyžaduje opětovné nasazení úloh. Mezi těmito službami se liší několik faktorů, jako je plánování IP adres, vyrovnávání zatížení, zjišťování služeb a privátní sítě. Měli byste pečlivě zkontrolovat, jak každá služba splňuje konkrétní požadavky na síť.
Důležité informace o zabezpečení Container Apps, AKS a Web App for Containers se integrují s klíčovými nabídkami zabezpečení Azure, jako je Azure Key Vault a spravované identity. AKS poskytuje další funkce, jako je ochrana před internetovými útoky za běhu a zásady sítě. Služby PaaS, jako je container Apps, se můžou zdát, že mají méně funkcí zabezpečení, ale částečně je to proto, že Azure spravuje více základních komponent infrastruktury. Vzhledem k tomu, že tyto komponenty nejsou vystaveny zákazníkům, riziko je nižší.
Důležité informace o provozu AKS poskytuje nejvíce přizpůsobení, ale vyžaduje více provozních vstupů.

Ř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. Je důležitá flexibilita škálovatelnosti a hardwarových variant produktů. AKS nabízí flexibilní možnosti hardwaru, ale Container Apps a Web App for Containers mají méně možností. V AKS zodpovídáte za škálovatelnost aplikací, takž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.
Důležité informace o spolehlivosti Služby "Web App for Containers" a "Container Apps" mají ve srovnání s AKS omezené konfigurace zdravotních sond. Jsou ale jednodušší, protože používají známé rozhraní API Azure Resource Manageru.

AKS vyžaduje rozhraní Kubernetes API a také vyžaduje správu škálovatelnosti a dostupnosti fondu uzlů Kubernetes, abyste mohli správně naplánovat instance aplikací. Tyto požadavky zvyšují provozní úsilí pro AKS. Smlouvy o úrovni služeb (SLA) pro Container Apps a Web App for Containers se snadněji vypočítají než smlouvy SLA AKS. Řídicí rovina AKS a fondy uzlů mají vlastní dohody o úrovni služeb (SLA), které musí být kombinovány. Všechny služby poskytují zónovou redundanci v datacentrech, která ji podporují.

Jakmile si projdete předchozí aspekty, možná stále nenajdete perfektní řešení, což je typické.

Vyhodnocení kompromisů

Cloud computing je složitý. Zahrnuje spolupráci v mnoha týmech a musí počítat s omezeními lidí, rozpočtů a času. Tyto faktory ztěžují výběr cloudových služeb a jsou plné kompromisů.

U všech úloh můžou být některé požadavky důležitější než jiné. Například tým pro aplikace může preferovat řešení PaaS, jako je Container Apps, ale zvolí AKS, protože jejich bezpečnostní tým vyžaduje řízení sítě s implicitním odmítnutím mezi souběžně nasazenými komponentami úloh. Tato funkce jen pro AKS používá zásady sítě Kubernetes.

Předchozí sdílené aspekty se týkají nejběžnějších požadavků, ale nejsou vyčerpávající. Před rozhodnutím musíte vyhodnotit všechny požadavky na sadu funkcí vaší preferované služby.

Závěr

Tato příručka popisuje nejčastější aspekty při výběru služby kontejneru Azure. Je navržená tak, aby pomohla vašemu týmu úloh činit informovaná rozhodnutí. Proces začíná výběrem modelu cloudové služby, který zahrnuje určení požadované úrovně řízení. Větší kontrola přichází na úkor jednoduchosti. Jinými slovy, cílem je najít správnou rovnováhu mezi samoobslužnou infrastrukturou a infrastrukturou spravovanou Microsoftem.

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

Pomocí tohoto průvodce pečlivě vyhodnoťte své možnosti a vyhněte se rozhodování, která je obtížné vrátit zpět. Nicméně, žádné rozhodnutí není konečné, dokud vývojáři nepokusí službu a vyhodnotí ji na základě praktických zkušeností místo teorie.

Přispěvatelé

Microsoft udržuje tento článek. Tento článek napsali následující přispěvatelé.

Hlavní autoři:

Další přispěvatelé:

Pokud chcete zobrazit nepublikované profily LinkedIn, přihlaste se na LinkedIn.