Přehled architektury Azure Well-Architected – 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é k síti, které se označují jako cluster.

V Azure Service Fabric existují dva modely clusterů: standardní clustery a spravované clustery.

Standardní clustery vyžadují, abyste spolu s několika podpůrnými prostředky definovali prostředek clusteru. Tyto prostředky se musí správně nastavit při nasazení a správně udržovat po celou dobu životního cyklu clusteru. Jinak cluster a služby nebudou fungovat správně.

Spravované clustery zjednodušují operace nasazení a správy. Model spravovaného clusteru se skládá z jednoho prostředku spravovaného clusteru Service Fabric, který zapouzdřuje a abstrahuje základní prostředky.

Tento článek se pro zjednodušení zabývá především modelem spravovaného clusteru . Volání jsou však provedena pro všechny zvláštní aspekty, které platí pro standardní model clusteru .

V tomto článku se seznámíte s osvědčenými postupy architektury pro Azure Service Fabric. Pokyny vycházejí z pěti pilířů špičkové architektury:

  • Spolehlivost
  • Zabezpečení
  • Optimalizace nákladů
  • Efektivita provozu
  • Efektivita výkonu

Požadavky

Spolehlivost

Následující části popisují aspekty návrhu a doporučení ke konfiguraci specifické pro Azure Service Fabric a spolehlivost.

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

V kontrolním seznamu návrhu a v seznamu doporučení níže se zobrazují bublinové popisky, které označují, jestli je každá volba použitelná pro architekturu clusteru, architekturu úloh nebo obojí.

Další informace o spolehlivosti clusteru Azure Service Fabric najdete v dokumentaci k plánování kapacity.

Další informace o spolehlivosti úloh Azure Service Fabric najdete v subsystému Spolehlivost , který je součástí architektury Service Fabric.

Kontrolní seznam návrhu

Při rozhodování o návrhu pro Azure Service Fabric si projděte principy návrhu pro přidání spolehlivosti architektury.

  • Architektura clusteru: V produkčních scénářích použijte skladovou položku Standard . Standardní cluster: Pro produkční scénáře použijte úroveň odolnosti Silver (5 virtuálních počítačů) nebo vyšší.
  • Architektura clusteru: U kritických úloh zvažte použití Zóny dostupnosti pro clustery Service Fabric.
  • Architektura clusteru: V produkčních scénářích použijte nástroj pro vyrovnávání zatížení úrovně Standard. Spravované clustery vytvářejí veřejný Standard Load Balancer Azure a plně kvalifikovaný název domény se statickou veřejnou IP adresou pro primární i sekundární typ uzlu. Můžete také použít vlastní nástroj pro vyrovnávání zatížení, který podporuje nástroje pro vyrovnávání zatížení se skladovou položkou Basic i Standard.
  • Architektura clusteru: Vytvořte další sekundární typy uzlů pro vaše úlohy.

Doporučení

Projděte si následující tabulku doporučení pro optimalizaci konfigurace Azure Service Fabric pro zajištění spolehlivosti služeb:

Doporučení Azure Service Fabric Výhoda
Architektura clusteru: V produkčních scénářích použijte skladovou položku Standard. Tato úroveň zajišťuje, že poskytovatel prostředků udržuje spolehlivost clusteru. Standardní cluster: Spravovaný cluster se skladovou položkou Standard poskytuje ekvivalent úrovně stálosti na úrovni Silver. Pokud toho chcete dosáhnout pomocí standardního modelu clusteru, budete muset použít 5 virtuálních počítačů (nebo více).
Architektura clusteru: Zvažte použití Zóny dostupnosti pro clustery Service Fabric. Spravovaný cluster Service Fabric podporuje nasazení napříč několika Zóny dostupnosti a zajišťuje tak odolnost zón. Tato konfigurace zajistí vysokou dostupnost důležitých systémových služeb a aplikací pro ochranu před kritickými body způsobujícími selhání.
Architektura clusteru: Zvažte použití Azure API Management ke zveřejnění a přesměrování průřezových funkcí pro rozhraní API hostovaná v clusteru. API Management je možné integrovat přímo se Service Fabric.
Architektura úloh: V případě stavových scénářů úloh zvažte použití Reliable Services. Model Reliable Services umožňuje vašim službám zůstat v provozu i v nespolehlivém prostředí, kde vaše počítače selžou nebo narazí na problémy se sítí, nebo v případech, kdy u samotných služeb dochází k chybám a selhání nebo selhání. U stavových služeb se váš stav zachová i v případě selhání sítě nebo jiného selhání.

Další návrhy najdete v tématu Principy pilíře spolehlivosti.

Zabezpečení

Následující části popisují aspekty návrhu a doporučení ke konfiguraci, které jsou specifické pro Azure Service Fabric a zabezpečení.

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

V kontrolním seznamu návrhu a v seznamu doporučení níže se zobrazují bublinové popisky, které označují, jestli je každá volba použitelná pro architekturu clusteru, architekturu úloh nebo obojí.

Další informace o zabezpečení clusteru Azure Service Fabric najdete v tématu Scénáře zabezpečení clusteru Service Fabric.

Další informace o zabezpečení úloh Azure Service Fabric najdete v tématu Zabezpečení aplikací a služeb Service Fabric.

Kontrolní seznam návrhu

Při rozhodování o návrhu pro Azure Service Fabric si projděte principy návrhu pro přidání zabezpečení do architektury.

  • Architektura clusteru: Ujistěte se, že jsou skupiny zabezpečení sítě (NSG) nakonfigurované tak, aby omezovaly tok provozu mezi podsítěmi a typy uzlů. Ujistěte se, že jsou otevřené správné porty pro nasazení aplikací a úlohy.
  • Architektura clusteru: Pokud k distribuci tajných kódů používáte úložiště tajných kódů Service Fabric, použijte k šifrování hodnot samostatný certifikát šifrování dat.
  • Architektura clusteru:Nasaďte klientské certifikáty jejich přidáním do Azure Key Vault a odkazováním na identifikátor URI ve vašem nasazení.
  • Architektura clusteru: Povolte Microsoft Entra integraci clusteru, abyste zajistili, že uživatelé budou mít přístup k Service Fabric Explorer pomocí svých přihlašovacích údajů Microsoft Entra. Nedistribuujte klientské certifikáty clusteru mezi uživatele pro přístup k Průzkumníkovi.
  • Architektura clusteru: Pro ověřování klientů použijte certifikáty klientů jen pro čtení a/nebo Microsoft Entra ověřování.
  • Architektury clusteru a úloh: Vytvořte proces pro monitorování data vypršení platnosti klientských certifikátů.
  • Architektury clusteru a úloh: Udržujte samostatné clustery pro vývoj, přípravu a produkci.

Doporučení

Při optimalizaci konfigurace Azure Service Fabric z hlediska zabezpečení zvažte následující doporučení:

Doporučení Azure Service Fabric Výhoda
Architektura clusteru: Ujistěte se, že jsou skupiny zabezpečení sítě (NSG) nakonfigurované tak, aby omezovaly tok provozu mezi podsítěmi a typy uzlů. Můžete mít například instanci API Management (jednu podsíť), podsíť front-endu (zpřístupnění webu přímo) a podsíť back-endu (přístupná pouze pro front-end).
Architektura clusteru: Nasaďte certifikáty Key Vault do škálovacích sad virtuálních počítačů clusteru Service Fabric. Centralizace ukládání tajných klíčů aplikací ve službě Azure Key Vault umožňuje řídit jejich distribuci. Key Vault výrazně snižuje riziko nechtěného úniku tajných klíčů.
Architektura clusteru: Použijte seznam Access Control (ACL) na klientský certifikát pro cluster Service Fabric. Použití seznamu ACL poskytuje další úroveň ověřování.
Architektura clusteru: 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řebovává příliš mnoho prostředků a nezdržovalo ostatní služby.
Architektura úloh: Zašifrujte hodnoty tajných kódů balíčku Service Fabric. Šifrování hodnot tajných kódů poskytuje další úroveň zabezpečení.
Architektura úloh: Zahrnout klientské certifikáty do aplikací Service Fabric. To, že vaše aplikace používají klientské certifikáty k ověřování, poskytuje příležitosti pro zabezpečení na úrovni clusteru i úloh.
Architektura úloh: Ověřování aplikací Service Fabric v prostředcích Azure pomocí spravované identity Pomocí spravované identity můžete bezpečně spravovat přihlašovací údaje v kódu pro ověřování v různých službách, aniž byste je museli ukládat místně na pracovní stanici vývojáře nebo ve správě zdrojového kódu.
Architektury clusteru a úloh: Při hostování nedůvěryhodných aplikací dodržujte osvědčené postupy Service Fabric . Dodržování osvědčených postupů poskytuje standard zabezpečení, který je třeba dodržovat.

Další návrhy najdete v tématu Principy pilíře zabezpečení.

Azure Advisor pomáhá zajistit a vylepšit zabezpečení Azure Service Fabric. Doporučení si můžete projít v části Azure Advisor tohoto článku.

Definice zásad

Azure Policy pomáhá udržovat standardy organizace a vyhodnocovat dodržování předpisů napříč vašimi prostředky. Při konfiguraci Azure Service Fabric mějte na paměti následující předdefinované zásady:

  • Clustery Service Fabric by měly mít vlastnost ClusterProtectionLevel nastavenou na EncryptAndSignhodnotu . Toto je výchozí hodnota pro spravované clustery a nedá se změnit. Standardní cluster: Ujistěte se, že jste nastavili ClusterProtectionLevel na EncryptAndSign.
  • Clustery Service Fabric by měly k ověřování klientů používat jenom ID Microsoft Entra.

Všechny předdefinované definice zásad související s Azure Service Fabric jsou uvedené v části Předdefinované zásady – Service Fabric.

Optimalizace nákladů

Následující části se zabývají aspekty návrhu a doporučeními ke konfiguraci, které jsou specifické pro Azure Service Fabric a optimalizaci nákladů.

Při diskuzi o optimalizaci nákladů ve službě Azure Service Fabric je důležité rozlišovat mezi náklady na prostředky clusteru a náklady na prostředky úloh. Prostředky clusteru jsou sdílenou odpovědností mezi správcem clusteru Service Fabric a jeho poskytovatelem prostředků, zatímco prostředky úloh jsou doménou vývojáře. Azure Service Fabric má důležité informace a doporučení pro obě tyto role.

V níže uvedeném kontrolním seznamu návrhu a seznamu doporučení se zobrazují popisky, které označují, jestli se jednotlivé možnosti vztahují na architekturu clusteru, architekturu úloh nebo obojí.

Pokud chcete optimalizovat náklady na cluster, přejděte na cenovou kalkulačku Azure a z dostupných produktů vyberte Azure Service Fabric . V kalkulačce můžete otestovat různé konfigurace a platební plány.

Další informace o cenách úloh Azure Service Fabric najdete v příkladu procesu výpočtu nákladů pro plánování aplikací.

Kontrolní seznam návrhu

Při rozhodování o návrhu pro Azure Service Fabric si projděte principy návrhu pro optimalizaci nákladů na architekturu.

  • Architektura clusteru: Vyberte příslušnou skladovou položku virtuálního počítače.
  • Architektura clusteru: Použijte odpovídající typ a velikost uzlu.
  • Architektury clusteru a úloh: Použijte odpovídající úroveň a velikost spravovaného disku.

Doporučení

Projděte si následující tabulku doporučení pro optimalizaci konfigurace Azure Service Fabric z hlediska nákladů:

Doporučení Ke službě Azure Service Fabric Výhoda
Architektura clusteru: Vyhněte se skladovým úrovním virtuálních počítačů s nabídkami dočasných disků. Service Fabric ve výchozím nastavení používá spravované disky, takže když se vyhnete nabídkám dočasných disků, nebudete platit za nepotřebné prostředky.
Architektura clusteru: Pokud potřebujete z důvodů kapacity vybrat určitou skladovou položku virtuálního počítače a nabízí dočasný disk, zvažte použití dočasné podpory disků pro bezstavové úlohy. Maximálně využíte prostředky, za které platíte. Použití dočasného disku místo spravovaného disku může snížit náklady na bezstavové úlohy.
Architektury clusteru a úloh: Zarovnejte výběr skladové položky a velikost spravovaného disku s požadavky na úlohy. Přizpůsobení výběru vašim požadavkům na úlohy zajistí, že nebudete platit za nepotřebné prostředky.

Další návrhy najdete v tématu Principy pilíře optimalizace nákladů.

Efektivita provozu

Následující části se zabývají aspekty návrhu a doporučeními ke konfiguraci, které jsou specifické pro Azure Service Fabric a efektivitu provozu.

Při diskuzi o zabezpečení se službou Azure Service Fabric je důležité rozlišovat mezi provozem clusteru a provozem úloh. Operace clusteru je sdílená odpovědnost mezi správcem clusteru Service Fabric a jeho poskytovatelem prostředků, zatímco operace úloh je doménou vývojáře. Azure Service Fabric má důležité informace a doporučení pro obě tyto role.

V níže uvedeném kontrolním seznamu návrhu a seznamu doporučení se zobrazují popisky, které označují, jestli se jednotlivé možnosti vztahují na architekturu clusteru, architekturu úloh nebo obojí.

Kontrolní seznam návrhu

Při rozhodování o návrhu pro Azure Service Fabric si projděte principy návrhu pro zajištění efektivity provozu.

Doporučení

Projděte si následující tabulku doporučení pro optimalizaci konfigurace Azure Service Fabric pro zajištění efektivity provozu:

Doporučení Ke službě Azure Service Fabric Výhoda
Architektura úloh: K monitorování úloh použijte Application Insights. Application Insights se integruje s platformou Azure, včetně Service Fabric.
Architektury clusteru a úloh: Vytvořte proces pro monitorování data vypršení platnosti klientských certifikátů. Například Key Vault nabízí funkci, která po uplynutí životnosti certifikátu odešle e-mailx%.
Architektury clusteru a úloh: V případě předprodukčních clusterů použijte Azure Chaos Studio k podrobnostem o přerušení služby při selhání instance škálovací sady virtuálních počítačů. Procvičování scénářů přerušení služeb vám pomůže pochopit, co je ve vaší infrastruktuře rizikové a jak co nejlépe zmírnit problémy, pokud k nim dojde.
Architektury clusteru a úloh: Pomocí Služby Azure Monitor můžete monitorovat události infrastruktury clusteru a kontejneru. Azure Monitor se dobře integruje s platformou Azure, včetně Service Fabric.
Architektury clusteru a úloh: Azure Pipelines můžete použít pro řešení kontinuální integrace a nasazování. Azure Pipelines se dobře integruje s platformou Azure, včetně Service Fabric.

Další návrhy najdete v tématu Principy pilíře provozní excelence.

Efektivita výkonu

Následující část popisuje doporučení ke konfiguraci specifická pro Azure Service Fabric a efektivitu výkonu.

Při diskuzi o zabezpečení se službou Azure Service Fabric je důležité rozlišovat mezi provozem clusteru a provozem úloh. Výkon clusteru je sdílená odpovědnost mezi správcem clusteru Service Fabric a jeho poskytovatelem prostředků, zatímco výkon úloh je doménou vývojáře. Azure Service Fabric má důležité informace a doporučení pro obě tyto role.

V níže uvedeném kontrolním seznamu návrhu a seznamu doporučení se zobrazují popisky, které označují, jestli se jednotlivé možnosti vztahují na architekturu clusteru, architekturu úloh nebo obojí.

Další informace o tom, jak Může Azure Service Fabric snížit problémy s výkonem úloh pomocí čítačů výkonu Service Fabric, najdete v tématu Osvědčené postupy monitorování a diagnostiky pro Azure Service Fabric.

Kontrolní seznam návrhu

Doporučení

Zvažte následující doporučení pro optimalizaci konfigurace Azure Service Fabric pro zajištění efektivity výkonu:

Doporučení Ke službě Azure Service Fabric Výhoda
Architektura clusteru: Chcete-li zvýšit výkon, vylučte procesy Service Fabric z Windows Defender. Ve výchozím nastavení je v Windows Server 2016 a 2019 nainstalovaný antivirový program Windows Defender. Pokud chcete snížit jakýkoli dopad na výkon a režijní náklady na spotřebu prostředků, které Windows Defender, a pokud zásady zabezpečení umožňují vyloučit procesy a cesty pro opensourcový software, můžete je vyloučit.
Architektura clusteru: Zvažte použití automatického škálování clusteru. Automatické škálování poskytuje velkou elasticitu a umožňuje přidání nebo snížení počtu uzlů na vyžádání na sekundárním typu uzlu. Toto automatizované a elastické chování snižuje režii na správu a potenciální obchodní dopad díky monitorování a optimalizaci počtu uzlů, které obsluhují vaše úlohy.
Architektura clusteru: Zvažte použití akcelerovaných síťových služeb. Akcelerované síťové služby umožňují vysoce výkonnou cestu, která obchází hostitele z cesty k datům, což snižuje latenci, kolísání a využití procesoru u nejnáročnějších síťových úloh.
Architektura clusteru: Zvažte použití šifrování na hostiteli místo služby Azure Disk Encryption (ADE). Tato metoda šifrování zlepšuje ADE tím, že podporuje všechny typy a image operačního systému, včetně vlastních imagí, pro virtuální počítače šifrováním dat ve službě Azure Storage.
Architektura úloh: Projděte si programovací modely Service Fabric a rozhodněte se, který model by nejlépe vyhovoval vašim službám. Service Fabric podporuje několik programovacích modelů. Každý z nich má své vlastní výhody a nevýhody. Znalost dostupných programovacích modelů vám může pomoct s tím nejlepším výběrem pro návrh vašich služeb.
Architektura úloh: Pokud je to vhodné, využijte pro úlohy volně propojené mikroslužby . Používání mikroslužeb umožňuje využívat funkce Service Fabric na maximum.
Architektura úloh: Tam, kde je to vhodné, využijte pro úlohy architekturu řízenou událostmi . Použití architektury řízené událostmi umožňuje využívat funkce Service Fabric na maximum.
Architektura úloh: Tam, kde je to vhodné, využijte pro úlohy zpracování na pozadí . Zpracování na pozadí vám umožní využívat funkce Service Fabric na maximum.
Architektury clusteru a úloh: Projděte si různé způsoby škálování řešení v Service Fabric. Škálováním můžete povolit maximální využití prostředků pro vaše řešení.

Další návrhy najdete v tématu Principy pilíře efektivity výkonu.

Doporučení Azure Advisoru

Azure Advisor je individuální cloudový konzultant, který vám pomůže dodržovat osvědčené postupy při 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 při používání Azure Service Fabric.

Zabezpečení

  • Clustery Service Fabric by měly mít vlastnost ClusterProtectionLevel nastavenou na EncryptAndSignhodnotu . Toto je výchozí hodnota pro spravované clustery a nedá se změnit. Standardní cluster: Ujistěte se, že jste nastavili ClusterProtectionLevel na EncryptAndSign.
  • Clustery Service Fabric by měly k ověřování klientů používat jenom ID Microsoft Entra.

Další materiály

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 .

Pokyny k vývoji úloh najdete v tématu Základy architektury aplikací Azure . Service Fabric je sice možné použít výhradně jako platformu pro hostování kontejnerů, ale použití dobře navržených úloh využívá plnou funkčnost Service Fabricu.

Další kroky

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