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 %.
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í.
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:
- Azure Portal
- PowerShell
- Rozhraní příkazového řádku (CLI) pro různé platformy
- Rozhraní REST API služby Azure Monitor
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 Application Insights , 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:
- Spusťte runbook Azure Automation.
- Volání funkce Azure
- Aktivace aplikace logiky Azure
Nastavení automatického škálování
Nastavení automatického škálování 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 automatické škálování umístí tuto podmínku škálování nebo profil do účinku. 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í. |
Ú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:
- Kurz: Automatické škálování škálovací sady virtuálních počítačů pomocí Azure CLI
- Kurz: Automatické škálování škálovací sady virtuálních počítačů pomocí PowerShellu
Podporované služby pro automatické škálování
Automatické škálování podporuje následující služby.
Služba | Schéma a dokumentace |
---|---|
Škálovací sady virtuálních počítačů Azure | Přehled automatického škálování pomocí škálovacích sad 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 |
Další kroky
Další informace o automatickém škálování najdete v následujících zdrojích informací:
- Běžné metriky automatického škálování služby Azure Monitor
- Použití akcí automatického škálování k odesílání e-mailů a oznámení upozornění webhooku
- Kurz: Automatické škálování škálovací sady virtuálních počítačů pomocí Azure CLI
- Kurz: Automatické škálování škálovací sady virtuálních počítačů pomocí Azure PowerShellu
- Referenční informace k rozhraní příkazového řádku automatického škálování
- Definice prostředku šablony ARM
- Referenční informace k Az.Monitoru v PowerShellu
- Referenční informace k rozhraní REST API: Nastavení automatického škálování