Scaling per app con Azure App Service

di Cristian Civera, in Azure Web Site,

Quando creiamo una web app sulla piattaforma Microsoft Azure, dobbiamo sempre creare o indicare un server plan dove ospitarla. Il server plan è un server logico sulla quale possiamo aumentare la densità del suo utilizzo inserendo più web app. Su di esso possiamo effettuare due tipologie di scaling: orizzontale e verticale. Nel primo aumentiamo il numero di istanze, nel secondo la capacità in termini di CPU e memoria.

Quando aumentiamo il numero delle istanze, tutti gli applicativi vengono replicati e vivono in più processi, in base al service plan che tramite un load balancer spartisce il traffico su di essi. Questo semplifica notevolmente la gestione, poiché andiamo a riempire le istanze nello stesso modo, ma non ci permette di essere più granulari, per esempio usando una sola istanza per un applicativo a basso utilizzo.

E' possibile ovviare a questo limite abilitando il per-app scaling. Questa proprietà, disponibile sul service plan, ci permette poi di indicare ad ogni web app, il numero di worker da utilizzare. Prima di tutto quindi va impostato il flag, tramite PowerShell o ARM:

Set-AzAppServicePlan -ResourceGroupName mioResourceGroup  -Name mioPlan -PerSiteScaling $true

Possiamo a questo punto indicare il numero di workers da utilizzare su ogni web app:

$app = Get-AzWebApp -ResourceGroupName mioResourceGroup -Name mioSite
$app.SiteConfig.NumberOfWorkers = 2
Set-AzWebApp $app

Possiamo in qualsiasi momento cambiare il numero dei workers che assumerà valore uno per eventuali nuove web app inserite nello stesso plan.

Commenti

Visualizza/aggiungi commenti

| Condividi su: Twitter, Facebook, LinkedIn

Per inserire un commento, devi avere un account.

Fai il login e torna a questa pagina, oppure registrati alla nostra community.

Approfondimenti

I più letti di oggi