Návrh pro škálování
Škálovatelnost je schopnost systému zvládnout zvýšené zatížení. Služby, na které se vztahuje automatické škálování Azure, se mohou automaticky škálovat tak, aby odpovídaly poptávce podle zatížení. Tyto služby se škálují na více kapacity, aby se zajistilo, že během špičky zatížení se kapacita automaticky vrátí k normálu, když špička klesne.
Abyste dosáhli efektivity výkonu, zvažte, jak návrh aplikace škáluje a implementuje nabídky PaaS s integrovanými operacemi škálování.
Mezi dva hlavní způsoby škálování aplikace patří vertikální škálování a horizontální škálování. Vertikální škálování (vertikální navýšení kapacity) zvyšuje kapacitu prostředku, například použitím větší velikosti virtuálního počítače. Horizontální škálování (horizontální navýšení kapacity) přidává nové instance prostředku, jako jsou virtuální počítače nebo repliky databáze.
Horizontální škálování má oproti vertikálnímu škálování významné výhody, například:
- Skutečné cloudové škálování: Aplikace jsou navržené tak, aby se spouštěly na stovkách nebo dokonce tisících uzlů a dosahují škály, které nejsou na jednom uzlu možné.
- Horizontální škálování je elastické: Pokud se zatížení zvýší, můžete přidat další instance nebo instance v klidnější době odebrat.
- Horizontální navýšení kapacity je možné spustit automaticky buď podle plánu, nebo v reakci na změnu zátěže.
- Horizontální navýšení kapacity může být levnější než vertikální navýšení kapacity. Provoz několika menších virtuálních počítačů může být méně nákladný než provoz jednoho velkého.
- Horizontální škálování může také přidáním redundance zvýšit odolnost proti chybám. Pokud instance přestane fungovat, aplikace i nadále běží.
Výhodou vertikálního škálování je, že ho můžete provést bez jakýchkoliv změn aplikace. V nějakém okamžiku ale nasáhnete limitu, kdy už nebude možné škálovat nahoru. Další škálování od tohoto okamžiku musí být horizontální.
Horizontálnímu škálování je nutné přizpůsobit systém. Škálování na více instancí můžete například provést umístěním virtuálních počítačů za nástroj pro vyrovnání zatížení. Každý virtuální počítač ve fondu ale musí zpracovat všechny požadavky klienta, takže aplikace musí být bez stavu nebo musí být uložená externě (například v distribuované mezipaměti). Spravované služby PaaS mají horizontální škálování i automatické škálování často vestavěné. Snadné škálování těchto služeb je hlavní výhodou jejich používání.
Pouhé přidání více instancí však neznamená, že aplikaci bude možné škálovat. Kritický bod se může posunout někam jinam. Například pokud škálujete webový front-end, aby zvládl více žádostí klienta, může to v databázi spustit konflikt zámků. Měli byste zvážit další míry, jako je optimistická souběžnost nebo dělení dat, abyste umožnili větší propustnost do databáze.
Vždy proveďte výkonnostní a zátěžové testování, abyste tyto případné kritické body našli. Stavové části systému (například databáze) jsou nejčastější příčinou kritických bodů a vyžadují pečlivý návrh horizontálního škálování. Vyřešením jednoho kritického bodu můžete odhalit další kritické body jinde.
Ke kontrole vašeho návrhu z hlediska škálovatelnosti použijte kontrolní seznam efektivity výkonu.
Možnost využívat škálovatelnost v cloudu závisí na vaší infrastruktuře a službách. Platformy, jako je Kubernetes, byly vytvořeny s myslem škálování. Virtuální počítače se nemusí škálovat tak snadno, i když jsou možné operace škálování. U virtuálních počítačů můžete chtít předem naplánovat, abyste se vyhnuli škálování infrastruktury v budoucnu, aby splňovaly poptávku. Další možností je vybrat jinou platformu, například škálovací sady virtuálních počítačů Azure.
Při použití škálovatelnosti můžete předpovědět aktuální průměr a špičku pro vaši úlohu. Možnosti platebního plánu umožňují spravovat tuto predikci. Platíte buď za minutu, nebo za hodinu v závislosti na službě za zvolené časové období.
Plánování růstu
Plánování růstu začíná pochopením vašich aktuálních úloh, což vám pomůže odhadnout potřeby škálování na základě scénářů prediktivního použití. Příkladem scénáře prediktivního využití je web elektronického obchodování, který rozpozná, že jeho infrastruktura by se měla odpovídajícím způsobem škálovat podle očekávaného vysokého objemu sváteční dopravy.
Proveďte zátěžové testy a zátěžové testy, abyste určili potřebnou infrastrukturu pro podporu předpovědí špičky v úlohách. Dobrý plán zahrnuje začlenění vyrovnávací paměti, aby bylo možné plánovat náhodné špičky.
Další informace o tom, jak určit horní a maximální limity kapacity aplikace, najdete v tématu Testování výkonnosti v pilíři efektivity výkonu.
Další důležitou součástí plánování škálování je zajistit, aby oblast, která hostuje vaši aplikaci, podporuje potřebnou kapacitu potřebnou ke zvýšení zátěže. Pokud používáte architekturu ve více oblastech, ujistěte se, že toto zvýšení podporují i sekundární oblasti. Oblast může produkt nabídnout, ale nemusí podporovat předpokládané zvýšení zatížení bez potřebných skladových měr (skladových měr), takže potřebujete ověřit kapacitu.
Pokud chcete ověřit svou oblast a dostupné skladové položky, nejprve vyberte produkt a oblasti v části Dostupné produkty v jednotlivých oblastech.

Pak zkontrolujte skladové skladové položku, které jsou k dispozici v Azure Portal.
Přidání jednotek škálování
U každého prostředku znají horní limity škálování a pomocí shardování nebo rozkladu tyto limity překračují. Navrhovat aplikaci tak, aby ji bylo možné snadno škálovat přidáním jedné nebo více jednotek škálování, například pomocí vzoru Nasazovací razítka. Určete jednotky škálování systému pro dobře definované sady prostředků.
Dalším krokem může být použití integrovaných funkcí škálování nebo nástrojů, které vám pomůžou pochopit, které prostředky je potřeba škálovat souběžně s jinými prostředky. Například přidání X front-endových virtuálních počítačů může vyžadovat Y dalších front a Z účtů úložiště pro zpracování dalších úloh. Jednotka škálování by se tak mohla skládat z instancí virtuálních počítačů X, front Y a účtů úložiště Z.
Použití automatického škálování ke správě nárůstů a poklesů zatížení
Automatické škálování umožňuje spouštět správné množství prostředků pro zvládnutí zatížení vaší aplikace. Přidává prostředky (nazývané horizontální navýšení kapacity) pro zvládnutí nárůstu zatížení, jako jsou sezónní úlohy. Automatické škálování šetří peníze odebráním nečinných prostředků (nazývaných horizontální snížení kapacity) během poklesu zatížení, jako jsou například letní a víkendy u některých firemních aplikací.
Automaticky škálujte mezi minimálním a maximálním počtem instancí, které se mají spustit, a automaticky přidáte nebo odeberete virtuální počítače na základě sady pravidel.

Další informace najdete v tématu Automatické škálování.
Principy cílů škálování
Operace škálování (horizontální – změna počtu identických instancí, vertikální – přepnutí na výkonnější instance nebo méně výkonné instance) mohou být rychlé, ale obvykle jejich dokončení chvíli trvá. Je důležité pochopit, jak toto zpoždění ovlivňuje aplikaci při zatížení a jestli je přijatelný snížený výkon.
Další informace najdete v referenčních informacích k osvědčeným postupům pro automatické škálování.
Využití funkcí automatického škálování platformy
Funkce automatického škálování vám těží z tohoto:
- Pokud je to možné, používejte integrované funkce automatického škálování místo vlastních mechanismů nebo mechanismů třetích stran.
- Pokud je to možné, použijte pravidla plánovaného škálování, abyste zajistili, že prostředky budou dostupné.
- Přidejte do pravidel reaktivní automatické škálování, kde je to vhodné, abyste se dokázali vypořádat s neočekávanými změnami v poptávce.
Poznámka
Pokud je vaše aplikace explicitně navržená tak, aby zvládla ukončení některých jejích instancí, ujistěte se, že používáte automatické škálování ke snížení a snížení kapacity prostředků, které už nejsou potřebné pro dané zatížení, aby se snížily provozní náklady.
Další informace najdete v referenčních informacích k automatické škálování.
Automatické škálování aplikací náročných na procesor nebo paměť
Aplikace náročné na procesor nebo paměť vyžadují škálování na větší SKU počítače s větším využitím procesoru nebo paměti. Jakmile snížíte poptávku po procesoru nebo paměti, instance se mohou vrátit zpět k původní instanci.
Můžete mít například aplikaci, která zpracovává obrázky, videa nebo hudbu. Vzhledem k procesu a požadavkům může mít smysl škálovat server tak, že přidáte procesor nebo paměť, aby se velký mediální soubor rychle zpracuje. Horizontální navýšení kapacity sice umožňuje systému zpracovávat více souborů současně, ale nebude to mít vliv na rychlost zpracování jednotlivých souborů.
Automatické škálování s využitím výpočetních služeb Azure
Automatické škálování funguje tak, že shromažďuje metriky pro prostředek (využití procesoru a paměti) a aplikace (požadavky zařazené do fronty a požadavky za sekundu). V závislosti na tom, jak se pravidlo vyhodnocuje, je pak možné vytvořit pravidla, která budou přidávat a odebírat instance. Plán App Services umožňuje nastavit pravidla automatického škálování pro škálování na více nebo pro škálování nahoru nebo dolů. Škálování platí také pro Azure Automation.
Ukázka automatického škálování služby Application Service ukazuje, jak vytvořit plán Azure App Service, který zahrnuje Azure App Service.
Azure Kubernetes Service (AKS) nabízí dvě úrovně automatického škálování:
- Horizontální automatické škálování: U kontejnerů služeb je možné povolit přidání více nebo menšího počtu instancí podů v rámci clusteru.
- Automatické škálování clusteru: Je možné povolit na instancích virtuálních počítače agentů, na které běží fond uzlů agenta, a dynamicky přidávat nebo odebírat instance virtuálních počítače.
Mezi další služby Azure patří následující služby:
- Azure Service Fabric:Škálovací sady virtuálních počítačů nabízejí možnosti automatického škálování pro skutečné scénáře IaaS.
- Azure App Gateway a Azure API Management:Nabídky PaaS pro služby příchozího přenosu dat, které umožňují automatické škálování.
- Azure Functions, Azure Logic Appsa App Services:Modelování spotřeby bez použití, které ze své podstaty poskytuje možnosti automatického škálování.
- Azure SQL Database:Platforma PaaS umožňuje měnit výkonové charakteristiky databáze za běhu a v případě potřeby přiřazovat další prostředky nebo prostředky uvolnit, když nejsou potřeba. Umožňuje škálování nahoru/dolů, škálování čtenía možnosti globálního škálování na více nebo horizontálních oddílů.
Každá služba dokumentuje funkce automatického škálování. Obecnou diskuzi o automatickém škálování platformy Azure najdete v tématu Přehled automatického škálování.
Poznámka
Pokud vaše aplikace nemá integrovanou schopnost automatického škálování nebo není nakonfigurovaná automatické horizontální navýšení platnosti při nárůstu zatížení, je možné, že služby vaší aplikace selžou, pokud se nasytí požadavky uživatelů. Referenční Azure Automation pro možná řešení.