Přehled automatického škálování pomocí škálovacích sad virtuálních počítačů Azure

Škálovací sada virtuálních počítačů Azure může zvýšit nebo snížit počet instancí virtuálních počítačů, na kterých běží vaše aplikace. Počet instancí je možné aktualizovat několika způsoby:

  • Ruční zvýšení nebo snížení kapacity škálovací sady
  • Na základě nastaveného plánu
  • Podle pravidel založených na prahových hodnotách metrik
  • Automaticky na základě vzorů využití zjištěných prediktivní umělou inteligencí

Toto automatizované a elastické chování snižuje režijní náklady na správu pro monitorování a optimalizaci výkonu vaší aplikace. Tento článek obsahuje přehled, které metriky výkonu jsou k dispozici a jaké akce může automatické škálování provádět.

Poznámka:

Použití automatického škálování vyžaduje, aby se škálovací sada definovala pomocí profilu škálování virtuálního počítače, který definuje konfiguraci instancí, které se mají přidat. Přečtěte si další informace o profilu škálování virtuálních počítačů.

Ruční škálování

Aktualizaci vlastnosti můžete ručně zvýšit nebo snížit počet instancí ve škálovací sadě sku.capacity virtuálních počítačů.

portál Azure

  1. Přejděte do existující škálovací sady virtuálních počítačů.
  2. V části Nastavení vyberte kartu Měřítko .
  3. Zvolte ruční škálování, pokud ještě není vybraná.
  4. Aktualizujte počet instancí.
  5. Stiskněte tlačítko Uložit.

Azure CLI

az vmss scale \
	--new-capacity 5 \
	--name <scale set name> \
	--resource-group <resource group name>

Azure PowerShell

Update-AzVmss `
	-SkuCapacity 5 `
	-ResourceGroupName <resource group name> ` 
	-VMScaleSetName <scale set name>  `

Výhody automatického škálování

Pokud se požadavky na vaši aplikaci zvýší, zvýší se i zatížení instancí virtuálních počítačů ve škálovací sadě. Pokud je toto zvýšené zatížení konzistentní, a ne jen krátká poptávka, můžete nakonfigurovat pravidla automatického škálování, která zvýší a sníží počet instancí virtuálních počítačů ve škálovací sadě.

Poznámka:

Při použití automatických oprav instancí pro škálovací sadu může být maximální počet instancí ve škálovací sadě 1000. Přečtěte si další informace o automatických opravách instancí.

Po vytvoření těchto instancí virtuálních počítačů a nasazení aplikací do nich začne škálovací sada distribuovat provoz prostřednictvím nástroje pro vyrovnávání zatížení. Určujete, jaké metriky se mají monitorovat, například procesor nebo paměť, jak dlouho musí zatížení aplikace splňovat danou prahovou hodnotu a kolik instancí virtuálních počítačů se má přidat do škálovací sady.

Večer nebo o víkendu se požadavky na vaši aplikaci můžou snížit. Pokud je toto snížené zatížení po určitou dobu konzistentní, můžete nakonfigurovat pravidla automatického škálování pro snížení počtu instancí virtuálních počítačů ve škálovací sadě. Tato akce horizontálního snížení kapacity sníží náklady na provoz škálovací sady, protože budete spouštět pouze takový počet instancí, který je potřeba ke zpracování aktuálních požadavků.

Použití metrik založených na hostiteli

Můžete vytvořit pravidla automatického škálování, která jsou k dispozici z instancí virtuálních počítačů. Metriky hostitele poskytují přehled o výkonu instancí virtuálních počítačů ve škálovací sadě, aniž byste museli instalovat nebo konfigurovat další agenty a kolekce dat. Pravidla automatického škálování, která používají tyto metriky, se můžou škálovat na více instancí nebo v počtu instancí virtuálních počítačů v reakci na využití procesoru, poptávku po paměti nebo přístup k disku.

Pravidla automatického škálování využívající metriky hostitele je možné vytvořit pomocí některého z následujících nástrojů:

Pokud chcete vytvořit pravidla automatického škálování, která používají podrobnější metriky výkonu, můžete nainstalovat a nakonfigurovat rozšíření diagnostiky Azure na instance virtuálních počítačů nebo nakonfigurovat aplikaci pomocí App Insights.

Pravidla automatického škálování, která používají metriky na základě hostitele, metriky virtuálního počítače v hostu s rozšířením diagnostiky Azure a App Insights můžou používat následující nastavení konfigurace.

Zdroje metrik

Pravidla automatického škálování můžou používat metriky z jednoho z následujících zdrojů:

Zdroj metriky Případ použití
Aktuální škálovací sada U metrik založených na hostitelích, které nevyžadují instalaci nebo konfiguraci dalších agentů.
Účet úložiště Diagnostické rozšíření Azure zapisuje metriky výkonu do úložiště Azure, které se pak spotřebovávají k aktivaci pravidel automatického škálování.
Fronta služby Service Bus Vaše aplikace nebo jiné komponenty můžou odesílat zprávy do fronty služby Azure Service Bus, aby se aktivovala pravidla.
Application Insights Balíček instrumentace nainstalovaný ve vaší aplikaci, který streamuje metriky přímo z aplikace.

Kritéria pravidla automatického škálování

Při vytváření pravidel automatického škálování jsou k dispozici následující metriky založené na hostiteli. Pokud používáte diagnostické rozšíření Azure nebo App Insights, definujete, které metriky se mají monitorovat a používat s pravidly automatického škálování.

Název metriky
Procento CPU
Síťové vstupy
Síťové výstupy
Bajty čtení disku
Bajty zápisu na disk
Operace čtení disku za sekundu
Operace zápisu na disk za sekundu
Zbývající kredity procesoru
Spotřebované kredity procesoru

Při vytváření pravidel automatického škálování pro monitorování dané metriky se pravidla dívají na jednu z následujících akcí agregace metrik:

Typ agregace
Průměr
Minimum
Maximum
Celkem
Last
Počet

Pravidla automatického škálování se pak aktivují, když se metriky porovnávají s definovanou prahovou hodnotou s jedním z následujících operátorů:

Operátor
Je větší než
Větší než nebo rovno
Je menší než
Menší než nebo rovno
Rovno
Nikoli rovno

Akce při aktivaci pravidel

Když se pravidlo automatického škálování aktivuje, vaše škálovací sada se může automaticky škálovat jedním z následujících způsobů:

Operace škálování Případ použití
Zvýšit počet o Pevný počet instancí virtuálních počítačů, které se mají vytvořit. Užitečné ve škálovacích sadách s menším počtem virtuálních počítačů.
Zvýšit procento o Procento zvýšení počtu instancí virtuálních počítačů Vhodné pro větší škálovací sady, u kterých se pevný nárůst nemusí výrazně zvýšit výkon.
Zvýšit počet na Vytvořte tolik instancí virtuálních počítačů, aby bylo dosaženo požadované maximální částky.
Snížit počet o Pevný počet instancí virtuálních počítačů, které se mají odebrat. Užitečné ve škálovacích sadách s menším počtem virtuálních počítačů.
Snížit procento o Procento snížení počtu instancí virtuálních počítačů Vhodné pro větší škálovací sady, kde pevné snížení nemusí výrazně snížit spotřebu prostředků a náklady.
Snížit počet na Odeberte tolik instancí virtuálních počítačů, kolik je potřeba k dosažení požadované minimální částky.

Metriky virtuálních počítačů v hostu s rozšířením Azure Diagnostics

Rozšíření Azure Diagnostics je agent, který běží v instanci virtuálního počítače. Agent monitoruje a ukládá metriky výkonu do úložiště Azure. Tyto metriky výkonu obsahují podrobnější informace o stavu virtuálního počítače, například AverageReadTime pro disky nebo PercentIdleTime pro procesor. Pravidla automatického škálování můžete vytvářet na základě podrobnějšího povědomí o výkonu virtuálního počítače, nejen o procentech využití procesoru nebo využití paměti.

Pokud chcete použít rozšíření Azure Diagnostics, musíte vytvořit účty úložiště Azure pro instance virtuálních počítačů, nainstalovat agenta diagnostiky Azure a pak nakonfigurovat virtuální počítače tak, aby streamovali konkrétní čítače výkonu do účtu úložiště.

Další informace najdete v článcích popisujících povolení diagnostického rozšíření Azure na virtuálním počítači s Linuxem nebo virtuálním počítači s Windows.

Metriky na úrovni aplikace s využitím App Insights

Pokud chcete získat lepší přehled o výkonu vašich aplikací, můžete použít Application Insights. Do aplikace nainstalujete malý instrumentační balíček, který monitoruje aplikaci a odesílá telemetrii do Azure. Můžete monitorovat metriky, jako jsou doby odezvy vaší aplikace, výkon načítání stránky a počty relací. Tyto metriky aplikací je možné použít k vytvoření pravidel automatického škálování na podrobné a vložené úrovni při aktivaci pravidel na základě přehledů s možností akcí, které můžou mít vliv na prostředí zákazníka.

Další informace o službě App Insights najdete v tématu Co je Application Insights.

Plánované automatické škálování

Můžete také vytvořit pravidla automatického škálování na základě plánů. Tato pravidla založená na plánu umožňují automaticky škálovat počet instancí virtuálních počítačů v pevných časech. U pravidel založených na výkonu může dojít k dopadu na výkon aplikace před aktivací pravidel automatického škálování a zřízení nových instancí virtuálních počítačů. Pokud takovou poptávku očekáváte, další instance virtuálních počítačů se zřídí a připraví na další využití zákazníka a poptávku po aplikaci.

Následující příklady jsou scénáře, které můžou těžit z použití pravidel automatického škálování na základě plánu:

  • Automaticky navyšte kapacitu počtu instancí virtuálních počítačů na začátku pracovního dne, když se zvýší poptávka zákazníků. Na konci pracovního dne se automaticky škáluje počet instancí virtuálních počítačů, aby se minimalizovaly náklady na prostředky přes noc, když je využití aplikace nízké.
  • Pokud oddělení používá aplikaci silně v určitých částech měsíce nebo fiskálního cyklu, automaticky škálujte počet instancí virtuálních počítačů tak, aby vyhovoval jejich dalším požadavkům.
  • Pokud se jedná o marketingovou událost, propagaci nebo prodej svátků, můžete automaticky škálovat počet instancí virtuálních počítačů před očekávanou poptávkou zákazníků.

Omezení

  • Pro danou škálovací sadu můžete mít až 20 pravidel automatického škálování.

Další kroky

Pravidla automatického škálování, která používají metriky založené na hostiteli, můžete vytvořit pomocí jednoho z následujících nástrojů:

Informace o správě instancí virtuálních počítačů najdete v tématu Správa škálovacích sad virtuálních počítačů pomocí Azure PowerShellu.

Informace o tom, jak generovat upozornění při aktivaci pravidel automatického škálování, najdete v tématu Použití akcí automatického škálování k odesílání e-mailů a oznámení upozornění webhooku ve službě Azure Monitor. Protokoly auditu můžete použít také k odesílání e-mailových a webhooků s oznámeními o upozorněních ve službě Azure Monitor.