Doporučení pro návrh redundance
Platí pro toto doporučení kontrolního seznamu pro spolehlivost architektury Azure Well-Architected Framework:
RE:05 | Přidejte redundanci na různých úrovních, zejména pro kritické toky. Využijte redundanci na výpočetní prostředky, data, síť a další vrstvy infrastruktury v souladu s určenými cíli spolehlivosti. |
---|
Související průvodci: Vysoce dostupný návrh | s více oblastmi pomocí zón dostupnosti a oblastí
Tato příručka popisuje doporučení pro přidání redundance v rámci kritických toků v různých vrstvách úloh, což optimalizuje odolnost. Splnění požadavků definovaných cílů spolehlivosti použitím správných úrovní redundance na výpočetní prostředky, data, sítě a další úrovně infrastruktury. Využijte tuto redundanci, abyste svým úlohám poskytli silnou a spolehlivou základnu, na které můžete stavět. Když sestavíte úlohu bez redundance infrastruktury, hrozí vysoké riziko delšího výpadku kvůli potenciálním selháním.
Definice
Pojem | definice |
---|---|
Redundance | Implementace více identických instancí komponenty úlohy. |
Polyglotní použití | Koncept použití různých technologií úložiště stejnou aplikací nebo řešením k využití nejlepších možností jednotlivých komponent. |
Konzistence dat | Míra toho, jak synchronizovat nebo mimo synchronizaci se daná datová sada nachází v několika úložištích. |
dělení na části | Proces fyzického rozdělení dat do samostatných úložišť dat. |
Shard | Strategie horizontálního dělení databáze, která podporuje více instancí úložiště se společným schématem. Data se ve všech instancích nereplikují. |
Klíčové strategie návrhu
V kontextu spolehlivosti použijte redundanci k tomu, aby obsahovala problémy, které mají vliv na jeden prostředek, a ujistěte se, že tyto problémy nemají vliv na spolehlivost celého systému. Pomocí informací, které jste identifikovali o důležitých tocích a cílech spolehlivosti, můžete provádět informovaná rozhodnutí, která jsou nutná pro redundanci jednotlivých toků.
Můžete mít například několik uzlů webového serveru spuštěných najednou. Důležitost toku, který podporují, může vyžadovat, aby všichni z nich měli repliky připravené k přijetí provozu, pokud dojde k problému, který ovlivňuje celý fond, například regionální výpadek. Alternativně, protože rozsáhlé problémy jsou vzácné a je nákladné nasadit celou sadu replik, můžete nasadit omezený počet replik, aby tok fungoval ve sníženém stavu, dokud problém nevyřešíte.
Když navrhujete redundanci v kontextu efektivity výkonu, distribuujte zatížení mezi několik redundantních uzlů, abyste zajistili optimální výkon každého uzlu. V souvislosti se spolehlivostí sestavte volnou kapacitu tak, aby absorbovaly selhání nebo poruchy, které ovlivňují jeden nebo více uzlů. Ujistěte se, že náhradní kapacita dokáže absorbovat selhání po celou dobu potřebnou k obnovení ovlivněných uzlů. S tímto rozdílem musí obě strategie spolupracovat. Pokud rozdělíte provoz mezi dva uzly kvůli výkonu a oba běží s 60% využitím a jeden uzel selže, je váš zbývající uzel ohrožen zahlceným, protože nemůže fungovat na 120 procent. Rozložte zatížení s jiným uzlem, abyste zajistili, že vaše cíle výkonu a spolehlivosti budou zachovány.
Kompromisy:
- Větší redundance úloh odpovídá většímu počtu nákladů. Pečlivě zvažte přidání redundance a pravidelně kontrolujte architekturu, abyste měli jistotu, že spravujete náklady, zejména pokud používáte nadměrné zřizování. Pokud používáte nadměrné zřizování jako strategii odolnosti, vyrovnáte ji s dobře definovanou strategií škálování, abyste minimalizovali efektivitu nákladů.
- Při sestavování ve vysokém stupni redundance může dojít k kompromisům z hlediska výkonu. Například prostředky, které se šíří mezi zónami dostupnosti nebo oblastmi, můžou ovlivnit výkon, protože musíte odesílat provoz přes připojení s vysokou latencí mezi redundantními prostředky, jako jsou webové servery nebo databázové instance.
- Různé toky ve stejné úloze můžou mít různé požadavky na spolehlivost. Návrhy redundance specifické pro toky můžou potenciálně zavádět do celkového návrhu složitost.
Návrh redundantní architektury
Při návrhu redundantní architektury zvažte dva přístupy: aktivní-aktivní nebo aktivní-pasivní. Zvolte svůj přístup v závislosti na závažnosti toku uživatele a systémového toku, který komponenty infrastruktury podporují. Z hlediska spolehlivosti vám návrh s více oblastmi aktivní-aktivní pomáhá dosáhnout nejvyšší možné úrovně spolehlivosti, ale je výrazně dražší než aktivní-pasivní návrh. Rozhodování o vhodných geografických oblastech se stane další kritickou volbou. Tyto přístupy k návrhu můžete použít také pro jednu oblast pomocí zón dostupnosti. Další informace najdete v tématu Doporučení pro návrh s více oblastmi s vysokou dostupností.
Razítka nasazení a jednotky škálování
Bez ohledu na to, jestli nasadíte v modelu aktivní-aktivní nebo aktivní-pasivní, postupujte podle vzoru návrhu razítka nasazení, abyste zajistili, že úlohu nasadíte opakovatelným a škálovatelným způsobem. Razítka nasazení jsou seskupení prostředků, které jsou potřeba k doručení vaší úlohy do dané podmnožiny vašich zákazníků. Podmnožinou může být například oblastní podmnožina nebo podmnožina se stejnými požadavky na ochranu osobních údajů dat jako vaše úloha. Každé razítko si můžete představit jako jednotku škálování , kterou můžete duplikovat, abyste mohli škálovat úlohy horizontálně nebo provádět modrá-zelená nasazení. Navrhněte svou úlohu s razítky nasazení, abyste optimalizovali implementaci aktivní-aktivní nebo aktivní-pasivní pro zajištění odolnosti a zátěže správy. Plánování horizontálního navýšení kapacity pro více oblastí je také důležité k překonání potenciálních dočasných omezení kapacity prostředků v oblasti.
Zóny dostupnosti v rámci oblastí Azure
Bez ohledu na to, jestli nasadíte návrh typu aktivní-aktivní nebo aktivní-pasivní, využijte zóny dostupnosti v rámci aktivních oblastí k úplné optimalizaci odolnosti. Mnoho oblastí Azure poskytuje několik zón dostupnosti, které jsou oddělené skupiny datových center v rámci oblasti. V závislosti na službě Azure můžete využívat zóny dostupnosti tím, že nasadíte prvky úlohy redundantně napříč zónami nebo připnete prvky do konkrétních zón. Další informace najdete v tématu Doporučení pro používání zón dostupnosti a oblastí.
Implementace redundance zón pro výpočetní prostředky
Zvolte pro svou úlohu příslušnou výpočetní službu . V závislosti na typu úlohy, kterou navrhujete, může být k dispozici několik možností. Seznamte se s dostupnými službami a zjistěte, které typy úloh fungují nejlépe na dané výpočetní službě. Například úlohy SAP jsou obvykle nejvhodnější pro výpočetní služby typu infrastruktura jako služba (IaaS). U kontejnerizované aplikace určete konkrétní funkce, které potřebujete mít pod kontrolou, abyste zjistili, jestli se má použít Azure Kubernetes Service (AKS) nebo řešení PaaS (platforma jako služba). Vaše cloudová platforma plně spravuje službu PaaS.
Pokud to vaše požadavky umožňují, použijte možnosti výpočetních prostředků PaaS. Azure plně spravuje služby PaaS, což snižuje zatížení správy a je sestavena zdokumentovaná míra redundance.
Škálovací sady virtuálních počítačů Azure použijte, pokud potřebujete nasadit virtuální počítače. Pomocí škálovacích sad virtuálních počítačů můžete automaticky rozprostřet výpočetní prostředky rovnoměrně mezi zóny dostupnosti.
Udržujte výpočetní vrstvu v čistém stavu , protože jednotlivé uzly, které obsluhují požadavky, můžou být kdykoli odstraněny, vadné nebo nahrazené.
Pokud je to možné, používejte zónově redundantní služby, abyste zajistili vyšší odolnost bez zvýšení provozní zátěže.
Nadměrné zřízení důležitých prostředků pro zmírnění selhání redundantních instancí, a to i před zahájením operací automatického škálování, takže systém bude dál fungovat i po selhání komponenty. Výpočet přijatelného efektu chyby při začlenění nadměrného zřízení do návrhu redundance. Stejně jako u rozhodovacího procesu redundance určují cíle spolehlivosti a finanční kompromisy v rozsahu, v jakém přidáváte volnou kapacitu s nadměrným zřízením. Nadměrné zřízení se konkrétně týká horizontálního navýšení kapacity, což znamená přidání dalších instancí daného typu výpočetního prostředku místo zvýšení výpočetních schopností jakékoli instance. Pokud například změníte virtuální počítač ze skladové položky nižší vrstvy na skladovou položku vyšší úrovně.
Služby IaaS nasaďte ručně nebo prostřednictvím automatizace v každé zóně nebo oblasti dostupnosti, ve které chcete řešení implementovat. Některé služby PaaS mají integrované funkce, které se automaticky replikují napříč zónami a oblastmi dostupnosti.
Implementace redundance zón pro datové prostředky
Určete, jestli je pro funkčnost vaší úlohy nezbytná synchronní nebo asynchronní replikace dat. Pokud chcete toto rozhodnutí vyřešit, podívejte se na doporučení pro používání zón dostupnosti a oblastí.
Zvažte míru růstu vašich dat. V případě plánování kapacity naplánujte růst dat, uchovávání dat a archivaci, abyste zajistili splnění požadavků na spolehlivost při nárůstu množství dat ve vašem řešení.
Geograficky distribuujte data podle podpory vaší služby, abyste minimalizovali dopad geograficky lokalizovaných selhání.
Replikace dat napříč geografickými oblastmi za účelem zajištění odolnosti vůči oblastním výpadkům a katastrofickým selháním.
Automatizace převzetí služeb při selhání po selhání instance databáze Automatické převzetí služeb při selhání můžete nakonfigurovat ve více datových službách Azure PaaS. Automatizované převzetí služeb při selhání se nevyžaduje pro úložiště dat, která podporují zápisy do více oblastí, jako je Azure Cosmos DB. Další informace najdete v tématu Doporučení pro návrh strategie zotavení po havárii.
Použijte nejlepší úložiště dat pro vaše data. Využijte polyglotní trvalost nebo řešení, která používají kombinaci technologií úložiště dat. Data zahrnují více než jen trvalá data aplikace. Zahrnují také protokoly aplikací, události, zprávy a mezipaměti.
Zvažte požadavky na konzistenci dat a při povolování požadavků použijte konečnou konzistenci . Při distribuci dat použijte odpovídající koordinaci k vynucení záruk silné konzistence. Koordinace může snížit propustnost a zajistit, aby vaše systémy byly úzce propojené, což může usnadnit jejich omezování. Pokud například operace aktualizuje dvě databáze, místo aby ji umístila do jednoho oboru transakce, je lepší, pokud systém dokáže přizpůsobit konečnou konzistenci.
Rozdělte data pro dostupnost. Dělení databáze zlepšuje škálovatelnost a může také zlepšit dostupnost. Pokud dojde k výpadku jednoho horizontálního oddílu, ostatní horizontální oddíly jsou stále dostupné. Selhání v jednom horizontálním oddílu přeruší pouze podmnožinu celkových transakcí.
Pokud horizontální dělení není možné, můžete k oddělení datových modelů jen pro čtení a čtení použít model CQRS (Command and Query Responsibility Segregation). Přidejte další redundantní databázové instance jen pro čtení, abyste zajistili větší odolnost.
Seznamte se s integrovanými možnostmi replikace a redundance služeb stavové platformy, které používáte. Konkrétní možnosti redundance stavových datových služeb najdete v tématu Související odkazy.
Implementace redundance zón pro síťové prostředky
Rozhodněte se o spolehlivé a škálovatelné síťové topologii. Používejte hvězdicový model nebo model Azure Virtual WAN, který vám pomůže uspořádat cloudovou infrastrukturu v logických vzorech, které usnadňují sestavování a škálování návrhu redundance.
Vyberte příslušnou síťovou službu , která bude vyrovnávat a přesměrovávat požadavky v rámci oblastí nebo mezi oblastmi. Pokud je to možné, použijte globální nebo zónově redundantní služby vyrovnávání zatížení, abyste splnili cíle spolehlivosti.
Ujistěte se, že jste ve virtuálních sítích a podsítích přidělili dostatečný adresní prostor IP adres pro účely plánovaného využití, včetně požadavků na horizontální navýšení kapacity.
Ujistěte se, že aplikace může škálovat v rámci limitů portů zvolené platformy pro hostování aplikací. Pokud aplikace zahájí několik odchozích připojení TCP nebo UDP, může vyčerpat všechny dostupné porty a způsobit nízký výkon aplikace.
Zvolte skladové položky a nakonfigurujte síťové služby, které můžou splňovat vaše požadavky na šířku pásma a dostupnost. Propustnost brány VPN se liší podle jejich skladové položky. Podpora redundance zón je dostupná jenom pro některé skladové položky nástroje pro vyrovnávání zatížení.
Ujistěte se, že je váš návrh pro zpracování DNS sestavený se zaměřením na odolnost a podporuje redundantní infrastrukturu.
Usnadnění azure
Platforma Azure pomáhá optimalizovat odolnost vaší úlohy a přidat redundanci:
Poskytuje integrovanou redundanci s mnoha řešeními PaaS a software jako služba (SaaS), z nichž některé jsou konfigurovatelné.
Umožňuje navrhovat a implementovat redundanci uvnitř oblastí pomocí zón dostupnosti a redundance mezi oblastmi.
Nabízí služby vyrovnávání zatížení pracující s replikou, jako je brána Aplikace Azure lication Gateway, Azure Front Door a Azure Load Balancer.
Nabízí snadno implementovaná řešení geografické replikace, jako je aktivní geografická replikace pro Azure SQL Database. Implementujte globální distribuci a transparentní replikaci pomocí služby Azure Cosmos DB. Azure Cosmos DB nabízí dvě možnosti pro zpracování konfliktních zápisů. Zvolte nejlepší možnost pro vaši úlohu.
Nabízí možnosti obnovení k určitému bodu v čase pro mnoho datových služeb PaaS.
Zmírnění vyčerpání portů přes Azure NAT Gateway nebo Azure Firewall
Usnadnění azure specifické pro DNS
Pro scénáře interního překladu názvů použijte privátní zóny Azure DNS, které mají integrovanou redundanci zón a geografickou redundanci. Další informace najdete v tématu Odolnost privátních zón Azure DNS.
Pro scénáře překladu externích názvů použijte veřejné zóny Azure DNS, které mají integrovanou redundanci zón a geografickou redundanci.
Veřejné a privátní služby Azure DNS jsou globální služby odolné vůči oblastním výpadkům, protože data zón jsou globálně dostupná.
Pro scénáře hybridního překladu názvů mezi místním a cloudovým prostředím použijte privátní překladač Azure DNS. Tato služba podporuje redundanci zón, pokud je vaše úloha umístěná v oblasti, která podporuje zóny dostupnosti. Výpadek na úrovni zóny nevyžaduje během obnovení zóny žádnou akci. Služba se automaticky sama opraví a vyrovnává, aby využila výhod zdravé zóny. Další informace najdete v tématu Odolnost privátního překladače Azure DNS.
Pokud chcete odstranit jediný bod selhání a dosáhnout odolnějšího hybridního překladu ip adres napříč oblastmi, nasaďte dva nebo více privátních překladačů Azure DNS napříč různými oblastmi. Převzetí služeb při selhání DNS ve scénáři podmíněného předávání se dosahuje přiřazením překladače jako primárního serveru DNS. Přiřaďte druhý překladač v jiné oblasti jako sekundární server DNS. Další informace najdete v tématu Nastavení převzetí služeb při selhání DNS pomocí privátních překladačů.
Příklad
Příklad redundantního nasazení s více oblastmi najdete v tématu Standardní vysoce dostupná zónově redundantní webová aplikace.
Následující diagram znázorňuje další příklad:
Související odkazy
Další informace o redundanci najdete v následujících zdrojích informací:
- Průvodce oblastmi Azure
- Redundance Azure Storage
- Zónově redundantní úložiště
- Aktivní geografická replikace služby Azure SQL Database
- Konfigurace replikace mezi dvěma spravovanými instancemi
Kontrolní seznam pro spolehlivost
Projděte si kompletní sadu doporučení.