Odolnost nativní pro cloud

Tip

Tento obsah je výňatek z eBooku, Architekting Cloud Native .NET Applications for Azure, který je k dispozici na webu Docs pro .NET nebo jako soubor PDF zdarma ke stažení, který si můžete přečíst offline.

Cloud Native .NET apps for Azure eBook cover thumbnail.

Odolnost je schopnost systému reagovat na selhání a stále zůstat funkční. Nejedná se o zabránění selhání, ale přijetí selhání a vytvoření služeb nativních pro cloud, aby na ně reagovaly. Chcete se co nejrychleji vrátit do plně funkčního stavu.

Na rozdíl od tradičních monolitických aplikací, kde vše běží v jednom procesu, systémy nativní pro cloud používají distribuovanou architekturu, jak je znázorněno na obrázku 6-1:

Distributed cloud-native environment

Obrázek 6–1 Distribuované prostředí nativní pro cloud

Na předchozím obrázku se každá mikroslužba a cloudová backingová služba spouští v samostatném procesu napříč serverovou infrastrukturou a komunikuje prostřednictvím síťových volání.

V tomto prostředí musí být služba citlivá na mnoho různých problémů:

  • Neočekávaná latence sítě – doba, kdy žádost o službu může cestovat do příjemce a zpět.

  • Přechodné chyby – krátkodobé chyby připojení k síti

  • Blokování dlouhotrvající synchronní operací

  • Hostitelský proces, který se chybově ukončil a je restartován nebo přesunut.

  • Přetížená mikroslužba, která nemůže krátce reagovat.

  • Operace orchestrátoru v letu, jako je postupný upgrade nebo přesun služby z jednoho uzlu do jiného.

  • Selhání hardwaru.

Cloudové platformy můžou detekovat a zmírnit mnoho z těchto problémů s infrastrukturou. Může restartovat, škálovat na více instancí a dokonce distribuovat vaši službu do jiného uzlu. Pokud ale chcete tuto integrovanou ochranu plně využít, musíte navrhnout služby tak, aby na ni reagovaly a v tomto dynamickém prostředí se jim daří.

V následujících částech prozkoumáme obranné techniky, které vaše služba a spravované cloudové prostředky mohou využít k minimalizaci výpadků a přerušení.