Tento článek obsahuje komplexní přehled úlohy webové aplikace v Azure Red Hat OpenShiftu v zónově redundantní konfiguraci. Zónově redundantní služby replikují služby a data napříč zónami dostupnosti, aby je chránily před kritickými body selhání a poskytovaly vysokou dostupnost.
Před vytvořením produkčního prostředí pomocí Azure Red Hat OpenShiftu si přečtěte akcelerátor cílové zóny Azure Red Hat OpenShift.
Architektura
Stáhněte si soubor aplikace Visio s touto architekturou.
Workflow
- Uživatel odešle požadavek do Azure.
- Azure Front Door obdrží požadavek a směruje požadavek do webové aplikace hostované v Azure Red Hat OpenShiftu.
- Webová aplikace spustí požadavek pomocí služby Azure Key Vault, Azure Cosmos DB a služby Azure Container Registry.
- Webová aplikace odešle uživateli odpověď zpět.
Komponenty
- Microsoft Entra ID nebo Azure AD B2C ověřuje uživatele. V této architektuře poskytuje Microsoft Entra ID zabezpečený a podrobný přístup k externím prostředkům.
- Azure Front Door je veřejné rozhraní pro všechny internetové požadavky. Funguje jako globální reverzní proxy server HTTP a mezipaměť pro back-endové služby. Azure Front Door vylepšuje zabezpečení a výkon této architektury, jako je přidání ochrany před útoky DDoS (Layer 4 Distributed Denial of-Service).
- Azure Red Hat OpenShift je orchestrátor kontejnerů založený na Kubernetes, který hostuje aplikace a služby ROZHRANÍ API a poskytuje rozhraní pro back-endové služby. Azure Red Hat OpenShift slouží jako primární výpočetní platforma v této architektuře.
- Container Registry podporuje image kontejnerů kompatibilní s Dockerem a Open Container Initiative (OCI). Container Registry podporuje redundanci zón, díky čemuž je vysoce dostupná a odolná vůči selhání zóny. Podporuje také geografickou replikaci, která replikuje službu napříč několika oblastmi. V této architektuře poskytuje Container Registry privátní přístup clusteru ARO k místně spravovaným imagím kontejnerů, které jsou součástí úlohy.
- Azure Red Hat OpenShift využívá integraci virtuální sítě k připojení k back-endovým službám přes privátní virtuální síť. Integrace virtuální sítě poskytuje zabezpečenou síť se službou Azure Red Hat OpenShift a dalšími službami Azure v této architektuře.
- Azure Cosmos DB poskytuje databáze dokumentů NoSQL pro front-endové služby. Azure Cosmos DB používá úloha v této architektuře k ukládání uživatelských dat.
- Privátní koncové body umožňují připojení ke službám Azure PaaS z privátních virtuálních sítí a umožňují zakázat veřejné koncové body v těchto službách. V této architektuře privátní koncové body s integrací virtuální sítě udržují síťový provoz z Azure Red Hat OpenShiftu privátní při komunikaci se službami PaaS.
- Azure Privátní DNS nakonfiguruje a aktualizuje záznamy DNS, které vyžadují služby privátního koncového bodu. V této architektuře se azure Privátní DNS používá k překladu ip adres v privátních sítích.
- Key Vault bezpečně ukládá tajné kódy a certifikáty, ke kterým přistupuje služby Azure. V této architektuře azure Key Vault bezpečně ukládá tajné kódy pro aplikace spuštěné v Azure Red Hat OpenShiftu.
- Azure Monitor a Application Insights shromažďují protokoly služeb a metriky výkonu aplikací pro pozorovatelnost. V této architektuře je Azure Monitor synchronizací protokolů pro protokoly platformy i úloh. Application Insights je speciálně určená pro protokoly a metriky pocházející z kódu úlohy.
Alternativy
- Doporučuje se DNS spravované v Azure, ale můžete použít vlastního poskytovatele DNS.
- Bránu Aplikace Azure lication Gateway byste měli použít místo služby Azure Front Door, pokud se většina uživatelů nachází v blízkosti oblasti Azure, která hostuje vaši úlohu a pokud nepotřebujete ukládání obsahu do mezipaměti. Pomocí služby Azure DDoS Protection můžete chránit služby Application Gateway přístupné z internetu.
- Jako alternativu pro hostování front-endových rozhraní API, back-endových rozhraní API nebo obojího nasaďte instanci služby Azure API Management úrovně Premium s zónovou redundancí. Další informace o zónové redundanci služby API Management najdete v tématu Migrace služby Azure API Management do podpory zóny dostupnosti.
- Místo Azure Red Hat OpenShift OpenShift OpenShift Můžete použít platformu OCP (Origin Community Distribution) Kubernetes (OKD) na virtuálních počítačích Azure. OCP nebo OKD jsou alternativy infrastruktury jako služby (IaaS) k plně spravované službě, jako je Azure Red Hat OpenShift. Pro redundanci zón byste měli použít škálovací sady virtuálních počítačů Azure. Další informace najdete v tématu Azure Red Hat OpenShift.
Podrobnosti scénáře
Tato architektura popisuje, jak vytvořit zónově redundantní služby do řešení, které poskytuje vysokou dostupnost a je odolné vůči zónovým selháním.
Zóny dostupnosti jsou samostatná fyzická umístění v každé oblasti Azure. Zóny dostupnosti rozloží řešení mezi několik nezávislých zón v oblasti, což aplikaci umožní pokračovat v fungování v případě selhání jedné zóny. Tato architektura vychází z infrastruktury zón dostupnosti, která se nachází v mnoha oblastech. Seznam oblastí, které podporují zóny dostupnosti Azure, najdete v oblastech Azure s zónami dostupnosti.
Při hostování platforem je často obtížné je udržovat vysoce dostupné. Vysoká dostupnost má historicky požadovaná složitá a nákladná nasazení s více oblastmi s konzistencí dat a vysoce výkonnými kompromisy. Zóny dostupnosti řeší řadu těchto problémů. Většina běžných služeb Azure a mnoho specializovaných služeb Azure poskytuje podporu zón dostupnosti. Všechny služby Azure v této architektuře jsou zónově redundantní, což zjednodušuje nasazení a správu. Další informace najdete v tématu Služby Azure, které podporují zóny dostupnosti.
Kvůli údržbě smluv o úrovni služeb (SLA) spravuje zónově redundantní Azure Red Hat OpenShift a snižuje selhání, včetně selhání zón. Redundance zón poskytuje dobu obnovení nula pro selhání zóny. Pokud je jedna zóna v oblasti nedostupná, nepřijdete o žádná data a vaše úloha se bude dál spouštět. Redundance zón se konfiguruje v době nasazení a spravuje se službami, takže nemusíte spravovat připnutí zón ani zónová nasazení.
V této architektuře se cluster Azure Red Hat OpenShift nasadí napříč třemi zónami dostupnosti v oblastech Azure, které je podporují. Cluster se skládá ze tří uzlů řídicí roviny a tří nebo více pracovních uzlů. Aby se zlepšila redundance, jsou uzly rozložené mezi zóny.
Azure Front Door, Microsoft Entra ID a Azure DNS jsou globálně dostupné služby odolné vůči výpadkům v celé zóně a oblasti. Všechny ostatní služby v této architektuře jsou zónově redundantní.
Potenciální případy použití
Azure Red Hat OpenShift je služba orchestrace kontejnerů, která používá Kubernetes. Je vhodný pro mnoho případů použití, například:
- Bankovnictví
- Burzovní obchodování
- Elektronické obchodování
- Sociální média
- Webové aplikace
- Mobilní aplikace
- Dávkové zpracování aplikací
- Streamování médií
- Úlohy strojového učení
Doporučení
Následující doporučení platí pro většinu scénářů.
Azure Front Door
- Používejte certifikáty spravované Azure ve všech front-endových aplikacích, abyste zabránili problémům s chybnou konfigurací a vypršením platnosti certifikátu.
- Povolte ukládání do mezipaměti u tras, aby se zlepšila dostupnost. Mezipaměť Služby Azure Front Door distribuuje dynamický obsah a statický obsah do hraničních uzlů Azure point-of-presence (POP). Ukládání do mezipaměti snižuje zatížení serverů původu a zvyšuje výkon.
- Nasaďte Službu Azure Front Door Premium a nakonfigurujte zásadu firewallu webových aplikací (WAF) se sadou pravidel spravovaných Microsoftem. Použijte zásadu pro všechny vlastní domény. Pomocí režimu prevence můžete zmírnit webové útoky, které můžou způsobit selhání služby původu.
Azure Red Hat OpenShift
- Ujistěte se, že oblast Azure, ve které je nasazený Azure Red Hat OpenShift, podporuje zóny dostupnosti. Další informace najdete v oblastech Azure s podporou zóny dostupnosti.
- Cluster Azure Red Hat OpenShift závisí na některých službách. Ujistěte se, že tyto služby podporují a jsou nakonfigurované pro redundanci zón. Další informace najdete v tématu Služby Azure s podporou zóny dostupnosti.
- Odeberte stav z kontejnerů a místo toho použijte službu Azure Storage nebo databázové služby.
- Nastavte v nasazeních několik replik s odpovídající konfigurací rozpočtu přerušení, která nepřetržitě poskytuje aplikační službu bez ohledu na přerušení, jako jsou selhání hardwaru v zónách.
- Zabezpečený přístup k Azure Red Hat OpenShiftu Pokud chcete zajistit, aby požadavky nemohly obejít WAF služby Azure Front Door, povolte pouze provoz služby Azure Front Door. Další informace o omezení přístupu ke konkrétní instanci služby Azure Front Door najdete v tématu Zabezpečený přístup k Azure Red Hat OpenShiftu pomocí služby Azure Front Door.
Container Registry
- Použijte úroveň služby Premium Container Registry, protože nabízí redundanci zón. Informace o úrovních a omezeních služby registru najdete v tématu Úrovně služby Container Registry.
- Oblast, ve které je nasazen registr kontejneru, musí podporovat zóny dostupnosti.
- ACR Tasks nepodporuje zóny dostupnosti.
Další informace najdete v tématu Povolení redundance zón ve službě Container Registry pro zajištění odolnosti a vysoké dostupnosti a použití služby Container Registry se službou Azure Red Hat OpenShift.
Azure Cosmos DB
- Povolte zónovou redundanci , když do účtu služby Azure Cosmos DB přidáte místní oblast pro čtení a zápis.
- Povolte průběžné zálohování.
- Nakonfigurujte Službu Azure Private Link pro účet služby Azure Cosmos DB. Když povolíte privátní koncový bod, zakážete veřejný koncový bod.
Key Vault
Key Vault je zónově redundantní v libovolné oblasti, kde jsou dostupné zóny dostupnosti. V této architektuře se služba Key Vault nasadí s povoleným privátním koncovým bodem a zakázaným veřejným koncovým bodem. Další informace o privátních koncových bodech služby Key Vault najdete v tématu Integrace služby Key Vault se službou Private Link.
Privátní zóny Azure DNS
Pro zjednodušení správy DNS integrujte privátní koncové body s privátními zónami Azure DNS. Další informace najdete v tématu Konfigurace DNS privátního koncového bodu Azure.
Důležité informace
Tyto aspekty implementují pilíře dobře architektuře Azure, což je sada hlavních principů, které je možné použít ke zlepšení kvality úlohy. Další informace najdete v tématu Azure Well-Architected Framework.
Spolehlivost
Spolehlivost zajišťuje, že vaše aplikace může splňovat závazky, které uděláte pro vaše zákazníky. Další informace naleznete v tématu Kontrolní seznam pro kontrolu spolehlivosti.
Tato architektura zajišťuje spolehlivost tím, že poskytuje dostupnost, odolnost a spolehlivé globální funkce služeb.
Dostupnost
Při správné implementaci infrastruktury zóny dostupnosti poskytuje tato architektura vynikající dostupnost pro nižší náklady a nižší provozní režii než jiná řešení. Tato architektura snižuje riziko selhání zóny v oblasti Azure, protože zónově redundantní služby odolají selhání, zatímco stále fungují v rámci definované smlouvy SLA.
Regionální selhání je nepravděpodobné, ale je to možné. V případě regionálního selhání nejsou služby dostupné ve všech zónách dostupnosti v rámci oblasti. Zkombinujte tuto zónově redundantní architekturu s architekturou s více oblastmi, abyste zmírnit riziko selhání oblasti. Naplánujte architekturu s více oblastmi, abyste zkrátili dobu obnovení, pokud není dostupná celá oblast.
Návrhy více oblastí jsou složitější a často dražší než návrhy s více zónami v jedné oblasti, ale návrhy s více oblastmi poskytují příležitost k další optimalizaci dostupnosti a celkové spolehlivosti.
Poznámka:
Proveďte posouzení rizik, abyste zjistili, jestli vaše řešení vyžaduje architekturu s více oblastmi.
Odolnost
Návrhy více zón založené na zónách dostupnosti nabízejí dostupnost a odolnost, které splňují nebo překračují obchodní požadavky většiny organizací. Pokud ale chcete replikovat data do sekundární oblasti pro zotavení po havárii, závisí vaše možnosti na službách Azure, které používáte.
Azure Storage například podporuje replikaci objektů blob bloku. Datové služby Azure, jako je Azure Cosmos DB, nabízejí replikaci dat do jiných oblastí Azure, které mají průběžné zálohování. Tyto funkce můžete použít k obnovení řešení, pokud dojde k havárii. Další informace najdete v tématu Průběžné zálohování s obnovením k určitému bodu v čase ve službě Azure Cosmos DB.
Globální služby
Selhání globálních služeb, jako je Azure Front Door a Microsoft Entra ID, jsou vzácné, ale účinek selhání může být vysoký. Pokud dojde k selhání, připravte a naučte se runbooky v případě selhání zlepšit.
Výpadek služby Azure Front Door můžete například snížit pomocí runbooku k nasazení brány Aplikace Azure lication Gateway a změně záznamů DNS tak, aby přesměrovává provoz do doby, než se služba Azure Front Door neobnoví.
Další informace najdete v tématu Budování odolnosti v infrastruktuře správy identit a přístupu.
Zabezpečení
Zabezpečení poskytuje záruky proti záměrným útokům a zneužití cenných dat a systémů. Další informace naleznete v tématu Kontrolní seznam pro kontrolu návrhu prozabezpečení .
- Zvažte nasazení privátního clusteru.
- Používejte privátní koncové body ve službách Azure, které nejsou přístupné z veřejného internetu.
- Ve výchozím nastavení je veškerá komunikace mezi službami v Azure šifrovaná protokolem TLS (Transport Layer Security). Nakonfigurujte Službu Azure Front Door tak, aby přijímala pouze provoz HTTPS, a nastavte minimální verzi protokolu TLS.
- Spravované identity ověřují komunikaci mezi službami Azure, pokud jsou k dispozici. Další informace najdete v tématu Co jsou spravované identity pro prostředky Azure?
- Pokud chcete spravovat a chránit tajné kódy, certifikáty a připojovací řetězec ve vašem clusteru, připojte cluster Azure Red Hat OpenShift k Kubernetes s podporou Azure Arc. K načtení tajných kódů použijte rozšíření zprostředkovatele tajných kódů služby Key Vault.
- Nakonfigurujte Microsoft Defender for Containers tak, aby poskytoval zabezpečení pro clustery, kontejnery a aplikace. Defender for Containers se podporuje prostřednictvím Kubernetes s podporou Azure Arc. Zkontrolujte ohrožení zabezpečení obrázků pomocí programu Microsoft Defender nebo jiného řešení pro kontrolu obrázků.
- Nakonfigurujte integraci Microsoft Entra tak, aby používalo ID Microsoft Entra k ověřování uživatelů (například SRE, SecOps nebo vývojářů aplikací) v clusteru Azure Red Hat OpenShift.
Optimalizace nákladů
Optimalizacenákladůch Další informace naleznete v tématu Kontrolní seznam pro kontrolu návrhu proOptimalizace nákladů .
Zónově redundantní architektury jsou levnější než alternativy pro více oblastí, protože služby se nasazují v jedné oblasti. Je však potřeba mít na paměti několik nákladových dopadů:
- Některé služby vyžadují k dosažení redundance zóny minimální počet instancí nebo replik.
- Zónově redundantní úložiště (ZRS) a místně redundantní úložiště (LRS) mají různé ceny. Další informace najdete v tématu Ceny služby Storage.
- Privátní koncové body jsou většinou dostupné v cenových úrovních služby Azure Úrovně Premium. U privátních koncových bodů se účtují hodinové poplatky a poplatky za šířku pásma. Další informace najdete v tématu Ceny služby Private Link.
Optimalizujte náklady tím, že předem rezervujete prostředky. Mnoho služeb v této architektuře má nárok na ceny za rezervovanou kapacitu. Další informace najdete v tématu Rezervace.
K odhadu nákladů použijte cenovou kalkulačku Azure.
Efektivita provozu
Efektivita provozu se zabývá provozními procesy, které nasazují aplikaci a udržují ji spuštěnou v produkčním prostředí. Další informace naleznete v tématu kontrolní seznam pro kontrolu efektivity provozu.
Všechny služby Azure, které jsou platforma jako služba (PaaS), jsou integrované se službou Azure Monitor. Postupujte podle osvědčených postupů služby Azure Monitor (spolehlivost, zabezpečení, optimalizace nákladů, efektivita provozu a efektivita výkonu) a proveďte tyto kroky:
- Vytvořte model stavu pro kvantifikaci stavu aplikace v kontextu obchodních požadavků.
- Nakonfigurujte správné množství shromažďování dat protokolu.
- Vytvořte řídicí panely Azure pro sjednocení dat do jednoho zobrazení pro provozní týmy.
- Vytvořte úspěšnou strategii upozorňování.
- Integrujte Application Insights do aplikací a sledujte metriky výkonu aplikací.
- Pokud chcete poskytnout oznámení v případě potřeby přímé akce, použijte systém upozorňování, jako jsou upozornění metriky Container Insights nebo uživatelské rozhraní upozornění Azure Red Hat OpenShift.
- Zvažte různé metody monitorování a protokolování Azure Red Hat OpenShiftu, abyste získali přehled o stavu vašich prostředků a mohli předvídat potenciální problémy.
- Projděte si matici odpovědnosti Za Azure Red Hat OpenShift a seznamte se s tím, jak Microsoft, Red Hat a zákazníci sdílejí odpovědnost za clustery.
- Automatizace nasazení služeb pomocí Bicep, jazyk šablony pro nasazení infrastruktury jako kódu (IaC). Vzhledem k tomu, že služby Azure v této architektuře mají privátní koncové body, nemůžete používat agenty hostované Microsoftem nebo spouštěčů hostovaných v GitHubu. Místo toho používejte řešení, jako jsou agenti v místním prostředí azure Pipelines nebo spouštěče hostované na GitHubu .
- Nepřetržitě ověřte úlohu a otestujte výkon a odolnost celého řešení pomocí služeb, jako je Azure Load Testing a Azure Chaos Studio.
Efektivita výkonu
Efektivita výkonu je schopnost vaší úlohy škálovat tak, aby splňovala požadavky, které na ni mají uživatelé efektivním způsobem. Další informace naleznete v tématu Kontrola návrhu kontrolní seznam pro zvýšení efektivity výkonu.
- Ukládání prostředků do mezipaměti ve službě Azure Front Door za účelem distribuce úloh do hraničních umístění
- Zkontrolujte limity a kvóty předplatného a ujistěte se, že se služby škáluje na vyžádání.
- Monitorování výkonu aplikací pomocí Application Insights
- Úlohy testů výkonu pro měření latence způsobené připojeními mezi zónami
- Zvolte vhodné velikosti virtuálních počítačů pro vaše úlohy. Zvolte velikost, která je dostatečně velká, aby získala výhody zvýšené hustoty, ale ne tak velká, že cluster nedokáže zpracovat úlohy neúspěšného uzlu.
- Ke správě výpočetních prostředků v rámci clusteru použijte požadavky a omezení podů. Požadavky a limity podů informují plánovač Kubernetes, který přiřadí podu výpočetní prostředky. Omezte spotřebu zdrojů v projektu pomocí rozsahů omezení.
- Definujte požadavky na prostředky podů a omezení v manifestech nasazení aplikace a vynucujte je pomocí služby Azure Policy.
- Optimalizujte hodnoty požadavků na procesor a paměť a maximalizujte efektivitu prostředků clusteru pomocí vertikálního automatického škálování podů.
- Škálujte pody tak, aby splňovaly poptávku pomocí horizontálního automatického škálování podů.
- Definujte ClusterAutoScaler a MachineAutoScaler pro škálování počítačů, když cluster vyčerpá prostředky, aby podporoval více nasazení.
Nasazení tohoto scénáře
Pokud chcete tuto architekturu nasadit, podívejte se na akcelerátor cílové zóny Azure Red Hat OpenShift a přidružené úložiště GitHub.
Přispěvatelé
Tento článek spravuje Microsoft. Původně byla napsána následujícími přispěvateli.
Hlavní autoři:
- Daniel Mossberg | FastTrack pro zákazníky Azure
- Hiro Tarusawa | FastTrack pro zákazníky Azure
Další přispěvatelé:
- Ayobami Ayodeji | FastTrack pro zákazníky Azure
- Daniel Larsen | FastTrack pro zákazníky Azure
Pokud chcete zobrazit neveřejné profily LinkedIn, přihlaste se na LinkedIn.
Další kroky
- Služby Azure, které podporují zóny dostupnosti
- Oblasti Azure se zónami dostupnosti
- Vyhledání oblasti zóny dostupnosti poblíž
- Dobře navržená architektura Azure – Modul školení pro spolehlivost