Sdílet prostřednictvím


Důležité informace o používání služby Container Apps ve víceklientských řešeních

Azure Container Apps můžete použít ke spouštění mikroslužeb a kontejnerizovaných aplikací na bezserverové platformě. Tento článek popisuje některé funkce container Apps, které jsou užitečné pro víceklientských řešení. Obsahuje také odkazy na pokyny, které vám pomůžou během fáze plánování.

Modely izolace

Když pracujete s víceklientovým systémem, který používá Container Apps, musíte určit požadovanou úroveň izolace. Container Apps podporuje různé modely víceklientské architektury:

  • Důvěryhodné víceklientské prostředí můžete implementovat pomocí sdíleného prostředí. Tento model může být například vhodný, když jsou všichni tenanti z vaší organizace.
  • Nepřátelskou víceklientskou architekturu můžete implementovat nasazením samostatných prostředí pro každého tenanta. Tento model může být například vhodný, pokud nedůvěřujete kódu, který vaši tenanti spouští.

Následující tabulka shrnuje rozdíly mezi hlavními modely izolace tenantů pro Container Apps. Modely jsou popsány dále v tomto článku.

Aspekty Jedno prostředí na tenanta Kontejnerové aplikace specifické pro tenanta Sdílené kontejnerové aplikace
Izolace dat Vysoká Nízká Nízká
Izolace výkonu Vysoká Střední. Žádná izolace sítě. Nízká
Složitost nasazení Střední Nízká až střední Nízká
Provozní složitost Střední Nízká Nízká
Náklady na zdroje Vysoká Nízká Nízká
Ukázkový scénář Spouštění nepřátelských víceklientských úloh v izolovaných prostředích pro zabezpečení a dodržování předpisů Optimalizace nákladů, síťových prostředků a operací pro důvěryhodné víceklientských aplikací Implementace víceklientských řešení na úrovni obchodní logiky

Sdílené kontejnerové aplikace

Možná budete chtít zvážit nasazení sdílených kontejnerových aplikací v jednom prostředí Container Apps, které se používá pro všechny vaše tenanty.

Diagram znázorňující sdílený model izolace Container Apps Všichni tenanti sdílejí jedno prostředí Container App a kontejnerové aplikace.

Tento přístup je obecně nákladově efektivní a vyžaduje nejnižší provozní režii, protože ke správě existuje méně prostředků.

Pokud ale chcete tento model izolace použít, musí být kód aplikace s podporou víceklientské architektury. Tento model izolace nezaručuje izolaci na úrovni sítě, výpočetních prostředků, monitorování nebo dat. Kód aplikace musí zpracovávat izolaci tenanta. Tento model není vhodný pro nepřátelské úlohy s více tenanty, ve kterých nedůvěřujete spuštěném kódu.

Tento model může také podléhat obavám z hlučného souseda: úloha jednoho tenanta může ovlivnit výkon úlohy jiného tenanta. Pokud potřebujete poskytnout vyhrazenou propustnost pro zmírnění tohoto problému, nemusí být model sdílených aplikací kontejnerů vhodný.

Poznámka:

Model Razítka nasazení je užitečný, když jsou tenanti na různých modelech nákladů. V závislosti na cenové úrovni můžou být například tenanti přiřazeni ke sdíleným nebo vyhrazeným prostředím Container Apps. Tato strategie nasazení umožňuje překročit limity služby Container Apps pro jedno předplatné pro jednotlivé oblasti a škálovat lineárně s rostoucím počtem tenantů.

Kontejnerové aplikace specifické pro tenanta

Dalším přístupem, který byste mohli zvážit, je izolace tenantů nasazením kontejnerových aplikací specifických pro tenanta ve sdíleném prostředí.

Diagram znázorňující model izolace container Apps, ve kterém se aplikace kontejnerů specifické pro tenanty nasazují ve sdíleném prostředí Container Apps

Tento model izolace poskytuje logickou izolaci mezi jednotlivými tenanty. Poskytuje tyto výhody:

  • Cenová výhodnost. Sdílením prostředí Container Apps, virtuální sítě a dalších připojených prostředků, jako je pracovní prostor služby Log Analytics, můžete obecně snížit celkové náklady a složitost správy na tenanta.
  • Oddělení upgradů a nasazení Binární soubory aplikací každého tenanta je možné nasadit a upgradovat nezávisle na těch ostatních kontejnerových aplikací ve stejném prostředí. Tento přístup může být užitečný, pokud potřebujete upgradovat různé tenanty na konkrétní verze kódu v různých časech.
  • Izolace prostředků Každá aplikace kontejneru ve vašem prostředí má přidělené vlastní prostředky procesoru a paměti. Pokud konkrétní tenant vyžaduje více prostředků, můžete přidělit pro konkrétní aplikaci kontejneru daného tenanta více procesoru a paměti. Mějte na paměti, že existují omezení celkového přidělení procesoru a paměti v kontejnerových aplikacích .

Tento přístup ale neposkytuje žádnou izolaci hardwaru ani sítě mezi tenanty. Všechny kontejnerové aplikace v jednom prostředí sdílejí stejnou virtuální síť. Musíte být schopni důvěřovat tomu, že úlohy nasazené do aplikací nebudou zneužít sdílené prostředky.

Container Apps má integrovanou podporu pro Dapr, která využívá modulární návrh k poskytování funkcí jako komponent. V Container Apps jsou komponenty Dapr prostředky na úrovni prostředí. Když sdílíte jedno prostředí mezi více tenanty, ujistěte se, že komponenty Dapr správně rozdělíte na správnou aplikaci kontejneru specifickou pro tenanta, abyste zajistili izolaci a vyhnuli se riziku úniku dat.

Poznámka:

Nepoužívejte revize k vytvoření různých verzí aplikace pro různé tenanty. Revize neposkytují izolaci prostředků. Jsou navržené pro scénáře nasazení, ve kterých potřebujete mít v rámci procesu zavádění aktualizací spuštěných více verzí aplikace, například v modrých/zelených nasazeních a testování A/B.

Jedno prostředí na tenanta

Pro každého tenanta můžete zvážit nasazení jednoho prostředí Container Apps. Prostředí Container Apps je hranice izolace kolem skupiny kontejnerových aplikací. Prostředí poskytuje výpočetní a síťovou izolaci v rovině dat. Každé prostředí se nasadí do vlastní virtuální sítě, která je sdílená všemi aplikacemi v rámci prostředí. Každé prostředí má vlastní konfiguraci Dapr a monitorování.

Diagram znázorňující model izolace Container Apps, ve kterém každý tenant získá vlastní prostředí Container App

Tento přístup poskytuje nejsilnější úroveň dat a izolace výkonu, protože data a provoz každého tenanta jsou izolované do konkrétního prostředí. A když použijete tento model, nemusí být vaše aplikace s podporou víceklientské architektury. Při použití tohoto přístupu máte podrobnější kontrolu nad tím, jak přidělujete prostředky aplikacím kontejnerů v rámci prostředí. Přidělení můžete určit na základě požadavků vašeho tenanta. Někteří tenanti můžou například vyžadovat více prostředků procesoru a paměti než jiné, takže aplikacím těchto tenantů můžete poskytnout více prostředků a zároveň využívat výhod izolace, kterou poskytují prostředí specifická pro tenanty.

Existuje však nízká omezení počtu prostředí, která můžete nasadit v rámci předplatného pro každou oblast. V některých situacích můžete tyto kvóty zvýšit vytvořením lístku podpora Azure.

Před implementací tohoto modelu izolace nezapomeňte znát očekávaný růst počtu tenantů. Mějte na paměti, že tento přístup často způsobuje vyšší celkové náklady na vlastnictví a vyšší úrovně nasazení a provozní složitosti kvůli dalším prostředkům, které potřebujete k nasazení a správě.

Funkce Container Apps, které podporují víceklientské prostředí

Vlastní názvy domén

Container Apps umožňuje používat DNS se zástupnými cardy a přidávat vlastní certifikáty TLS se zástupnými cardy. Pokud používáte subdomény specifické pro tenanty, umožňují certifikáty DNS a TLS se zástupnými čísly snadno škálovat na velký počet tenantů, aniž byste museli ručně překonfigurovat každého nového tenanta.

V Container Apps spravujete certifikáty na úrovni prostředí. Aby bylo možné svázat vlastní doménu s aplikací kontejneru, musí být pro aplikaci kontejneru také povolená příchozí přenos dat.

Vyžádání ověřování a autorizace

Container Apps může ověřovat ověřovací tokeny jménem vaší aplikace. Pokud požadavek neobsahuje token, token není platný nebo není autorizovaný, můžete službu Container Apps nakonfigurovat tak, aby žádost buď zablokovala, nebo ji přesměrovala na zprostředkovatele identity, aby se uživatel mohl přihlásit.

Pokud vaši tenanti jako zprostředkovatele identity používají ID Microsoft Entra, můžete službu Container Apps nakonfigurovat tak, aby používala koncový bod /common k ověření tokenů uživatele. Tím se zajistí, že bez ohledu na tenanta Microsoft Entra uživatele se jejich tokeny ověří a přijmou.

KontejnerOvé aplikace můžete také integrovat se službou Azure Active Directory B2C pro ověřování uživatelů prostřednictvím zprostředkovatelů identity partnerů.

Další informace najdete v těchto zdrojích:

Poznámka:

Funkce ověřování a autorizace v Container Apps jsou podobné funkcím ve službě Aplikace Azure Service. Existují však určité rozdíly. Další informace najdete v tématu Důležité informace o použití integrovaného ověřování.

Spravované identity

Spravované identity z Microsoft Entra ID můžete použít k povolení přístupu aplikace kontejneru k jiným prostředkům, které jsou ověřeny pomocí Microsoft Entra ID. Když používáte spravované identity, vaše aplikace kontejneru nemusí spravovat přihlašovací údaje pro komunikaci mezi službami. Pro řízení přístupu na základě role můžete udělit konkrétní oprávnění identitě aplikace kontejneru.

Při používání spravovaných identit mějte na paměti svůj výběr modelu izolace. Předpokládejme například, že sdílíte kontejnerové aplikace mezi všemi tenanty a nasadíte databáze specifické pro tenanty. Musíte zajistit, aby aplikace jednoho tenanta neměla přístup k jiné databázi tenanta.

Další informace najdete v tématu Spravované identity v Azure Container Apps.

Přispěvatelé

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

Hlavní autoři:

  • Daniel Larsen | Hlavní zákaznický inženýr, FastTrack pro Azure
  • Will Velida | Customer Engineer 2, FastTrack for Azure

Další přispěvatelé:

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

Další kroky