Sdílet prostřednictvím


Škálování kontejnerů a bezserverových aplikací

Tip

Tento obsah je výňatek z eBooku, Architekting Cloud Native .NET Applications for Azure, který je k dispozici na webu Docs pro .NET nebo jako soubor PDF zdarma ke stažení, který si můžete přečíst offline.

Cloud Native .NET apps for Azure eBook cover thumbnail.

Aplikaci můžete škálovat dvěma způsoby: nahoru nebo ven. První odkazuje na přidání kapacity do jednoho prostředku, zatímco druhý se týká přidání dalších prostředků za účelem zvýšení kapacity.

Jednoduché řešení: vertikální navýšení kapacity

Upgrade existujícího hostitelského serveru se zvýšeným využitím procesoru, paměti, vstupně-výstupních operací disku a rychlosti vstupně-výstupních operací sítě se označuje jako vertikální navýšení kapacity. Vertikální navýšení kapacity aplikace nativní pro cloud zahrnuje výběr více schopných prostředků od dodavatele cloudu. Můžete například vytvořit nový fond uzlů s většími virtuálními počítači v clusteru Kubernetes. Potom migrujte kontejnerizované služby do nového fondu.

Bezserverové aplikace se škálují tak, že zvolíte plán Premium Functions nebo velikosti instancí Premium z vyhrazeného plánu služby App Service.

Horizontální navýšení kapacity aplikací nativních pro cloud

Nativní cloudové aplikace často dochází k velkým výkyvům poptávky a vyžadují škálování na okamžik. Dávají přednost horizontálnímu navýšení kapacity. Horizontální navýšení kapacity se provádí horizontálním přidáním dalších počítačů (označovaných jako uzly) nebo instancí aplikací do existujícího clusteru. V Kubernetes můžete škálovat ručně úpravou nastavení konfigurace aplikace (například škálování fondu uzlů) nebo automatickým škálováním.

Clustery AKS se můžou automaticky škálovat jedním ze dvou způsobů:

Horizontální automatické škálování podů nejprve monitoruje poptávku po prostředcích a automaticky škáluje repliky podů tak, aby je splňovaly. Při nárůstu provozu se automaticky zřídí další repliky pro horizontální navýšení kapacity služeb. Stejně tak, když se poptávka sníží, odeberou se ke škálování vašich služeb. Definujete metriku, pro kterou se má škálovat, například využití procesoru. Můžete také zadat minimální a maximální počet replik, které se mají spustit. AKS monitoruje metriku a odpovídajícím způsobem škáluje.

V dalším kroku vám funkce automatického škálování clusteru AKS umožňuje automaticky škálovat výpočetní uzly napříč clusterem Kubernetes tak, aby splňovaly poptávku. Díky tomu můžete do základní škálovací sady virtuálních počítačů Azure automaticky přidávat nové virtuální počítače, kdykoli se vyžaduje větší výpočetní kapacita. Odebere také uzly, pokud už nejsou potřeba.

Obrázek 3–11 znázorňuje vztah mezi těmito dvěma službami škálování.

Scaling out an App Service plan.

Obrázek 3–11 Horizontální navýšení kapacity plánu služby App Service

Spolupráce zajišťuje optimální počet instancí kontejneru i výpočetních uzlů, které podporují proměnlivou poptávku. Horizontální automatické škálování podů optimalizuje požadovaný počet podů. Automatické škálování clusteru optimalizuje požadovaný počet uzlů.

Škálování Azure Functions

Azure Functions automaticky škáluje kapacitu na vyžádání. Prostředky serveru se dynamicky přidělují a odebírají na základě počtu aktivovaných událostí. Poplatky se účtují jenom za výpočetní prostředky spotřebované při spuštění funkcí. Fakturace vychází z počtu spuštění, doby provádění a využité paměti.

I když výchozí plán consumption poskytuje ekonomické a škálovatelné řešení pro většinu aplikací, možnost Premium umožňuje vývojářům flexibilitu pro vlastní požadavky azure Functions. Upgrade na plán Premium poskytuje kontrolu nad velikostmi instancí, předem zahřátými instancemi (aby nedocházelo ke zpožděním při studeném spuštění) a vyhrazeným virtuálním počítačům.