Spolehlivost v Azure App Configuration

Azure App Configuration centrálně ukládá a spravuje nastavení konfigurace aplikací a příznaky funkcí, které nahrazují konfigurační soubory vložené přímo v aplikacích. Díky tomuto přístupu můžete dynamicky aktualizovat hodnoty konfigurace, sledovat historii verzí a udržovat záznam změn konfigurace v průběhu času. Dostupnost a spolehlivost konfigurace aplikací jsou důležité aspekty, protože chování aplikace může přímo záviset na přístupu ke konfiguračním datům za běhu.

Při použití Azure je spolehlivost sdílenou odpovědností. Microsoft poskytuje řadu funkcí pro podporu odolnosti a obnovení. Zodpovídáte za pochopení toho, jak tyto možnosti fungují ve všech službách, které používáte, a výběrem možností, které potřebujete ke splnění vašich obchodních cílů a cílů dostupnosti.

Tento článek popisuje architekturu spolehlivosti služby App Configuration a způsob, jakým je služba navržená tak, aby zůstala dostupná během přechodných chyb, selhání zón dostupnosti a výpadků oblastí.

Doporučení pro produkční nasazení pro spolehlivost

U většiny produkčních nasazení služby App Configuration zvažte následující doporučení:

  • SKU: Použijte skladovou položku Standard nebo Premium.

  • Měkké odstranění a ochrana před vyčištěním: Zapněte měkké odstranění a ochranu před vyčištěním, abyste zabránili ztrátě dat.

  • Pro klíčové scénáře: Použijte skladovou položku Premium a nakonfigurujte zahrnutou repliku pro replikaci napříč několika oblastmi. Tento přístup zlepšuje vysokou dostupnost a odolnost vůči výpadkům oblastí.

Pro seznam doporučených postupů a konfigurací pro produkční pracovní zátěže, viz Vybudujte aplikace s vysokou odolností.

Přehled architektury spolehlivosti

Když nasadíte Službu App Configuration, nasadíte úložiště. Úložiště obsahuje různé typy nastavení, která může vaše aplikace používat, včetně klíčů a hodnot a příznaků funkcí. Tato služba také obsahuje integrované funkce pro uspořádání, zabezpečení, správu verzí a bezpečné zavádění změn konfigurace napříč prostředími. Další informace najdete v tématu Co je Konfigurace aplikace?

App Configuration je plně spravovaná služba. Microsoft zodpovídá za údržbu služby a ukládání a správu nastavení.

Při vytváření klientských aplikací, které se připojují ke službě App Configuration, můžete volitelně pomocí Azure Front Door (Preview) povolit ukládání do mezipaměti a globální zrychlení provozu. Tato konfigurace představuje další aspekty geografické replikace, které jsou v tomto článku zvýrazněné, pokud je to vhodné.

Odolnost proti přechodným chybám

Přechodné chyby jsou krátká, přerušovaná selhání ve složkách. V distribuovaném prostředí, jako je cloud, se vyskytují často a jsou normální součástí provozu. Přechodné chyby se opravují po krátké době. Je důležité, aby vaše aplikace mohly zpracovávat přechodné chyby, obvykle opakováním ovlivněných požadavků.

Všechny aplikace hostované v cloudu by měly postupovat podle Azure pokynů pro zpracování přechodných chyb, když komunikují s libovolnými rozhraními API, databázemi a dalšími komponentami hostovanými v cloudu. Další informace najdete v tématu Doporučení pro zpracování přechodných chyb.

Při použití služby App Configuration zvažte následující osvědčené postupy, které minimalizují vliv přechodných chyb na přístup ke konfiguraci, zejména v rámci kritických cest ke kódu.

  • Zprostředkovatelé konfigurace: Používejte zprostředkovatele konfigurace aplikací, kteří mají integrované funkce opakování a ukládání do mezipaměti a další funkce odolnosti.

  • Sady Azure SDK: Pokud vaše aplikace potřebuje odesílat požadavky na zápis, použijte sady SDK služby App Configuration. SDK automaticky opakují pokusy při odpovědích se stavovým kódem HTTP 429 a dalších přechodných chybách.

  • Logika opakování: Pokud nemůžete používat zprostředkovatele konfigurace aplikací nebo sady SDK, zahrňte do vlastních klientů logiku opakování. Hlavička retry-after-ms v odpovědi poskytuje navrženou dobu čekání v milisekundách, než klient požadavek opakuje.

  • Mezipaměti: Nastavení mezipaměti v paměti, pokud je to možné, aby se snížily přímé požadavky na úložiště.

Další pokyny ke konfiguraci aplikací najdete v nejčastějších dotazech ke službě App Configuration.

Odolnost proti chybám zóny dostupnosti

zóny dostupnosti jsou fyzicky oddělené skupiny datacenter v rámci Azure oblasti. Když jedna zóna selže, mohou služby přejít na jednu ze zbývajících zón.

App Configuration automaticky poskytuje zónovou redundanci v oblastech, které podporují zóny dostupnosti. Tato redundance poskytuje vysokou dostupnost v rámci oblasti bez nutnosti jakékoli konkrétní konfigurace.

Diagram znázorňující zónově redundantní úložiště služby App Configuration, které zahrnuje tři zóny v oblasti

Diagram znázorňuje zóny dostupnosti 1, 2 a 3. App Configuration Store zahrnuje všechny tři zóny v dané oblasti.

Když se zóna dostupnosti stane nedostupnou, služba App Configuration automaticky přesměruje vaše požadavky na jiné zóny dostupnosti, které jsou v pořádku, aby se zajistila vysoká dostupnost.

Požadavky

Podpora oblastí: Úložiště nasazená do následujících oblastí jsou automaticky zónově redundantní.

Severní a Jižní Amerika Evropa Střední východ Afrika Asie a Tichomoří
Brazílie – jih Francie – střed Izrael – střed Austrálie – východ
Kanada – střed Německo – středozápad Katar – střed Indie – střed
Střed USA Itálie – sever Spojené arabské emiráty – sever Čína – sever 3
USA – východ​ Severní Evropa Východní Asie
USA – východ 2 Norsko – východ Japonsko – východ
Mexiko – střed Polsko – střed Korea – střed
Střed USA – jih Španělsko – střed Jihovýchodní Asie
US Gov – Virginie Švédsko – střed
USA – západ 2​ Švýcarsko – sever
USA – západ 3 Velká Británie – jih
Západní Evropa

Náklady

Za redundanci zón pro službu App Configuration nejsou žádné další poplatky.

Konfigurujte podporu zón dostupnosti

Microsoft automaticky nakonfiguruje redundanci zón pro úložiště, když je v oblasti a, která podporuje zóny dostupnosti.

Pokud Služba App Configuration přidá podporu zóny dostupnosti do existující oblasti, nemusíte podniknout žádnou akci, abyste mohli využít podporu zóny dostupnosti. Váš obchod má prospěch z podpory pro zóny dostupnosti, která je k dispozici pro obchody App Configuration v této oblasti.

Chování, když jsou všechny zóny v pořádku

Tato část popisuje, co očekávat, když máte zónově redundantní úložiště App Configuration Store a všechny zóny jsou funkční.

  • Operace napříč zónami: App Configuration automaticky spravuje směrování provozu mezi zónami dostupnosti. Během normálních operací transparentně distribuuje požadavky napříč zónami.

  • Replikace dat mezi zónami: V oblastech, které podporují zóny, synchronně replikuje služba App Configuration data napříč zónami dostupnosti. Tato replikace zajišťuje, že nastavení zůstane konzistentní a dostupné i v případě, že zóna přestane být k dispozici.

Chování při selhání zóny

Tato část popisuje, co očekávat, když máte zónově redundantní úložiště app Configuration a v jedné ze zón dojde k výpadku.

  • Detekce a odpověď: Služba App Configuration detekuje chyby zóny a automaticky na ně reaguje. Během selhání zóny nemusíte provádět žádnou akci.
  • Notification: Microsoft vás při výpadku zóny automaticky neoznámí. Můžete ale použít Azure Service Health k pochopení celkového stavu služby, včetně jakýchkoli selhání zón, a můžete nastavit upozornění služby Service Health, která vás upozorní na problémy.
  • Aktivní požadavky: Během selhání zóny může ovlivněná zóna selhat ve zpracování probíhajících požadavků, což vyžaduje, aby je klientské aplikace opakovaly. Klientské aplikace by měly dodržovat přechodné postupy zpracování chyb , aby se zajistilo, že můžou opakovat požadavky, pokud dojde k selhání zóny.

  • Očekávaná ztráta dat: Během selhání zóny se neočekává žádná ztráta dat kvůli synchronní replikaci mezi zónami.

  • Očekávaný výpadek: Neočekává se žádný výpadek.

  • Přerozdělování: App Configuration automaticky směruje provoz z ovlivněné zóny do zón, které jsou v pořádku, aniž by vyžadovala zásah zákazníka.

Obnovení zóny

Když se dříve nedostupná zóna obnoví, služba App Configuration automaticky obnoví normální operace napříč všemi zónami dostupnosti. K zotavení z selhání zóny nemusíte provádět žádnou akci.

Testování poruch zón

Platforma App Configuration spravuje směrování provozu, převzetí služeb při selhání a obnovení zóny pro zónově redundantní úložiště. Microsoft tento proces plně spravuje, takže nemusíte ověřovat procesy selhání zóny dostupnosti.

Odolnost proti selháním v celé oblasti

App Configuration poskytuje nativní možnosti geografické replikace pro podporu odolnosti během výpadků oblastí. Geografická replikace umožňuje replikaci konfiguračních dat napříč oblastmi jako funkci spravované služby.

Geografická replikace

Pomocí geografické replikace můžete replikovat úložiště napříč několika Azure oblastmi. Každý obchod může mít více replik v různých oblastech. Původní obchod je také replika. Tato funkce pomáhá chránit aplikace před přerušením v celé oblasti.

Požadavky

  • Region support: Repliky můžete vytvářet v libovolné oblasti Azure, kterou Služba App Configuration podporuje, i když oblasti nejsou Azure spárované oblasti.

  • Úroveň: Úložiště konfigurace musí k povolení geografické replikace použít podporovanou úroveň. Další informace najdete v tématu Povolení geografické replikace.

Úvahy

Pokud povolíte geografickou replikaci, zvažte následující faktory:

  • Zónově redundantní repliky: Všechny repliky, které vytvoříte v oblasti, ve které služba App Configuration podporuje zóny dostupnosti, se automaticky zónově redundantní.

  • Azure Front Door: Pokud chcete povolit geograficky redundantní doručování konfigurace pomocí Azure Front Door, nakonfigurujte repliky konfigurace aplikace jako zdroje ve skupině původu. Správně nakonfigurované zdrojové servery jsou potřeba pro Azure Front Door k provádění směrování na základě stavu, vyrovnávání zatížení a automatického převzetí služeb při selhání napříč oblastmi. Další informace naleznete v tématu Metody směrování provozu do zdroje.

Náklady

Každá geograficky replikovaná oblast se účtuje zvlášť podle cen příslušné úrovně a oblasti. U replikace mezi oblastmi se neúčtují žádné poplatky za výchozí přenos dat. Podrobnosti o cenách najdete v tématu Ceny služby App Configuration.

Konfigurace podpory více oblastí

Pokud chcete nastavit replikaci pro nově vytvořené úložiště konfigurace, přečtěte si téma Povolení geografické replikace.

Chování, když jsou všechny oblasti v pořádku

Tato část popisuje, co očekávat, když nakonfigurujete Úložiště konfigurace aplikací pro geografickou replikaci a všechny oblasti jsou funkční.

  • Operace napříč zónami: Každá replika je individuálně adresovatelná a má vlastní název DNS (Domain Name System). Všechny repliky mohou přijímat operace čtení i zápisu.

    App Configuration automaticky nesměruje provoz mezi oblastmi. Pokud používáte zprostředkovatele konfigurace služby App Configuration, může vaše aplikace volitelně používat automatické zjišťování replik. Případně můžete zadat seznam replik s prioritou a konfigurace aplikace vybere první repliku, která je v pořádku. Tento přístup umožňuje vaší aplikaci řídit, kterou repliku používá.

    Poznámka:

    Pokud používáte Azure Front Door, chování směrování provozu se liší. Další informace najdete v tématu Převzetí služeb při selhání a vyrovnávání zatížení.

  • Replikace dat mezi zónami: Data se replikují asynchronně a nakonec jsou konzistentní. V Azure Monitoru můžete použít metriku latence replikace ke sledování aktuální latence replikace mezi replikami.

Chování při selhání oblasti

Tato část popisuje, co očekávat, když nakonfigurujete Úložiště konfigurace aplikací pro geografickou replikaci a dojde k výpadku v jedné z oblastí repliky.

  • Detection a response: Microsoft zodpovídá za zjišťování oblastí nebo selhání replik a zahajování procesů obnovení.

    Pokud používáte zprostředkovatele konfigurace služby App Configuration s automatickým zjišťováním replik nebo seznamem více replik, aplikace automaticky rozpozná selhání a přeřadí provoz na funkční repliku.

    Pokud nepoužíváte poskytovatele služby App Configuration, zodpovídáte za přepnutí aplikace na repliku, která je v pořádku.

  • Notification: Microsoft vás při výpadku oblasti automaticky neoznámí. Můžete ale použít Azure Service Health, abyste porozuměli celkovému stavu služby, včetně jakýchkoli selhání oblastí, a můžete nastavit upozornění služby Služba Health, která vás upozorní na problémy.

  • Aktivní požadavky: Aktivní požadavky na repliku v regionu můžou selhat. Klientské aplikace by měly opakovat požadavky na jinou repliku.

  • Očekávaná ztráta dat: Pokud replika selže, nedávné změny provedené na této replice se ještě nemusí replikovat do jiných replik. Tyto změny můžou zůstat nedostupné, dokud se replika neobnoví. Pokud chcete odhadnout potenciální ztrátu dat, monitorujte metriku latence replicit v Azure Monitor.

  • Očekávaný výpadek: Když se replika stane nedostupnou, zůstane offline, dokud se její oblast neobnoví. Ostatní repliky nadále zpracovávají požadavky. Aplikace můžou zaznamenat krátký výpadek, když zjistí selhání a přepnou na repliku, která je v pořádku. Doba trvání závisí na tom, jak rychle každá aplikace provádí tuto detekci a přepnutí.

  • Přerozdělování: Aplikace musí směrovat provoz do repliky, která je v pořádku, když dojde k selhání.

    Pokud používáte poskytovatele konfigurace služby App Configuration, poskytovatelé automaticky zpracovávají výběr repliky a převzetí služeb.

    Pokud umístíte Azure Front Door před úložiště dat a nakonfigurujte skupinu původu s více replikami jako zdroji pro zajištění nepřetržitého provozu při selhání, Azure Front Door automaticky směruje požadavky na zdravou repliku.

Obnovení oblasti

Jakmile se oblast obnoví, služba App Configuration synchronizuje repliku s ostatními replikami bez vašeho zásahu.

Zodpovídáte za překonfigurování aplikace tak, aby směrovala provoz zpět do instance obnovené oblasti. Aplikace, které používají zprostředkovatele služby App Configuration, začnou automaticky znovu používat repliku.

Testování selhání regionů

V App Configuration nemůžete přímo simulovat selhání repliky. Vzhledem k tomu, že aplikace řídí výběr repliky, můžete otestovat chování při selhání přiměním aplikace do stavu, kde musí přepnout repliky.

Pokud chcete ověřit chování repliky vaší aplikace při selhání, můžete v neprodukčním prostředí zavést řízené selhání připojení a sledovat, jak aplikace reaguje.

** Jedním ze způsobů je použít místní počítač nebo jiné prostředí, kde máte administrativní přístup. Postupujte následovně:

  1. Zapněte podrobné protokolování pro Azure SDK. V .NET nakonfigurujte protokolovací nástroj pomocí třídy AzureEventSourceListener. Další informace naleznete v tématu Protokolování a monitorování.

  2. Ručně nakonfigurujte hosts soubor tak, aby se požadavky do úložiště App Configuration Store směrovaly na IP adresu, která je nemůže přijímat, například 127.0.0.1 (localhost).

    Výstraha

    Tento krok efektivně blokuje přístup z počítače do obchodu App Configuration. Tento postup použijte pouze v neprodukčním prostředí.

  3. Monitorujte protokoly zprávy podobné následujícímu příkladu:

    [Warning] Microsoft-Extensions-Configuration-AzureAppConfiguration-Refresh:
    Failed to get configuration settings from endpoint 'https://myappconfigstore.azconfig.io'. Failing over to endpoint https://myappconfigstore-eus.azconfig.io'.
    

    Tato zpráva naznačuje, že aplikace úspěšně přešla na používání jiné repliky úložiště při selhání.

  4. Po dokončení testu vraťte změny souboru hosts zpět.

Zálohování a obnovení

Pomocí služby App Configuration můžete exportovat konfigurační data z úložiště a používat je jako součást širší strategie zálohování.

U většiny řešení byste se neměli spoléhat výhradně na zálohy. Místo toho využijte další funkce popsané v tomto průvodci k podpoře vašich požadavků na odolnost. Zálohy ale chrání před některými riziky, která jiné přístupy nechrání. Další informace najdete v tématu Co jsou redundance, replikace a zálohování?.

Odolnost proti náhodnému odstranění

App Configuration poskytuje dvě funkce obnovení klíčů, které brání náhodnému nebo škodlivému odstranění:

  • Obnovitelné odstranění: Když zapnete obnovitelné odstranění, můžete během konfigurovatelné doby uchovávání obnovit odstraněná úložiště a nastavení. Soft delete funguje jako koš pro vaše prostředky App Configuration.

  • Ochrana před vymazáním: Když zapnete ochranu před vymazáním, služba zabrání trvalému odstranění úložiště a jeho nastavení, dokud neuplyne doba uchovávání. Tato ochrana brání škodlivým hercům v trvalém zničení vašich nastavení.

Pro produkční prostředí používejte obě funkce. Další informace najdete v tématu Měkké odstranění a ochrana proti vyprázdnění.

Odolnost vůči údržbě služeb

Microsoft pravidelně provádí aktualizace služeb a další údržbu. Služba tyto aktivity zpracovává automaticky, takže údržba je pro vás bezproblémová a transparentní. Během událostí údržby se neočekává žádný výpadek, pokud Azure Service Health neposkytuje oznámení o plánované údržbě.

Odolnost proti problémům s konfigurací

Nesprávné nebo náhodné změny konfigurace můžou způsobit výpadek aplikace. Snímky konfigurace můžete použít k bezpečnému zavedení změn konfigurace. Monitorujte stav aplikace po jakýchkoli změnách konfigurace a vraťte se k poslednímu známému snímku konfigurace, pokud změny představují problém.

Smlouva o úrovni služeb

Smlouva o úrovni služeb (SLA) pro služby Azure popisuje očekávanou dostupnost každé služby a podmínky, které musí vaše řešení splnit, aby bylo dosaženo očekávané dostupnosti. Další informace najdete v tématu SLA pro online služby.