Upravit

Sdílet prostřednictvím


Přístupy architektury pro správu nákladů a přidělování ve víceklientských řešeních

Azure
Azure Cost Management
Azure Resource Manager
Azure Monitor

Víceklientová řešení často vyžadují zvláštní pozornost při měření a přidělování nákladů a při optimalizaci nákladů. Na této stránce popisujeme některé klíčové pokyny pro architekty řešení, které by měli zvážit o měření, přidělování a optimalizaci nákladů u víceklientských aplikací.

Klíčové aspekty a požadavky

Vezměte v úvahu požadavky, které máte pro měření spotřeby vašeho řešení. Toto je podrobněji popsáno o měření spotřeby jednotlivých tenantů.

Účel měření

Je důležité se rozhodnout, co je vaším cílem. Tady jsou příklady cílů:

  • Vypočítejte přibližné náklady na zboží prodané pro každého tenanta. Pokud například nasadíte velký počet sdílených prostředků, může vás zajímat pouze přibližná aproximace nákladů vzniklých pro každého tenanta.
  • Vypočítejte přesné náklady vzniklé jednotlivými tenanty. Pokud například tenantům účtujete přesnou spotřebu, která se jim účtuje, musíte mít přesné informace o tom, kolik stojí prostředky jednotlivých tenantů.
  • Identifikujte odlehlé tenanty, kteří stojí výrazně více než ostatní. Pokud například zadáte cenový model s plochou sazbou, budete možná muset zjistit, jestli některé tenanty spotřebovávají nepřiměřenou částku zřízené kapacity, abyste mohli použít zásady spravedlivého použití. V mnoha situacích tento případ použití nevyžaduje přesné měření nákladů.
  • Snižte celkové náklady na Azure pro vaše řešení. Můžete se například podívat na náklady na každou komponentu a pak určit, jestli jste pro úlohu zřídili nadlimitně.

Když pochopíte cíl měření spotřeby tenantem, můžete určit, jestli musí být přidělení nákladů přibližné nebo velmi přesné, což má vliv na konkrétní nástroje, které můžete použít, a postupy, které můžete použít.

Sdílené komponenty

Možná budete moct snížit náklady na víceklientských řešení přesunutím tenantů do sdílené infrastruktury. Je však potřeba pečlivě zvážit dopad sdílení prostředků, například jestli se tenanti začnou setkávat s problémem Hlučný soused.

Musíte také zvážit, jak měřit a přidělovat náklady na sdílené komponenty. Můžete například rovnoměrně rozdělit náklady mezi všechny tenanty, kteří používají sdílenou komponentu. Nebo můžete měřit využití jednotlivých tenantů, abyste získali přesnější měření spotřeby sdílených komponent.

Přístupy a vzory, které je potřeba zvážit

Přidělení nákladů pomocí značek prostředků

Azure umožňuje použít značky pro vaše prostředky. Značka je pár klíč-hodnota. Značky slouží k přidání vlastních metadat. Značky jsou užitečné pro mnoho operací správy a jsou také užitečné pro analýzu nákladů na spotřebu Azure. Po použití značek můžete určit náklady spojené s každou značkou.

Způsob použití značek ve víceklientských řešeních se bude pravděpodobně lišit v závislosti na vaší architektuře.

V některýchřešeních V těchto situacích je zřejmé, že by se všem prostředkům Azure měly přidělit příslušnému tenantovi, a proto můžete prostředky Azure označit pomocí ID tenanta.

V jiných situacích můžete mít sady sdílených prostředků. Když například použijete model horizontálního dělení, můžete nasadit více databází a rozprostřet tenanty mezi ně. Zvažte označování prostředků identifikátorem skupiny tenantů. Možná nebudete moct snadno přidělit náklady jednomu tenantovi, ale při použití tohoto přístupu můžete náklady alespoň zúžit na sadu tenantů. Pokud si všimnete, že konkrétní horizontální oddíly nabíhají vyšší náklady než ostatní, můžete použít také informace o spotřebě, které vám pomůžou obnovit rovnováhu tenantů napříč horizontálními oddíly.

Poznámka:

Počet značek, které se dají použít u prostředku, je omezený. Při práci se sdílenými prostředky není nejlepší přidat značku pro každého tenanta, který prostředek sdílí. Místo toho zvažte přidání značky s ID horizontálního oddílu nebo jiný způsob identifikace skupiny tenantů.

Představte si příklad víceklientského řešení vytvořeného pomocí vzoru Razítka nasazení a svisle děleného modelu tenantů. Každé razítko nasazení zahrnuje sdílený webový server a horizontálně dělené databáze. Značky je možné použít pro každou komponentu Azure, jak je znázorněno v následujícím diagramu.

Diagram znázorňující dvě razítka se značkami přidanými do každé komponenty

Zde použitá strategie označování je následující:

  • Každý prostředek má stamp-id značku.
  • Každá horizontálně dělené databáze má shard-id značku.
  • Každý prostředek vyhrazený pro konkrétního tenanta má tenant-id značku.

Díky této strategii označování je snadné filtrovat informace o nákladech na jeden kolek. Je také snadné najít náklady na prostředky specifické pro tenanta, jako jsou celkové náklady na databázi pro tenanta C. Sdílené komponenty nemají tenant-id značku, ale náklady na sdílené komponenty pro kolek je možné rozdělit mezi tenanty, kteří jsou přiřazeni k používání tohoto razítka nebo horizontálního oddílu.

Instrumentace aplikace

V situacích, kdy nemáte přímý vztah mezi prostředkem Azure a tenantem, zvažte instrumentaci aplikace ke shromažďování telemetrie.

Vaše aplikační vrstva už může shromažďovat protokoly a metriky, které jsou užitečné k zodpovězení otázek týkajících se měření, například:

  • Přibližně kolik požadavků rozhraní API se provádí na tenanta?
  • Jaká denní doba je pro konkrétní tenanty nejrušnější?
  • Jak se vzory využití tenanta A porovnávají se vzory využití tenanta B?

V Azure se tyto metriky často zaznamenávají službou Application Insights. Pomocí inicializátorů telemetrie můžete rozšířit telemetrii zachycenou službou Application Insights tak, aby zahrnovala identifikátor tenanta nebo jiná vlastní data.

Application Insights a další řešení protokolování a monitorování ale nejsou vhodná pro přesné měření nákladů ani pro účely měření. Application Insights je navržená tak, aby vzorkovala data, zejména pokud má vaše aplikace velký objem požadavků. Vzorkování je navržené tak, aby se snížily náklady na monitorování vašeho řešení, protože zachytávání každé části telemetrie může být často nákladné.

Pokud potřebujete sledovat přesné podrobnosti o spotřebě nebo využití pro účely fakturace, měli byste místo toho vytvořit vlastní kanál pro protokolování potřebných dat. Pak byste měli data agregovat na základě vašich požadavků. Mezi služby Azure, které můžou být pro tento účel užitečné, patří Event Hubs, zachytávání velkých objemů telemetrie a Stream Analytics pro jejich zpracování v reálném čase.

Snížení nákladů s využitím rezervací Azure a plánu úspor Azure

Rezervace Azure: Rezervace Azure umožňují snížit náklady na Azure tím, že předem potvrdíte určitou úroveň výdajů. Rezervace se vztahují na řadu typů prostředků Azure.

Rezervace je možné efektivně využít v řešení s více tenanty. Všimněte si následujících aspektů:

  • Když nasadíte víceklientové řešení, které zahrnuje sdílené prostředky, zvažte základní úroveň spotřeby, kterou potřebujete pro danou úlohu. Můžete zvážit rezervaci pro tuto spotřebu podle směrného plánu a pak byste při nepředvídatelných špičkách zaplatili standardní sazby za vyšší spotřebu.
  • Při nasazování prostředků pro každého tenanta zvažte, jestli se můžete předem potvrdit ke spotřebě prostředků pro konkrétního tenanta nebo napříč portfoliem tenantů.

Rezervace Azure umožňují nastavit rozsah rezervací , které se vztahují na skupinu prostředků, předplatné nebo sadu předplatných. To znamená, že rezervace můžete využít i v případě, že úlohy horizontálně dělíte mezi více předplatných.

Rozsahy rezervací můžou být užitečné i v případě, že máte tenanty s nepředvídatelnými úlohami. Představte si například řešení, ve kterém tenant A potřebuje jenom jednu instanci konkrétního prostředku, ale tenanti B a C potřebují dvě. Potom bude tenant B méně zaneprázdněný, takže snížíte počet instancí a tenant A bude rušnější, takže zvýšíte počet instancí. Vaše rezervace se použijí na tenanty, kteří je potřebují.

Plán úspory Azure pro výpočetní prostředky: Plán úspory v Azure je flexibilní plán úspory nákladů, který generuje výrazné úspory oproti průběžným platbám. Souhlasíte s ročním nebo tříletým kontraktem a dostanete slevy na způsobilé výpočetní služby. Mezi tyto služby patří virtuální počítače, vyhrazené hostitele, instance kontejnerů, funkce Azure Premium a aplikační služby Azure. Úspory se vztahují na tyto výpočetní služby bez ohledu na oblast, velikost instance nebo operační systém. Další informace najdete v přehledu plánu Úspory v Azure a dokumentaci k plánu Úspory v Azure.

Kombinování rezervací a plánů úspor: Pokud chcete dále optimalizovat náklady a flexibilitu, můžete kombinovat plán úspor Azure s rezervacemi Azure.

Antipatterny, aby se zabránilo

  • Nesladuje vůbec náklady. Je důležité mít alespoň přibližnou představu o nákladech, které se vám účtují a jak každý tenant ovlivňuje náklady na poskytování vašeho řešení. Jinak pokud se náklady v průběhu času mění, nemáte k porovnání žádný směrný plán. Také možná nebudete moct předpovědět, jak bude růst tenantů mít vliv na vaše náklady a ziskovost.
  • Vytváření předpokladů nebo hádání. Zajistěte, aby vaše měření nákladů bylo založeno na skutečných informacích. Možná nebudete potřebovat vysoký stupeň přesnosti, ale i odhady by měly být informovány skutečnými měřeními.
  • Nepotřebná přesnost. Možná nebudete muset mít podrobné účtování všech nákladů, které vzniknou pro každého tenanta. Vytváření zbytečně přesných procesů měření nákladů a optimalizace může být kontraproduktivní, protože zvyšuje složitost techniky a vytváří křehké procesy.
  • Měření v reálném čase. Většinařešeních Vzhledem k tomu, že data měření a spotřeby můžou být složitá ke zpracování, měli byste data protokolovat a pak asynchronně agregovat a zpracovávat později.
  • Použití monitorovacích nástrojů pro fakturaci Jak je popsáno v nástroji vaší aplikace, ujistěte se, že používáte nástroje navržené pro monitorování nákladů a měření. Řešení pro monitorování aplikací obvykle nejsou vhodnými kandidáty pro tento typ dat, zejména pokud potřebujete vysokou přesnost.

Přispěvatelé

Tento článek spravuje Microsoft. Původně byla napsána následujícími přispěvateli.

Hlavní autor:

Další přispěvatelé:

Pokud chcete zobrazit neveřejné profily LinkedIn, přihlaste se na LinkedIn.

Další kroky