Sdílet prostřednictvím


Spolehlivost ve službě Aplikace Azure Service

Tento článek popisuje podporu spolehlivosti ve službě Aplikace Azure Service. 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. Tento článek popisuje také 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. Další informace najdete v tématu Aplikace Azure Plán služby. 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.

Sady SDK poskytované Microsoftem obvykle zpracovávají přechodné chyby. Vzhledem k tomu, že hostujete vlastní aplikace ve službě Aplikace Azure Service, zvažte, jak se vyhnout přechodným chybám tím, že zajistíte následující:

  • 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é období, 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 pro vaše uživatele. Použití slotů nasazení také snižuje pravděpodobnost, že se vaše aplikace restartuje. Restartování 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ů. 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 pomocí následujících pravidel. Tato pravidla platí i při horizontálním navýšení a snížení kapacity aplikace:

  • Minimální počet instancí plánu služby App Service je tři.
  • Instance se rovnoměrně rozprostírají, pokud zadáte kapacitu větší než tři a počet instancí je dělitelný třemi.
  • 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 má každá zóna buď stejný počet virtuálních počítačů, nebo plus nebo minus jeden, ve všech ostatních zónách. Další informace najdete v tématu Vyrovnávání zóny.

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í, pokud nejsou zóny dostupnosti pro vaši skupinu prostředků podporované, zobrazí se chyba. Pokud chcete zajistit, aby vaše úlohy přistály na kolku, 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. Během výpadku zóny dostupnosti může dojít k ovlivnění chování mimo dobu spuštění. Mezi tato chování patří š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í. Účtují se vám 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ří. Za tyto tři instance vám platforma účtuje 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í, nahraďte ho novým plánem zónově redundantním. 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 zřizovat. Tento přístup zajišťuje, že řešení dokáže tolerovat ztrátu kapacity 1/3 a nadále 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 zones/(zones-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 odezva Platforma 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 je zóna dostupnosti nedostupná, 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čí. Musí se opakovat.

Přenosy se směrují. Pokud je zóna nedostupná, služba Aplikace Azure 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. Další informace najdete v tématu Vertikální navýšení kapacity aplikace ve službě Aplikace Azure 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é

Neexistuje žádná záruka, že požadavky na více instancí 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í

Pokud chcete zajistit, aby aplikace byla méně náchylná k selhání jedné oblasti, musíte aplikaci nasadit do více oblastí:

  • 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. Další informace najdete v tématu Zálohování a obnovení aplikace ve službě Aplikace Azure 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 neměli spoléhat na zálohy služby App Service. Pomocí dalších metod popsaných v tomto článku můžete podporovat požadavky 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. Pokud chcete tyto podmínky pochopit, projděte si 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.