Co je automatické škálování

Dokončeno

V této lekci se podíváme na koncepty škálování Azure.

Elastické škálování

Hlavní výhodou cloudu je elastické škálování. Horizontální navýšení kapacity přidáním instancí aplikace na základě zvýšené poptávky. Kapacitu můžete využít, jak potřebujete, horizontální navýšení kapacity při nárůstu zatížení a škálování v případě, že není potřeba další kapacita.

Klasický příklad nutnosti elasticity nastane, když na webu organizace dojde k neobvykle vysokému zatížení. Pokud se web nedá škálovat tak, aby uspokojil poptávku, trvá zpracování žádostí déle, protože čekají ve frontě na čas procesoru. Zákazníkovi se web jeví jako pomalý a nereagující. V extrémních případech se může i zdát, že web nefunguje.

Ruční a automatické škálování

Nastavení škálování pro aplikaci můžete nakonfigurovat pomocí některého ze dvou režimů: ručního nebo automatického. Ruční je, jak byste očekávali: nastavíte absolutní počet instancí. Automatické (automatické škálování) ale umožňuje nastavit pravidla, která určují, jak a jak moc byste měli škálovat.

Automatické škálování umožňuje mít správné množství spuštěných prostředků pro zvládnutí zatížení vaší aplikace. Automatické škálování usnadňuje režii správy tím, že snižuje potřebu systémových operátorů neustále rozhodovat o přidávání nebo odebírání prostředků nebo kontrole výkonu systému. Minimální úroveň zajišťuje, aby vaše aplikace vždy běžela i bez zatížení. Maximální omezení celkových možných hodinových nákladů. Mezi těmito dvěma extrémními hodnotami můžete automaticky škálovat pomocí pravidel, která vytvoříte.

Diagram znázorňující úsporu automatického škálování nákladů na výpočetní prostředky

"Out" vs "Up"

Aplikaci je možné škálovat dvěma hlavními způsoby:

  • Vertikální škálování, které se označuje také jako vertikální navýšení a snížení kapacity, změní kapacitu prostředku. Aplikaci můžete například přesunout do větší velikosti výpočetních prostředků. Vertikální škálování často vyžaduje, aby byl systém při opětovném nasazení dočasně nedostupný, takže je méně běžné automatizovat vertikální škálování.

  • Horizontální škálování, které se také označuje jako horizontální navýšenía snížení kapacity, přidá nebo odebere instance prostředku. Během zřizování nových prostředků zůstává aplikace spuštěná bez přerušení. Po dokončení procesu zřizování se řešení nasadí na tyto další prostředky. Pokud poptávka klesne, dají se nadbytečné prostředky vyčistit a uvolnit.

Automatické škálování horizontálně horizontálně navyšuje kapacitu (horizontálně), což je zvýšení ("out") nebo snížení ("in") v počtu instancí aplikace.

Diagram znázorňující rozdíl mezi vertikálním navýšením a horizontálním navýšením kapacity

Automatické škálování v Azure Spring Apps

Automatické škálování v Azure Spring Apps monitoruje metriky prostředků aplikace Spring při spuštění. Zjistí situace, kdy se ke zvládnutí rostoucí úlohy vyžadují další prostředky, a zajišťuje, aby byly tyto prostředky k dispozici dříve, než se systém přetíží. Automatické škálování je integrovaná funkce Azure Spring Apps, která pomáhá aplikacím mikroslužeb dělat co nejlépe, když se poptávka změní.

Příklad z reálného světa

Obchody s potravinami v Raley potřebují modernizovat kód a infrastrukturu pro své weby elektronického obchodování s javou hostované v Azure. Společnost také potřebuje optimalizovat a automatizovat přidělování sítě. Všechno musí být robustní, vždy zapnuté a co je nejdůležitější – snadno spravovat.

Raley si vybere Azure Spring Apps. Azure Spring Apps je spravovaná služba pro Spring Boot, která poskytuje výkon Kubernetes v kombinaci s monitorováním a automatickým škálováním v reálném čase. Umožňuje také raleymu přijmout skutečnou architekturu PaaS (platforma jako služba), která plně využívá výhody cloudu.

Služba spravuje infrastrukturu aplikací mikroslužeb Spring Boot na pozadí, aby se vývojáři mohli soustředit na svůj kód. Když se nasadí knihovny nebo kód v Javě, aplikace Spring Apps automaticky připojí aplikace pomocí modulu runtime služby Spring.

Po nasazení jsou aplikace Azure Spring plně integrované s nástroji Azure Monitoru, jako jsou Application Insights a Log Analytics. Tyto nástroje umožňují snadné a plně konfigurovatelné monitorování výkonu a chyb. Stejné monitorovací služby můžou také řídit automatické škálování, což pomáhá zajistit, aby prostředky byly vhodné pro aktuální zatížení.

Diagram znázorňující automatické škálování škálování