Sdílet prostřednictvím


Spolehlivost ve službě Aplikace Azure Service

Tento článek popisuje podporu spolehlivosti ve službě Aplikace Azure Service, která zahrnuje jak odolnost uvnitř oblastí, tak i zóny dostupnosti a informace o nasazeních ve více oblastech.

Odolnost je sdílená odpovědnost mezi vámi a Microsoftem, a proto článek také popisuje způsoby, jak vytvořit odolné řešení, které vyhovuje vašim potřebám.

Aplikace Azure Service je služba založená na protokolu HTTP pro hostování webových aplikací, rozhraní REST API a mobilních back-endů. Aplikace Azure Service přidává do vaší aplikace výkon Microsoft Azure s možnostmi zabezpečení, vyrovnávání zatížení, automatického škálování a automatizované správy. Pokud chcete zjistit, jak služba Aplikace Azure Může zvýšit spolehlivost a odolnost úloh aplikace, přečtěte si téma Proč používat App Service?

Když nasadíte službu Aplikace Azure Service, můžete vytvořit více instancí plánu služby App Service, což představuje výpočetní pracovní procesy, které spouští kód aplikace. I když se platforma snaží nasadit instance napříč různými doménami selhání, instance se automaticky nerozloží mezi zóny dostupnosti.

Doporučení pro produkční nasazení

V případě produkčních nasazení byste měli:

  • Použijte plány služby App Service Premium v3.
  • Povolte zónovou redundanci, která vyžaduje, aby plán služby App Service používal minimálně tři instance.

Přechodné chyby

Přechodné chyby jsou krátké, občasné selhání v komponentách. Často se vyskytují v distribuovaném prostředí, jako je cloud, a jsou normální součástí provozu. Opravili se po krátké době. Je důležité, aby vaše aplikace zpracovávaly přechodné chyby, obvykle opakováním ovlivněných požadavků.

Všechny aplikace hostované v cloudu by měly při komunikaci s libovolnými rozhraními API, databázemi a dalšími komponentami hostované v cloudu dodržovat pokyny pro zpracování přechodných chyb v Azure. Další informace o zpracování přechodných chyb najdete v tématu Doporučení pro předání přechodných chyb.

I když sady SDK poskytované Microsoftem obvykle zpracovávají přechodné chyby, protože hostujete vlastní aplikace ve službě Aplikace Azure Service, je potřeba zvážit, jak se vyhnout přechodným chybám tím, že zajistíte, že:

  • Nasaďte několik instancí plánu. Aplikace Azure Služba provádí automatizované aktualizace a další formy údržby instancí vašeho plánu. Pokud instance není v pořádku, může služba tuto instanci automaticky nahradit novou instancí, která je v pořádku. Během procesu nahrazení může být krátká doba, kdy předchozí instance není k dispozici a nová instance ještě není připravená obsluhovat provoz. Dopad tohoto chování můžete zmírnit nasazením několika instancí plánu služby App Service.

  • Použijte sloty nasazení. Aplikace Azure sloty nasazení služby umožňují nasazení aplikací bez výpadků. Pomocí slotů nasazení minimalizujte dopad nasazení a změn konfigurace na uživatele. Použití slotů nasazení také snižuje pravděpodobnost, že se vaše aplikace restartuje, což způsobí přechodnou chybu.

  • Vyhněte se vertikálnímu navýšení nebo snížení kapacity. Místo toho vyberte úroveň a velikost instance, která splňují vaše požadavky na výkon v typickém zatížení. Škálováním instancí na více instancí můžete zpracovávat změny objemu přenosů. Zvažte, že vertikální navýšení a snížení kapacity může aktivovat restartování aplikace.

Podpora zón dostupnosti

Zóny dostupnosti jsou fyzicky oddělené skupiny datacenter v rámci každé oblasti Azure. Když jedna zóna selže, můžou služby převzít služby při selhání jedné ze zbývajících zón.

Další informace o zónách dostupnosti v Azure najdete v tématu Co jsou zóny dostupnosti?.

služba Aplikace Azure může být nakonfigurovaná jako zónově redundantní, což znamená, že vaše prostředky jsou rozložené do několika zón dostupnosti. Šíření napříč několika zónami pomáhá produkčním úlohám dosáhnout odolnosti a spolehlivosti. Podpora zóny dostupnosti je vlastností plánu služby App Service.

Rozšíření instance s zónově redundantním nasazením se určuje uvnitř následujících pravidel, i když se aplikace škáluje a zvětší:

  • Minimální počet instancí plánu služby App Service je tři.
  • Pokud zadáte kapacitu větší než tři a počet instancí je dělitelný třemi, jsou instance rovnoměrně rozloženy.
  • Všechny počty instancí nad rámec 3*N jsou rozloženy do zbývajících jedné nebo dvou zón.

Když platforma App Service přiděluje instance pro zónově redundantní plán služby App Service, využívá vyrovnávání zón s nejlepším úsilím, které nabízí základní škálovací sady virtuálních počítačů Azure. Plán služby App Service je "vyvážený", pokud každá zóna má buď stejný počet virtuálních počítačů, nebo +/- jeden virtuální počítač ve všech ostatních zónách používaných plánem služby App Service.

U plánů služby App Service, které nejsou nakonfigurované jako zónově redundantní, nejsou instance virtuálních počítačů odolné vůči selháním zóny dostupnosti. Během výpadku v jakékoli zóně v dané oblasti můžou dojít k výpadku.

Podporované oblasti

Zónově redundantní plány služby App Service je možné nasadit v libovolné oblasti, která podporuje zóny dostupnosti.

Pokud chcete zjistit, které oblasti podporují zóny dostupnosti pro App Service Environment v3, přečtěte si oblasti.

Požadavky

  • Musíte použít typy plánů Premium v2 nebo Premium v3.

  • Zóny dostupnosti se podporují jenom na novějších stopách služby App Service. I když používáte některou z podporovaných oblastí, zobrazí se chyba, pokud vaše skupina prostředků nepodporuje zóny dostupnosti. Pokud chcete zajistit, aby vaše úlohy přistály na razítku, které podporuje zóny dostupnosti, možná budete muset vytvořit novou skupinu prostředků, plán služby App Service a službu App Service.

  • Musíte nasadit minimálně tři instance vašeho plánu.

Důležité informace

Aplikace nasazené v zónově redundantním plánu služby App Service budou dál spouštět a obsluhovat provoz, i když dojde k výpadku více zón v oblasti. Je však možné, že během výpadku zóny dostupnosti může dojít k ovlivnění chování mimo modul runtime, včetně škálování plánu služby App Service, vytvoření aplikace, konfigurace aplikace a publikování aplikací. Redundance zón pro plány služby App Service zajišťuje pouze trvalou dobu provozu pro nasazené aplikace.

Náklady

Pokud používáte plány App Service Premium v2 nebo Premium v3, nejsou k povolení zón dostupnosti přidružené žádné další náklady, pokud máte v plánu služby App Service tři nebo více instancí. Budou se vám účtovat poplatky na základě skladové položky plánu služby App Service, vámi zadané kapacity a všech instancí, na které škálujete na základě kritérií automatického škálování. Pokud povolíte zóny dostupnosti, ale zadáte kapacitu menší než tři, platforma vynutí minimální počet instancí tří a za tyto tři instance vám bude účtovat poplatky.

App Service Environment v3 má konkrétní cenový model pro redundanci zón. Informace o cenách služby App Service Environment v3 najdete v tématu Ceny.

Konfigurace podpory zón dostupnosti

Pokud chcete nasadit nový zónově redundantní Aplikace Azure plán služby, vyberte při nasazení plánu možnost Zónově redundantní.

Pokud chcete nasadit novou zónově redundantní Aplikace Azure Service Environment, přečtěte si téma Vytvoření služby App Service Environment.

Redundanci zón je možné nakonfigurovat pouze při vytváření nového plánu služby App Service. Pokud máte existující plán služby App Service, který není zónově redundantní, musíte ho nahradit novým zónově redundantním plánem. Existující plán služby App Service nemůžete převést tak, aby používal zóny dostupnosti. Podobně není možné zakázat redundanci zón u existujícího plánu služby App Service.

Plánování a správa kapacity

Pokud se chcete připravit na selhání zóny dostupnosti, měli byste kapacitu služby nadříznout, abyste zajistili, že řešení dokáže tolerovat ztrátu kapacity 1/3 a dál fungovat bez snížení výkonu během výpadků v celé zóně. Vzhledem k tomu, že platforma rozloží virtuální počítače mezi tři zóny a potřebujete počítat s alespoň selháním jedné zóny, vynásobte počet instancí úloh ve špičce faktorem zón/(zóny-1) nebo 3/2. Pokud například typická úloha ve špičce vyžaduje čtyři instance, měli byste zřídit šest instancí: (2/3 × 6 instancí) = 4 instance.

Směrování provozu mezi zónami

Během normálních operací se provoz směruje mezi všemi dostupnými instancemi plánu služby App Service napříč všemi zónami dostupnosti.

Prostředí pro zónu dolů

Detekce a odpověď: Platforma služby App Service zodpovídá za detekci selhání v zóně dostupnosti a odpovídá na ně. K zahájení převzetí služeb při selhání zóny nemusíte nic dělat.

Aktivní požadavky: Pokud zóna dostupnosti není dostupná, všechny probíhající požadavky, které jsou připojené k instanci plánu služby App Service v vadné zóně dostupnosti, se ukončí a je potřeba je opakovat.

Přesměrování provozu: Pokud je zóna nedostupná, Aplikace Azure Služba zjistí ztracené instance z této zóny. Automaticky se pokusí najít nové náhradní instance. Pak podle potřeby rozdělí provoz mezi nové instance.

Pokud máte nakonfigurované automatické škálování a pokud se rozhodnete, že je potřeba více instancí, automatické škálování také vydá žádost o přidání dalších instancí do služby App Service.

Poznámka:

Chování automatického škálování je nezávislé na chování platformy služby App Service. Specifikace počtu instancí automatického škálování nemusí být násobkem tří.

Důležité

Není zaručeno, že požadavky na další instance ve scénáři mimo zónu budou úspěšné. Zpětné vyplňování ztracených instancí probíhá na základě maximálního úsilí. Pokud potřebujete garantovanou kapacitu, když dojde ke ztrátě zóny dostupnosti, měli byste vytvořit a nakonfigurovat plány služby App Service tak, aby chovali účet pro ztrátu zóny. Můžete to udělat tak, že kapacitu plánu služby App Service přeplánujete.

Navrácení služeb po obnovení

Když se zóna dostupnosti obnoví, Aplikace Azure Služba automaticky vytvoří instance v obnovené zóně dostupnosti, odebere všechny dočasné instance vytvořené v jiných zónách dostupnosti a směruje provoz mezi vašimi instancemi jako obvykle.

Testování selhání zón

Aplikace Azure Platforma služby spravuje směrování provozu, převzetí služeb při selhání a navrácení služeb po obnovení pro zónově redundantní plány služby App Service. Vzhledem k tomu, že je tato funkce plně spravovaná, nemusíte zahajovat ani ověřovat procesy selhání zóny dostupnosti.

Podpora více oblastí

služba Aplikace Azure je služba s jednou oblastí. Pokud oblast přestane být dostupná, vaše aplikace je také nedostupná.

Alternativní řešení pro více oblastí

Abyste měli jistotu, že aplikace bude méně náchylná k selhání jedné oblasti, budete muset aplikaci nasadit do více oblastí. Chcete-li to provést, měli byste:

  • Nasaďte aplikaci do instancí v každé oblasti.
  • Nakonfigurujte vyrovnávání zatížení a zásady převzetí služeb při selhání.
  • Replikujte data napříč oblastmi, abyste mohli obnovit poslední stav aplikace.

Příklad architektur, které ilustrují tento přístup, najdete tady:

Pokud chcete postupovat podle kurzu, který vytvoří aplikaci pro více oblastí, přečtěte si kurz: Vytvoření vysoce dostupné aplikace pro více oblastí ve službě Aplikace Azure Service.

Příklad přístupu, který znázorňuje tuto architekturu, najdete v tématu Nasazení podniku s vysokou dostupností pomocí služby App Service Environment.

Zálohování

Pokud používáte úroveň Basic nebo vyšší, můžete aplikaci App Service zálohovat do souboru pomocí funkcí zálohování a obnovení služby App Service. Tato funkce je užitečná, pokud je obtížné znovu nasadit kód nebo pokud ukládáte stav na disk. U většiny řešení byste se ale neměli spoléhat na zálohování služby App Service a měli byste místo toho použít jiné metody popsané v tomto článku k podpoře požadavků na odolnost.

Smlouva o úrovni služeb (SLA)

Smlouva o úrovni služeb (SLA) pro službu Aplikace Azure popisuje očekávanou dostupnost služby. Popisuje také podmínky, které musí být splněny, aby bylo možné dosáhnout očekávané dostupnosti. Abyste těmto podmínkám porozuměli, je důležité, abyste zkontrolovali smlouvy o úrovni služeb (SLA) pro online služby.

Když nasadíte zónově redundantní plán služby App Service, zvýší se procento doby provozu definované ve sla.