Vzory návrhu cloudu, které podporují efektivitu provozu
Při návrhu architektur úloh byste měli používat oborové vzory, které řeší běžné výzvy. Vzory vám můžou pomoct s úmyslným kompromisem v rámci úloh a optimalizovat je pro požadovaný výsledek. Můžou také pomoct zmírnit rizika vyplývající z konkrétních problémů, které můžou mít vliv na spolehlivost, zabezpečení, výkon a náklady. Vzhledem k tomu, že operace přeskakují všechny tyto oblasti, rizika nakonec ovlivní operace úloh. Tyto vzory jsou založené na reálných zkušenostech, jsou navržené pro cloudové škálování a provozní modely a jsou ze své podstaty nezávislé na dodavatelích. Použití dobře známých vzorů jako způsobu standardizace návrhu úloh je samo o sobě součástí efektivity provozu.
Mnoho vzorů návrhu přímo podporuje jeden nebo více pilířů architektury. Vzory návrhu, které podporují pilíř efektivity provozu, používají topologie, které poskytují pevný základ pro postupy bezpečného nasazení a usnadňují vývoj architektury v průběhu času, scénáře migrace a pozorovatelnost.
Vzory návrhu pro zajištění efektivity provozu
Následující tabulka shrnuje vzory návrhu cloudu, které podporují cíle efektivity provozu.
Vzor | Souhrn |
---|---|
Anti-Corruption Layer | Chrání nové součásti systému před chováním nebo volbami implementace starších systémů přidáním vrstvy zprostředkovatele k interakcím proxy mezi starší a novými komponentami. Tento model pomáhá zajistit, aby návrh nových komponent zůstal při integraci s těmito staršími systémy bez vlivu starších implementací, které můžou mít různé datové modely nebo obchodní pravidla. Tento model je užitečný zejména při postupné migraci systému. Snižuje technický dluh v nových komponentách a současně podporuje stávající komponenty. |
Choreografie | Koordinuje chování autonomních distribuovaných komponent v úloze pomocí decentralizované komunikace řízené událostmi. Tento model může být užitečný, pokud očekáváte, že během životního cyklu úlohy budete služby často aktualizovat nebo nahrazovat. Vzhledem k tomu, že distribuované komponenty jsou autonomní, můžete upravit úlohy s menší celkovou změnou systému. |
Compute Resource Consolidation | Optimalizuje a konsoliduje výpočetní prostředky zvýšením hustoty. Tento model kombinuje více aplikací nebo komponent úloh ve sdílené infrastruktuře. Konsolidace vede k jednotnější výpočetní platformě, která může zjednodušit správu a pozorovatelnost, omezit různorodé přístupy k provozním úlohám a snížit množství potřebných nástrojů. |
Stampy nasazení | Poskytuje přístup k vydání konkrétní verze aplikace a její infrastruktury jako řízené jednotky nasazení na základě předpokladu, že stejné nebo různé verze budou nasazeny souběžně. Tento model je v souladu s neměnnými cíli infrastruktury, podporuje pokročilé modely nasazení a může usnadnit postupy bezpečného nasazení. |
External Configuration Store | Extrahuje konfiguraci do služby, která je externalizovaná do aplikace, aby podporovala dynamické aktualizace hodnot konfigurace bez nutnosti změn kódu nebo opětovného nasazení aplikace. Toto oddělení konfigurace aplikace od kódu aplikace podporuje konfiguraci specifickou pro prostředí a používá správu verzí na hodnoty konfigurace. Externí úložiště konfigurace jsou také běžným místem pro správu příznaků funkcí, aby bylo možné bezpečně nasadit postupy. |
Gateway Aggregation | Zjednodušuje interakce klientů s úlohou tím, že agreguje volání několika back-endových služeb v jednom požadavku. Tato topologie umožňuje, aby se logika back-endu vyvíjela nezávisle na klientech, což vám umožní změnit zřetězené implementace služeb nebo dokonce zdroje dat, aniž byste museli měnit dotykové body klienta. |
Gateway Offloading | Přesměruje zpracování požadavků na zařízení brány před předáním požadavku do back-endového uzlu a po jeho předání do back-endového uzlu. Přidání brány pro přesměrování zátěže do procesu žádosti vám umožní spravovat konfiguraci a správu funkcí s přesměrováním zatížení z jednoho bodu místo toho, abyste ji spravovali z více uzlů. |
Gateway Routing | Směruje příchozí síťové požadavky do různých back-endových systémů na základě záměrů požadavků, obchodní logiky a dostupnosti back-endu. Směrování brány umožňuje oddělit požadavky od back-endů, což zase umožňuje back-endům podporovat pokročilé modely nasazení, přechody platforem a jediný bod správy pro překlad názvů domén a šifrování při přenosu. |
Health Endpoint Monitoring | Poskytuje způsob, jak monitorovat stav nebo stav systému zveřejněním koncového bodu, který je speciálně navržený pro tento účel. Standardizace koncových bodů stavu, které se mají zveřejnit, a úroveň analýzy ve výsledcích v rámci úloh vám může pomoct s posouzením problémů. |
Most pro zasílání zpráv | Poskytuje zprostředkovatele umožňující komunikaci mezi systémy zasílání zpráv, které jsou jinak nekompatibilní z důvodu protokolu nebo formátu. Toto oddělení poskytuje flexibilitu při přechodu technologie zasílání zpráv a událostí v rámci úlohy nebo při heterogenních požadavcích od externích závislostí. |
Vydavatel/odběratel | Oddělí komponenty architektury nahrazením přímé komunikace mezi klientem a službami za komunikaci prostřednictvím zprostředkujícího zprostředkovatele zpráv nebo sběrnice událostí. Tato vrstva zprostředkování umožňuje bezpečně změnit implementaci na straně vydavatele nebo odběratele, aniž by bylo nutné koordinovat změny v obou komponentách. |
Karantény | Zajišťuje, aby externí prostředky splňovaly úroveň kvality odsouhlasenou týmem před tím, než budou oprávněny je využívat v úlohách. Automatizace a konzistence těchto kontrol jsou součástí životního cyklu vývoje softwaru a postupů bezpečného nasazení (SDP) úlohy. |
Sidecar | Rozšiřuje funkčnost aplikace zapouzdřením neprimárních nebo průřezových úloh do doprovodného procesu, který existuje vedle hlavní aplikace. Tento model poskytuje přístup k implementaci flexibility integrace nástrojů, který může zlepšit pozorovatelnost aplikace, aniž by aplikace vyžadovala přímé závislosti implementace. Umožňuje, aby se funkce sajdkár vyvíjela nezávisle a udržovala se nezávisle na životním cyklu aplikace. |
Strangler Fig | Poskytuje přístup k systematickému nahrazování komponent spuštěného systému novými komponentami, často během migrace nebo modernizace systému. Tento model poskytuje přístup k neustálému zlepšování, ve kterém se upřednostňuje přírůstkové nahrazování s malými změnami v průběhu času místo velkých systémových změn, které jsou rizikovější k implementaci. |
Další kroky
Projděte si vzory návrhu cloudu, které podporují další pilíře architektury Azure Well-Architected: