Přehled automatického škálování v Azure

Tento článek popisuje funkci automatického škálování ve službě Azure Monitor a její výhody.

Automatické škálování podporuje mnoho typů prostředků. Další informace o podporovaných prostředcích najdete v tématu Automatické škálování podporovaných prostředků.

Poznámka:

Skupiny dostupnosti jsou starší funkcí škálování pro virtuální počítače s omezenou podporou. Pro rychlejší a spolehlivější podporu automatického škálování doporučujeme migrovat na škálovací sady virtuálních počítačů Azure.

Co je automatické škálování?

Automatické škálování je služba, pomocí které můžete automaticky přidávat a odebírat prostředky podle zatížení aplikace.

Když vaše aplikace dosáhne vyššího zatížení, automatické škálování přidá prostředky pro zvládnutí zvýšeného zatížení. Pokud je zatížení nízké, automatické škálování snižuje počet prostředků, což snižuje náklady. Aplikaci můžete škálovat na základě metrik, jako je využití procesoru, délka fronty a dostupná paměť. Můžete také škálovat podle plánu. Metriky a plány jsou nastavené v pravidlech. Pravidla zahrnují minimální úroveň prostředků, které potřebujete ke spuštění aplikace, a maximální úroveň prostředků, které nebudou překročeny.

Například horizontální navýšení kapacity aplikace přidáním virtuálních počítačů, když průměrné využití procesoru na virtuální počítač překročí 70 %. Vertikálně navyšte kapacitu odebráním virtuálních počítačů, když využití procesoru klesne na 40 %.

A diagram that shows scaling out by adding virtual machine instances.

Když jsou splněny podmínky v pravidlech, aktivuje se jedna nebo více akcí automatického škálování, přidání nebo odebrání virtuálních počítačů. Můžete také provádět další akce, jako je odesílání e-mailů, oznámení nebo webhooků, které aktivují procesy v jiných systémech.

Horizontální vs. vertikální škálování

Automatické škálování se horizontálně navyšuje nebo horizontálně navyšuje. Horizontální škálování je zvýšení nebo snížení počtu instancí prostředků. Například pro škálovací sadu virtuálních počítačů horizontální navýšení kapacity znamená přidání dalších virtuálních počítačů. Škálování znamená odebrání virtuálních počítačů. Horizontální škálování je flexibilní v cloudové situaci, protože ho můžete použít ke spouštění velkého počtu virtuálních počítačů pro zpracování zatížení.

Automatické škálování nepodporuje vertikální škálování. Naproti tomu vertikální navýšení a snížení kapacity nebo vertikální škálování udržuje stejný počet instancí prostředků konstantní, ale poskytuje jim větší kapacitu z hlediska paměti, rychlosti procesoru, místa na disku a sítě. Vertikální škálování je omezené dostupností většího hardwaru, který nakonec dosáhne horního limitu. Dostupnost velikosti hardwaru se v Azure liší podle oblastí. Vertikální škálování může také vyžadovat restartování virtuálního počítače během procesu škálování.

A diagram that shows scaling up by adding CPU and memory to a virtual machine.

Když jsou splněny podmínky v pravidlech, aktivuje se jedna nebo více akcí automatického škálování, přidání nebo odebrání virtuálních počítačů. Můžete také provádět další akce, jako je odesílání e-mailů, oznámení nebo webhooků, které aktivují procesy v jiných systémech.

Prediktivní automatické škálování

Prediktivní automatické škálování využívá strojové učení ke správě a škálování škálovacích sad virtuálních počítačů pomocí cyklických vzorů úloh. Na základě historických vzorů využití procesoru předpovídá celkové zatížení procesoru ve škálovací sadě virtuálních počítačů. Škálovací sadu pak můžete škálovat včas, aby splňovala predikovanou poptávku.

Nastavení automatického škálování

Automatické škálování můžete nastavit prostřednictvím:

Architektura

Následující diagram znázorňuje architekturu automatického škálování.

Diagram that shows autoscale flow.

Metriky zdrojů

Prostředky generují metriky, které se používají v pravidlech automatického škálování k aktivaci událostí škálování. Škálovací sady virtuálních počítačů používají k vygenerování metrik telemetrická data z diagnostických agentů Azure. Telemetrie pro funkci Web Apps služby Aplikace Azure a cloudových služeb Azure pochází přímo z infrastruktury Azure. Mezi běžně používané metriky patří využití procesoru, využití paměti, počty vláken, délka fronty a využití disku. Seznam dostupných metrik najdete v tématu Automatické škálování běžných metrik.

Vlastní metrika

Použijte vlastní metriky, které vaše aplikace generuje. Nakonfigurujte aplikaci tak, aby odesílala metriky do aplikačních Přehledy, abyste se mohli pomocí těchto metrik rozhodnout, kdy se mají škálovat.

Čas

Nastavte pravidla založená na plánu pro aktivaci událostí škálování. Pravidla založená na plánu použijte, když ve svém zatížení vidíte časové vzory a chcete škálovat před očekávaným změnám zatížení.

Pravidla

Pravidla definují podmínky potřebné k aktivaci události škálování, směru škálování a velikosti, podle které se má škálovat. Kombinování více pravidel pomocí různých metrik, jako je využití procesoru a délka fronty Definujte až 10 pravidel na profil.

Pravidla můžou být:

  • Metric-based: Trigger based on a metric value, example when CPU usage is above 50%.
  • Na základě času: Aktivační událost založená na plánu, například každou sobotu v 8:00.

Automatické škálování horizontálně navyšuje kapacitu, pokud jsou splněna některá z pravidel. Automatické škálování se škáluje jenom v případě, že jsou splněna všechna pravidla. Z hlediska operátorů logiky se operátor OR používá k horizontálnímu navýšení kapacity s více pravidly. Operátor AND se používá pro škálování s více pravidly.

Akce a automatizace

Pravidla můžou aktivovat jednu nebo více akcí. Mezi akce patří:

  • Škálování: Horizontální navýšení nebo snížení kapacity prostředků
  • E-mail: Pošlete e-mail správcům předplatného, spolusprávců a/nebo jakékoli jiné e-mailové adrese.
  • Webhooky: Volejte webhooky, které aktivují několik složitých akcí uvnitř Azure nebo mimo Azure. V Azure můžete:

Nastavení automatického škálování

Nastavení automatického škálování obsahuje konfiguraci automatického škálování. Nastavení zahrnuje podmínky škálování, které definují pravidla, limity a plány a oznámení. Definujte jednu nebo více podmínek škálování v nastavení a jedno nastavení oznámení.

Automatické škálování používá následující terminologii a strukturu.

Uživatelské rozhraní JSON/CLI Popis
Podmínky škálování Profily Kolekce pravidel, limitů instancí a plánů na základě metriky nebo času. Můžete definovat jednu nebo více podmínek nebo profilů škálování. Definujte až 20 profilů na nastavení automatického škálování.
Pravidla pravidla Sada podmínek založená na čase nebo metrikách, které aktivují akci škálování. Můžete definovat jedno nebo více pravidel pro akce horizontálního navýšení kapacity i horizontálního navýšení kapacity. Definujte až 10 pravidel na profil.
Limity instancí capacity Každá podmínka nebo profil škálování definuje výchozí, maximální a minimální počet instancí, které se můžou spouštět v rámci daného profilu.
Plán recurrence Označuje, kdy má automatické škálování tuto podmínku škálování nebo profil použít. Můžete mít několik podmínek škálování, které umožňují zpracovávat různé a překrývající se požadavky. Můžete mít například různé podmínky škálování pro různé denní doby nebo dny v týdnu.
Notify oznámení Definuje oznámení, která se mají odesílat, když dojde k události automatického škálování. Automatické škálování může upozornit jednu nebo více e-mailových adres nebo volat pomocí jednoho nebo více webhooků. Ve formátu JSON můžete nakonfigurovat několik webhooků, ale jenom jeden v uživatelském rozhraní.

Diagram that shows Azure autoscale setting, profile, and rule structure.

Úplný seznam konfigurovatelných polí a popisů je k dispozici v rozhraní REST API automatického škálování.

Příklady kódu najdete tady:

Podporované služby pro automatické škálování

Automatické škálování podporuje následující služby.

Service Schéma a dokumentace
Škálovací sady virtuálních počítačů Azure Přehled automatického škálování se škálovacími sadami virtuálních počítačů Azure
Funkce Web Apps služby Azure App Service Škálování webových aplikací
Služba Azure API Management Automatické škálování instance služby Azure API Management
Clustery Azure Data Exploreru Správa škálování clusterů Azure Data Exploreru tak, aby vyhovovaly měnícím se požadavkům
Azure Stream Analytics Automatické škálování jednotek streamování (Preview)
Služba Azure SignalR (úroveň Premium) Automatické škálování jednotek služby Azure SignalR
Pracovní prostor služby Azure Machine Learning Automatické škálování online koncového bodu
Azure Spring Apps Nastavení automatického škálování pro aplikace
Azure Media Services Automatické škálování ve službě Media Services
Azure Service Bus Automatická aktualizace jednotek zasílání zpráv v oboru názvů služby Azure Service Bus
Azure Logic Apps – Prostředí integrační služby (ISE) Přidání kapacity prostředí integrační služby (ISE)

Další kroky

Další informace o automatickém škálování najdete v následujících zdrojích informací: