Sdílet prostřednictvím


perspektiva architektury Well-Architected v Azure Service Fabric

Azure Service Fabric je platforma distribuovaných systémů, která usnadňuje balení, nasazování a správu škálovatelných a spolehlivých mikroslužeb a kontejnerů. Tyto prostředky se nasazují do sady virtuálních nebo fyzických počítačů připojených k síti, která se nazývá cluster.

Tento článek předpokládá, že jako architekt jste si prostudovali rozhodovací strom výpočetních prostředků a jako výpočetní platformu pro vaši úlohu zvolili Service Fabric. Pokyny v tomto článku poskytují doporučení architektury, která jsou mapována na principy pilířů Well-Architected Framework.

Důležitý

Jak používat tohoto průvodce

Každá část obsahuje kontrolní seznam návrhu, který představuje architektonické oblasti zájmu spolu se strategiemi návrhu lokalizovanými do oboru technologie.

Součástí jsou také doporučení pro technologické možnosti, které můžou pomoct materializovat tyto strategie. Doporučení nepředstavují vyčerpávající seznam všech konfigurací, které jsou k dispozici pro Azure Service Fabric a její závislosti. Místo toho uvádějí klíčová doporučení sladěná s návrhovými perspektivami. Pomocí doporučení můžete vytvořit testování konceptu nebo optimalizovat vaše stávající prostředí.

Základní architektura, která demonstruje klíčová doporučení: Mikroslužební architektura v Azure Service Fabric.

oboru technologie

Tato kontrola se zaměřuje na vzájemně nesouvisející rozhodnutí pro následující prostředky Azure:

  • Service Fabric

Poznámka

Tato příručka služby vychází z pokynů obsažených v průvodci službou Virtual Machines a škálovací sady. Uzly Service Fabric jsou podporovány škálovacími sadami virtuálních počítačů, proto si v tomto průvodci službami projděte doporučení týkající se provozu výpočetního back-endu pro uzly Service Fabric.

Při diskuzi o aspektech architektury a doporučeních ke konfiguraci v Azure Service Fabric je důležité rozlišovat mezi clusteru a úloh. Konfigurace clusteru je sdílená odpovědnost mezi správcem clusteru Service Fabric a jeho poskytovatelem prostředků, zatímco konfigurace úloh je doménou vývojáře. Azure Service Fabric má důležité informace a doporučení pro obě tyto role.

V návrhovém kontrolním seznamu a seznamu doporučení níže jsou uvedeny upozornění označující, jestli je každá volba použitelná pro architekturu clusteru, architekturu zátěže nebo obojí.

Spolehlivost

Účelem pilíře spolehlivosti je poskytovat nepřetržitou funkčnost budování dostatečné odolnosti a schopnost rychle se zotavit z selhání.

principy návrhu spolehlivosti poskytují základní strategii návrhu použitou pro jednotlivé komponenty, systémové toky a systém jako celek.

Kontrolní seznam návrhu

Zahajte strategii návrhu na základě kontrolního seznamu pro návrh spolehlivosti. Určete její význam pro vaše obchodní požadavky a přitom mějte na paměti [aspekty specifické pro nabídku]. Rozšiřte strategii tak, aby podle potřeby zahrnovala více přístupů.

  • (Cluster) Zkuste určit odpovídající úroveň spolehlivosti pro váš cluster na základě celkové cílové metriky spolehlivosti pro úlohu. Úroveň spolehlivého nasazení clusteru, který identifikujete, určuje minimální počet uzlů, které se mají nasadit pro váš primární typ uzlu. Informace o provádění těchto rozhodnutí najdete v dokumentaci k plánování kapacity .
  • (Cluster) U důležitých úloh zvažte použití zón dostupnosti pro clustery Service Fabric.
  • (Cluster) V produkčních scénářích použijte skladovou položku spravovaného clusteru Standard s úrovní silver durability (5 virtuálních počítačů) nebo vyšší . Tato skladová položka nabízí vyšší možnosti spolehlivosti než skladová položka Basic, která by se měla použít pro neprodukční scénáře.
  • (Cluster) Vytvořte pro své úlohy další typy sekundárních uzlů, abyste mohli izolovat různé typy úloh. To vám může pomoct oddělit front-endové služby od back-endových služeb, což vám umožní nezávisle spravovat a škálovat tyto služby. Každý typ uzlu je podporován vlastní škálovací sadou.

Doporučení

Doporučení Prospěch
(Cluster) API Management (APIM) může integrovat s Service Fabric přímo. Zvažte jeho použití ke zpřístupnění a odlehčení příčných funkcí pro rozhraní API hostovaná v clusteru. APIM je aplikační brána s bohatými funkcemi, která pomáhá bezpečně publikovat, spravovat a monitorovat rozhraní API nasazená do clusteru Service Fabric.
(Úloha) Pro stavové scénáře úloh zvažte použití Reliable Services. Model Reliable Services umožňuje vašim službám zůstat vzhůru, když dojde k selháním systému nebo problémům se sítí, nebo v případech, kdy samotné služby narazí na selhání. U stavových služeb se váš stav zachová, když dojde k selhání.

Bezpečnost

Účelem pilíře zabezpečení je poskytnout důvěrnosti, integritě a dostupnosti zárukám úlohy.

Principy návrhu zabezpečení poskytují strategii návrhu vysoké úrovně pro dosažení těchto cílů použitím přístupů k technickému návrhu Service Fabric.

Kontrolní seznam návrhu

Založte strategii návrhu na kontrolním seznamu pro revizi návrhu pro zabezpečení.

  • (Cluster a pracovní zatížení) Seznamte se s pokyny pro zabezpečení produktu Service Fabric od Microsoftu. Přečtěte si osvědčených postupů zabezpečení, scénáře zabezpečení clusterua zabezpečení aplikací a služeb Service Fabric .
  • (Cluster) Aplikujte segmentaci sítě a řízení pomocí konfigurace skupin zabezpečení sítě (NSG) k omezení toku provozu mezi podsítěmi a typy uzlů.
  • (Cluster) Bezpečně spravujte tajné kódy aplikací a klientské certifikáty pomocí nativních nástrojů. Tajné kódy aplikací by se měly spravovat pomocí úložiště tajných kódů Service Fabric a certifcates by se měly spravovat pomocí služby Key Vault.
  • (Cluster) Zvažte použití vlastního vyvažovače zátěže, který umožňuje použití interního vyvažovače zátěže a definování různých vyvažovačů zátěže a skupin zabezpečení sítě pro každý typ uzlu.
  • (Cluster) Bezpečné řízení přístupu ke clusteru povolením integrace Microsoft Entra, což uživatelům umožňuje ověřování pomocí svých přihlašovacích údajů Entra. Alternativně můžete použít certifikáty klienta clusteru a správce. Nedistribuujte klientské certifikáty clusteru mezi uživatele Service Fabric Exploreru.
  • (Cluster a úloha) Vytvořte proces pro monitorování data vypršení platnosti klientských certifikátů.
  • (Cluster a úloha) Udržujte samostatné clustery pro vývoj, přípravu a produkci. Produkční prostředí obvykle vyžadují přísnější kontrolní mechanismy zabezpečení než neprodukční prostředí a izolace prostředí od sebe přidají vrstvu zabezpečení, pokud dojde k ohrožení jednoho prostředí.

Doporučení

Doporučení Prospěch
(Cluster) Ujistěte se, že jsou otevřené správné porty, pro nasazení aplikací a úlohy. Tato konfigurace zajišťuje zabezpečení komunikace mezi prostředky Service Fabric a zbytkem úlohy.
(Cluster) Při použití úložiště tajných kódů Service Fabric k distribuci tajných kódů použijte samostatný certifikát šifrování dat k šifrování hodnot. Použití samostatného certifikátu šifrování zajišťuje izolaci mezi certifikáty, snižuje riziko jediného bodu selhání a umožňuje podrobnější řízení přístupu.
(Cluster) Použijte seznam přístupových oprávnění (ACL) na váš klientský certifikát pro cluster Service Fabric. Použití seznamu ACL poskytuje další úroveň ověřování, která umožňuje podrobnější kontrolu nad tím, kdo má přístup k certifikátům.
(Cluster) Pomocí požadavků na prostředky a omezení můžete řídit využití prostředků napříč uzly v clusteru. Vynucování limitů prostředků pomáhá zajistit, aby jedna služba nespotřebovala příliš mnoho prostředků a nestála další služby.
(Úloha) Zahrnout klientské certifikáty do aplikací Service Fabric. Aplikace používají klientské certifikáty k ověřování a poskytují příležitosti k zabezpečení na úrovni clusteru i úloh.
(Úloha) Ověřování aplikací Service Fabric v prostředcích Azure pomocí spravované identity. Použití spravované identity umožňuje bezpečně spravovat přihlašovací údaje v kódu pro ověřování v různých službách, aniž byste je uložili místně na vývojářské pracovní stanici nebo ve správě zdrojového kódu.
(Cluster a úloha) Při hostování nedůvěryhodných aplikací použijte nejsilnější použitelnou technologii sandboxu, odeberte přístup k modulu runtime Service Fabric a postupujte podle dalších osvědčených postupů Service Fabric. Dodržování osvědčených postupů pomáhá zajistit, aby s důležitými komponentami mohly interagovat jenom důvěryhodné a ověřené aplikace a omezit dopad nedůvěryhodných aplikací na ohrožení zabezpečení nebo škodlivý kód, které můžou mít normální provoz clusteru.

Optimalizace nákladů

Optimalizace nákladů se zaměřuje na odhalování vzorců výdajů, upřednostnění investic do klíčových oblastí a optimalizaci jiných oblastí pro splnění rozpočtu organizace a zároveň obchodních požadavků.

Principy návrhu optimalizace nákladů poskytují strategii návrhu vysoké úrovně pro dosažení těchto cílů a dosažení kompromisů v technickém návrhu souvisejícím se Service Fabric a jeho prostředím.

Kontrolní seznam návrhu

Zahajte strategii návrhu na základě kontrolního seznamu pro posouzení návrhu pro optimalizaci nákladů pro investice. Dolaďte návrh tak, aby úloha byla v souladu s rozpočtem přiděleným pro danou úlohu. Váš návrh by měl využívat správné možnosti Azure, monitorovat investice a hledat příležitosti k optimalizaci v průběhu času.

  • (Úlohy a cluster) Odhadněte iniciální náklady pomocí cenové kalkulačky Azure. Platíte pouze za výpočetní instance, úložiště, síťové prostředky a IP adresy, které zvolíte při vytváření clusteru Service Fabric. Za službu nabízenou samotnou službou Service Fabric se neúčtují žádné poplatky. Pokud chcete pomoct začít s modelováním nákladů, podívejte se na příklad procesu výpočtu nákladů pro plánování aplikací.
  • (Cluster) Vyberte vhodné typy virtuálních počítačů. Vyberte virtuální počítače na základě charakteristik úloh. Je zatížení náročné na procesor nebo spouští přerušitelné procesy?
  • (Cluster) Vyberte příslušné skladové položky clusteru. Pro produkční prostředí a pro neprodukční prostředí používejte standard, pokud neexistuje přesvědčivý důvod, proč to udělat jinak. V každém prostředí používejte odpovídající typy a velikosti uzlů.
  • (Cluster a pracovní zátěž) Vyberte odpovídající úrovně a velikosti spravovaných disků. Projděte si průvodce službou WAF pro diskové úložiště. Vyhněte se používání SKU virtuálních počítačů s dočasnými disky, abyste se vyhnuli placení za nepoužité prostředky.

Doporučení

Doporučení Prospěch
(Cluster) Pokud nemáte požadavky na zachování stavu, zvažte volbu SKU virtuálního počítače s podporou dočasného disku . Využijte co nejvíce prostředků, za které platíte. Použití dočasného disku místo spravovaného disku může snížit náklady na bezstavové úlohy.
(Cluster a pracovní zátěž) Upravte výběr typu virtuálního počítače podle požadavků na pracovní zátěž. Ujistěte se, že jste identifikovali správné typy uzlů, které jsou hostované ve škálovacích sadách, aby splňovaly vaše požadavky. Porovnání výběru s požadavky na úlohy vám pomůže vyhnout se placení drahých skladových položek virtuálních počítačů, které možná nepotřebujete.
(Cluster a pracovní zátěž) Zarovnejte výběr typu disku s požadavky na pracovní zátěž. Volba správného typu spravovaného disku vám pomůže vyhnout se placení drahých typů, které možná nepotřebujete.

Efektivita provozu

Operační dokonalost se primárně zaměřuje na vývojové postupy, pozorovatelnost a správu verzí.

Principy návrhu efektivity provozu poskytují strategii návrhu vysoké úrovně pro dosažení těchto cílů pro provozní požadavky úlohy.

Kontrolní seznam návrhu

Zahajte strategii návrhu na základě kontrolního seznamu pro kontrolu návrhu pro provozní efektivitu pro definování procesů pozorovatelnosti, testování a nasazení souvisejících s Service Fabric.

  • (Cluster a úloha) Integrujte komponenty Service Fabric, včetně clusterů, související infrastruktury a samotné aplikace, do platformy pro monitorování a upozorňování. Podrobné pokyny naleznete v článku o osvědčených postupech monitorování.
  • (Cluster a pracovní zátěž) Použijte model stavu Service Fabric k průběžnému monitorování stavu vašeho řešení. Tento nástroj by měl doplnit celkový model stavu úloh
  • (Cluster a úloha) Vytvořte proces pro monitorování data vypršení platnosti klientských certifikátů. Key Vault například nabízí funkci, která odesílá e-mail, když x% životnosti certifikátu uplynula.
  • (Cluster a úloha) Ke správě nasazení clusteru použijte postupy kontinuální integrace a průběžného nasazování. Ke správě kanálů CI/CD můžete použít účelně vytvořený nástroj, jako je Azure Pipelines nebo GitHub Actions. Díky tomu můžete centrálně spravovat všechna nasazení úloh ve všech prostředích se správnými strategiemi správy zdrojového kódu.

Doporučení

Doporučení Prospěch
(Úloha) Pomocí Application Insights můžete monitorovat úlohy. Application Insights poskytuje komplexní monitorování výkonu aplikací (APM) pro živé webové aplikace, které umožňuje shromažďovat a analyzovat telemetrii aplikací, což zlepšuje stav aplikace a monitorování výkonu.
(Cluster a pracovní zátěž) Pomocí služby Azure Monitor můžete sledovat události infrastruktury clusteru a kontejneru. Azure Monitor poskytuje komplexní možnosti monitorování a diagnostiky, které umožňují shromažďovat a analyzovat protokoly a metriky z vašich aplikací a infrastruktury Azure. Azure Monitor se dobře integruje s platformou Azure, včetně Service Fabric.
(Cluster) Implementovat vhodné zásady stavu clusteru jako součást modelování stavu. Zásady umožňují přizpůsobit způsob interpretace selhání z hlediska stavu clusteru. Můžete například nastavit maximální tolerované procento uzlů, které mohou být nefunkční, než se cluster považuje za chybný.
Implementujte vhodné zásady stavu aplikací a služeb typu jako součást modelování stavu. Zásady stavu aplikace popisují, jak se pro aplikace a jejich podřízené aplikace provádí vyhodnocení agregace událostí a podřízených stavů. Service Fabric předpokládá, že entita je nezdravá, pokud má zprávu o stavu nebo podřízenou entitu v upozorňujícím či chybovém stavu.
(Cluster a úloha) V rámci strategie testování použijte Azure Chaos Studio k vložení chybných funkcí do vašeho řešení. Účelně zavádění poruch do vašeho řešení vám pomůže identifikovat potenciální body selhání a procvičit si reakční opatření při incidentech.
(Cluster a úloha) Použijte Azure Pipelines pro vaše řešení kontinuální integrace a nasazování (CI/CD). Použití řešení CI/CD, jako je Azure Pipelines, pomáhá efektivně, konzistentně a bezpečně spravovat nasazení. Azure Pipelines má nativní podporu pro nasazení Service Fabric.

Efektivita výkonu

Výkonnostní efektivita se týká zachování uživatelského zážitku i při zvýšení zatížení správou kapacity. Strategie zahrnuje škálování prostředků, identifikaci a optimalizaci potenciálních kritických bodů a optimalizaci výkonu ve špičce.

Principy návrhu efektivity výkonu poskytují návrhovou strategii na vysoké úrovni pro dosažení těchto kapacitních cílů s ohledem na očekávané využití.

Kontrolní seznam návrhu

Zahajte strategii návrhu na základě kontrolního seznamu pro návrh zaměřeného na výkonovou efektivitu. Definujte směrný plán založený na klíčových ukazatelích výkonu pro Service Fabric.

  • (Cluster) Využijte výhod optimalizace výkonu a vylepšení funkcí podle požadavků úlohy. Doporučení související se základní výpočetní platformou najdete v průvodci službou virtuálních počítačů .
  • (Cluster) Nasaďte velikosti virtuálních počítačů a disků, které splňují vaše požadavky na výkon, aniž by se vám účtovaly zbytečné náklady na nevyužitou kapacitu. Ujistěte se, že budete moct snadno přidat kapacitu, abyste splnili budoucí plány růstu.
  • (Úloha) Seznamte se s programovacími modely podporovanými Service Fabric a zvolte nejlepší model pro vaše požadavky na úlohy. Každý programovací model má jedinečné výhody a nevýhody a vaše konkrétní požadavky na úlohy můžou být v souladu s jedním modelem lépe než ostatní.
  • (Úloha) K návrhu úloh použijte zavedené vzory cloudové architektury. Vzory architektury mikroslužeb, vzory architektury řízené událostmia vzory architektury zpracování na pozadí jsou vhodnými kandidáty pro návrhy aplikací Service Fabric.

Doporučení

Doporučení Prospěch
(Cluster) vyloučit procesy Service Fabric spuštěné na virtuálních počítačích s Windows z programu Windows Defender, pokud vaše zásady zabezpečení umožňují vyloučit procesy a cesty pro opensourcový software. Vyloučení procesů Service Fabric snižuje dopad na výkon a režii související se spotřebou prostředků v programu Windows Defender.
(Cluster) Zvažte použití Autoscaling pro váš cluster, aby bylo možné na vyžádání přidávat nebo snižovat počet uzlů na sekundárním typu uzlu. Automatické škálování snižuje režii správy a potenciální obchodní dopad monitorováním a optimalizací množství uzlů obsluhovaných úloh.
(Cluster) Zvažte použití zrychlené sítě. Akcelerované síťové služby umožňují vysoce výkonnou cestu, která obchází hostitele z cesty k datům, což snižuje latenci, zpoždění a využití procesoru u nejnáročnějších síťových úloh.
(Cluster) Zvažte použití šifrování na hostitelském místo služby Azure Disk Encryption (ADE). Šifrování na úrovni hostitele zlepšuje Azure Disk Encryption tím, že podporuje všechny typy a obrazy operačních systémů, včetně vlastních obrazů, a šifruje data ve službě Azure Storage u vašich virtuálních počítačů.
(Úloha) Implementujte programovací modely Service Fabric nejvhodnější pro vaši úlohu. Volba vhodného programovacího modelu umožňuje využívat integrované funkce, které podporují požadavky na úlohy, jako je správa stavu, souběžnost a opakované použití existujícího základu kódu. Standardy nasazení můžete také udržovat výběrem programovacího modelu, který je v souladu s těmito standardy.
(Cluster a úloha) Implementujte škálování tak, aby splňovalo vaše obchodní požadavky. Najděte správný mechanismus škálování pro vaši úlohu.. Škálování můžete použít k povolení maximálního využití prostředků pro vaše řešení.

Zásady Azure

Azure poskytuje rozsáhlou sadu předdefinovaných zásad souvisejících se Service Fabric a jejími závislostmi. Některé z předchozích doporučení je možné auditovat prostřednictvím služby Azure Policy. Můžete například zkontrolovat, jestli:

  • Clustery Service Fabric jsou nakonfigurované tak, aby byly zónově redundantní.
  • Clustery Service Fabric mají vlastnost ClusterProtectionLevel nastavenou na EncryptAndSign.
  • Clustery Service Fabric jsou nakonfigurované tak, aby pro ověřování klientů používaly pouze Azure Active Directory.

Komplexní zásady správného řízení najdete v předdefinovaných definic azure Policy pro Service Fabric a další zásady, které by mohly ovlivnit zabezpečení [oblasti infrastruktury cloudu].

Doporučení azure Advisoru

Azure Advisor je individuální cloudový konzultant, který vám pomůže postupovat podle osvědčených postupů pro optimalizaci nasazení Azure. Tady je několik doporučení, která vám můžou pomoct zlepšit spolehlivost, zabezpečení, nákladovou efektivitu, výkon a efektivitu provozu Service Fabric.

Seznam všech možností, které máte při vytváření a údržbě clusteru, najdete v článku možnosti konfigurace spravovaného clusteru Azure Service Fabric.

Projděte si základy architektury aplikací Azure s pokyny, jak vyvíjet úlohy. Service Fabric je sice možné používat výhradně jako platformu pro hostování kontejnerů, ale díky dobře navrženým úlohám využívá plnou funkčnost Service Fabric.

Při vytváření spravovaného clusteru Service Fabric pomocí šablony ARM nebo webu Azure Portal použijte tato doporučení: