Sdílet prostřednictvím


Způsoby návrhu v cloudu

Architekti navrhují úlohy kombinováním služeb platformy, funkcí a kódu pro splnění funkčních a nefunkčních požadavků v úlohách. Návrh úloh vyžaduje pochopení těchto požadavků na úlohy a následný výběr topologií a přístupů k řešení problémů, které představují omezení úlohy. Vzory návrhu cloudu, které řeší řadu běžných problémů.

Návrh systémů je úzce spojen s návrhovými vzory. Infrastruktura, kód a distribuované systémy jsou navržené podle kombinace vzorů návrhu. Tyto vzory návrhu jsou užitečné pro vytváření spolehlivých, zabezpečených, nákladově optimalizovaných, provozních a výkonných aplikací v cloudu.

Tyto vzory návrhu nejsou specifické pro žádnou technologii a jsou relevantní pro jakýkoli distribuovaný systém, ať už je hostovaný v Azure, jiných cloudových platformách a některé můžou dokonce rozšířit na místní nebo hybridní úlohy.

Vzory návrhu cloudu pomáhají procesu návrhu

Cloudové úlohy jsou náchylné k pádům distribuovaného computingu. Mezi příklady fallacií návrhu cloudu patří:

  • Síť je spolehlivá.
  • Latence je nula.
  • Šířka pásma je nekonečná.
  • Síť je zabezpečená.
  • Topologie se nemění.
  • Je tu jeden správce.
  • Správa verzí součástí je jednoduchá.
  • Implementace pozorovatelnosti může být zpožděná.

Vzory návrhu neodstraňuje pojmy, jako jsou tyto, ale můžou pomoct zvýšit povědomí, kompenzace a zmírnění jejich rizik. Každý model cloudu má své vlastní kompromisy. Potřebujete věnovat pozornost tomu, proč vybíráte určitý vzor, než jak ho implementovat.

Dobře navržená úloha zohledňuje, jak by se tyto vzory návrhu pro celé odvětví měly používat jako základní stavební bloky pro návrh pracovního zatížení. Každý pilíř Azure Well-Architected je reprezentován v těchto vzorech návrhu, často s vzorem návrhu, který představuje kompromisy s cíli jiných pilířů.

Katalog vzorů

Každý vzor v tomto katalogu popisuje problém, který model řeší, důležité informace o použití vzoru a příklad založený na Microsoft Azure. Některé vzory zahrnují ukázky kódu nebo fragmenty kódu, které ukazují, jak implementovat vzor v Azure.

Vzor Shrnutí Pilíře architektury Azure Well-Architected
Ambassador Vytvoří služby pomocných rutin, které odesílají síťové požadavky jménem aplikace nebo služby uživatele.
  • Spolehlivost
  • Bezpečnost
Anti-Corruption Layer Implementuje adaptační vrstvu mezi moderní aplikací a systémem starší verze.
  • Efektivita provozu
Asynchronní požadavek-odpověď Oddělte back-endové zpracování od front-endového hostitele – back-endové zpracování back-endu musí být asynchronní, ale front-end pořád potřebuje jasnou odpověď.
  • Efektivita výkonu
Backends for Frontends Vytvořte samostatné back-endové služby, které budou používat konkrétní front-endové aplikace nebo rozhraní.
  • Spolehlivost
  • Bezpečnost
  • Efektivita výkonu
Bulkhead Izolujte prvky aplikace do fondů, aby v případě selhání jednoho prvku fungovaly i ostatní.
  • Spolehlivost
  • Bezpečnost
  • Efektivita výkonu
Cache-Aside Načtěte data na vyžádání do mezipaměti z úložiště dat.
  • Spolehlivost
  • Efektivita výkonu
Choreografie Zajistěte si nezávislost na centrálním orchestrátoru a dejte každé službě na výběr, kdy a jak se zpracuje obchodní operace.
  • Efektivita provozu
  • Efektivita výkonu
Circuit Breaker Zpracovává chyby, jejichž oprava při připojení ke vzdálené službě nebo prostředku může trvat různě dlouho.
  • Spolehlivost
  • Efektivita výkonu
Kontrola deklarace identity Rozdělte velkou zprávu na kontrolu deklarace identity a datovou část, abyste zabránili zahlcení sběrnice zpráv.
  • Spolehlivost
  • Bezpečnost
  • Optimalizace nákladů
  • Efektivita výkonu
Compensating Transaction Vrátit zpět akce provedené sérii kroků, které společně definují operaci s konečnou konzistencí.
  • Spolehlivost
Competing Consumers Umožňuje několika souběžným příjemcům zpracovávat zprávy přijaté ve stejném kanálu pro zasílání zpráv.
  • Spolehlivost
  • Optimalizace nákladů
  • Efektivita výkonu
Compute Resource Consolidation Sloučení více úkolů nebo operací do jedné výpočetní jednotky.
  • Optimalizace nákladů
  • Efektivita provozu
  • Efektivita výkonu
CQRS Odděluje operace, které načítají data, od operací, které aktualizují data, a to s využitím samostatných rozhraní.
  • Efektivita výkonu
Stampy nasazení Nasaďte několik nezávislých kopií aplikačních komponent, včetně úložišť dat.
  • Efektivita provozu
  • Efektivita výkonu
Konfigurace úloh Edge Centralizovaná konfigurace, která řeší výzvu při konfiguraci více systémů a zařízení v obchodě.
Event Sourcing Využívá úložiště s možností jenom přidávat pro záznam úplné posloupnosti událostí, které popisují akce s daty v doméně.
  • Spolehlivost
  • Efektivita výkonu
External Configuration Store Přesouvá informace o konfiguraci z balíčku pro nasazení aplikace do centralizovaného umístění.
  • Efektivita provozu
Federated Identity Deleguje ověřování na externího zprostředkovatele identity.
  • Spolehlivost
  • Bezpečnost
  • Efektivita výkonu
Gatekeeper Chrání aplikace a služby pomocí vyhrazené hostitelské instance, která slouží jako zprostředkovatel mezi klienty a aplikací nebo službou, ověřuje a upravuje požadavky a předává mezi nimi požadavky a data.
  • Bezpečnost
  • Efektivita výkonu
Gateway Aggregation Používá bránu k agregaci několika jednotlivých požadavků do jednoho.
  • Spolehlivost
  • Bezpečnost
  • Efektivita provozu
  • Efektivita výkonu
Gateway Offloading Přesměrovává zpracování sdílených nebo specializovaných funkcí služby na proxy brány.
  • Spolehlivost
  • Bezpečnost
  • Optimalizace nákladů
  • Efektivita provozu
  • Efektivita výkonu
Gateway Routing Směruje žádosti na několik služeb s využitím jednoho koncového bodu.
  • Spolehlivost
  • Efektivita provozu
  • Efektivita výkonu
geode Nasaďte back-endové služby do sady geografických uzlů, z nichž každý může obsloužit jakoukoli žádost klienta v libovolné oblasti.
  • Spolehlivost
  • Efektivita výkonu
Health Endpoint Monitoring Implementuje v aplikaci funkční kontroly, ke kterým mají externí nástroje v pravidelných intervalech přístup prostřednictvím zveřejněných koncových bodů.
  • Spolehlivost
  • Efektivita provozu
  • Efektivita výkonu
Index Table Vytváří indexy přes pole v úložištích dat, na která často odkazují dotazy.
  • Spolehlivost
  • Efektivita výkonu
Leader Election Koordinuje akce prováděné kolekcí instancí spolupracujících úloh v distribuované aplikaci. Zvolí jednu instanci jako vedoucí a ta potom přijme zodpovědnost za správu ostatních instancí.
  • Spolehlivost
Materialized View Generuje předem vyplněná zobrazení nad daty v jednom nebo několika úložištích dat v případě, že data nejsou pro požadované operace dotazů ideálně naformátovaná.
  • Efektivita výkonu
Zasílání zpráv most Vytvořte prostředníka, který umožní komunikaci mezi systémy zasílání zpráv, jež jsou jinak nekompatibilní kvůli protokolu nebo formátu.
  • Optimalizace nákladů
  • Efektivita provozu
Pipes and Filters Rozdělí úlohu, která provádí komplexní zpracování, do řady samostatných prvků, které je možné využít znovu.
  • Spolehlivost
Priority Queue Určuje prioritu požadavků odeslaných službám, aby se požadavky s vyšší prioritou přijímaly a zpracovávaly rychleji než požadavky s nižší prioritou.
  • Spolehlivost
  • Efektivita výkonu
Vydavatel/odběratel Umožňuje aplikaci oznamovat události několika příjemcům asynchronně, bez párování odesílatelů s příjemci.
  • Spolehlivost
  • Bezpečnost
  • Optimalizace nákladů
  • Efektivita provozu
  • Efektivita výkonu
karantény Před oprávněním k jejich využívání v úloze se ujistěte, že externí prostředky splňují úroveň kvality odsouhlasené týmem.
  • Bezpečnost
  • Efektivita provozu
Queue-Based Load Leveling Použije frontu, která funguje jako vyrovnávací paměť mezi úlohou a službou, kterou vyvolá, pro ulehčení občasných velkých zátěží.
  • Spolehlivost
  • Optimalizace nákladů
  • Efektivita výkonu
Model omezení rychlosti Omezení vzorce, které vám pomůžou vyhnout se nebo minimalizovat chyby omezování související s těmito omezeními omezování a které vám pomůžou přesněji předpovídat propustnost.
  • Spolehlivost
Opakovat Umožňuje aplikaci řešit předpokládaná dočasná selhání při pokusu o připojení k prostředku služby nebo síťovému prostředku, a to transparentním opakováním operace, která původně selhala.
  • Spolehlivost
Sága Správa konzistence dat napříč mikroslužbami ve scénářích distribuovaných transakcí Saga je posloupnost transakcí, které aktualizují každou službu a publikují zprávu nebo událost pro aktivaci dalšího kroku transakce.
  • Spolehlivost
Scheduler Agent Supervisor Koordinuje sadu akcí napříč distribuovanou sadu služeb a dalších vzdálených prostředků.
  • Spolehlivost
  • Efektivita výkonu
Sequential Convoy Zpracovává sadu souvisejících zpráv v definovaném pořadí, aniž by docházelo k blokování zpracování dalších skupin zpráv.
  • Spolehlivost
Sharding Rozděluje úložiště dat do sady horizontálních oddílů.
  • Spolehlivost
  • Optimalizace nákladů
Sidecar Nasazuje komponenty aplikace do samostatného procesu nebo kontejneru s cílem poskytnout izolaci a zapouzdření.
  • Bezpečnost
  • Efektivita provozu
Static Content Hosting Nasazuje statický obsah do služby cloudového úložiště, která ho může doručit přímo klientovi.
  • Optimalizace nákladů
Strangler Fig Přírůstkově migruje starší verzi systému, a to postupným nahrazením jednotlivých konkrétních funkcí novými aplikacemi a službami.
  • Spolehlivost
  • Optimalizace nákladů
  • Efektivita provozu
Omezování Řídí spotřebu prostředků používaných instancí aplikace, jednotlivým tenantem nebo celou služby.
  • Spolehlivost
  • Bezpečnost
  • Optimalizace nákladů
  • Efektivita výkonu
Valet Key Používá token nebo klíč, který klientům poskytuje omezený přímý přístup ke konkrétnímu prostředku nebo službě.
  • Bezpečnost
  • Optimalizace nákladů
  • Efektivita výkonu

Další krok

Prohlédněte si vzory návrhu z pohledu pilíře Azure Well-Architected, který se snaží optimalizovat.