Granska utskalningsalternativ

Slutförd

Azure App Service stöder två alternativ för att skala ut dina webbappar automatiskt:

  • Autoskalning med Autoskalning i Azure. Autoskalning fattar skalningsbeslut baserat på regler som du definierar.
  • Automatisk skalning i Azure App Service. Automatisk skalning fattar skalningsbeslut åt dig baserat på de parametrar som du väljer.

Vad är autoskalning?

Autoskalning är ett molnsystem eller en process som justerar tillgängliga resurser baserat på den aktuella efterfrågan. Autoskalning skalar in och upp till skillnad från att skala upp och ned.

Autoskalning kan utlösas enligt ett schema eller genom en bedömning av huruvida systemet börjar få slut på resurser. Till exempel kan autoskalning aktiveras om processor- eller minnesanvändningen ökar, om antalet inkommande begäranden till en tjänst verkar stegras eller en kombination av olika faktorer.

Automatisk skalning i Azure App Service

Autoskalning i Azure App Service övervakar resursmåtten för en webbapp när den körs. Den identifierar situationer där andra resurser krävs för att hantera en ökande arbetsbelastning och ser till att dessa resurser är tillgängliga innan systemet överbelastas.

Autoskalning reagerar på förändringar i miljön genom att lägga till eller ta bort webbservrar och utjämna belastningen mellan dem. Autoskalning påverkar inte processorkraften, minnet eller lagringskapaciteten hos de webbservrar som driver appen, utan ändrar bara antalet webbservrar.

Regler för autoskalning

Autoskalning fattar beslut baserat på de regler som du definierar. En regel anger tröskelvärdet för ett mått och utlöser en autoskalningshändelse när tröskelvärdet överskrids. Autoskalning kan även frigöra resurser när arbetsbelastningen har minskat.

Definiera reglerna för autoskalning noggrant. Till exempel resulterar en överbelastningsattack troligen i ett storskaligt inflöde av inkommande trafik. Det vore både lönlöst och dyrt att försöka hantera en ökning av begäranden som kommer från en DoS-attack. Begärandena är inte äkta och bör tas bort snarare än att bearbetas. En bättre lösning är att implementera identifiering och filtrering av begäranden som uppstår under sådana angrepp innan de når tjänsten.

När bör du överväga att använda autoskalning?

Autoskalning ger elasticitet för dina tjänster. Till exempel kan du förvänta dig ökad eller minskad aktivitet för ett företagsprogram under helgdagar.

Autoskalning förbättrar tillgängligheten och feltoleransen. Det kan bidra till att klientbegäranden till en tjänst inte nekas på grund av att instansen inte kan bekräfta begäran tillräckligt snabbt eller att en överbelastad instans har kraschat.

Autoskalning fungerar på så sätt att det lägger till eller tar bort webbservrar. Om dina webbappar utför resurskrävande bearbetning för varje begäran är autoskalning kanske inte en effektiv metod. I sådana fall kan det vara nödvändigt att manuellt skala upp. Exempel: Om en begäran som skickas till en webbapp inbegriper komplex bearbetning i en stor datamängd kan den här enskilda begäran, beroende på instansens storlek, sluka all bearbetnings- och minneskapacitet i instansen.

Autoskalning är inte den bästa metoden för hantering av långsiktig tillväxt. Du kan ha en webbapp som börjar med några användare, men som ökar i popularitet över tid. Autoskalning medför extra kostnader vad gäller övervakning av resurser och avgörande huruvida en skalningshändelse ska utlösas. Om du i det här scenariot kan förutsäga tillväxthastigheten kan det vara mer kostnadseffektivt att manuellt skala systemet över tid.

Antalet instanser av en tjänst är en annan faktor. Kanske förväntar du dig att oftast köra endast några få instanser av en tjänst. I den här situationen är dock tjänsten känslig för stilleståndstid eller brist på tillgänglighet oavsett om autoskalning är aktiverat eller inte. Ju färre instanser från början, desto mindre kapacitet måste du hantera en ökande arbetsbelastning medan autoskalning snurrar upp fler instanser.

Automatisk skalning i Azure App Service

Automatisk skalning är ett nytt skalningsalternativ som automatiskt hanterar skalningsbeslut för dina webbappar och App Service-planer. Det skiljer sig från den befintliga autoskalningen i Azure, där du kan definiera skalningsregler baserat på scheman och resurser. Med automatisk skalning kan du justera skalningsinställningarna för att förbättra appens prestanda och undvika problem med kallstart. Plattformen förinstallerar instanser för att fungera som en buffert vid utskalning, vilket säkerställer smidiga prestandaövergångar. Du debiteras per sekund för varje instans, inklusive förvärmade instanser.

Här följer några scenarier där du bör skala ut automatiskt:

  • Du vill inte konfigurera regler för autoskalning baserat på resursmått.
  • Du vill att dina webbappar inom samma App Service-plan ska skalas olika och oberoende av varandra.
  • Webbappen är ansluten till en databas eller ett äldre system som kanske inte skalas lika snabbt som webbappen. Med skalning kan du automatiskt ange det maximala antalet instanser som apptjänstplanen kan skala till. Den här inställningen hjälper webbappen att inte överbelasta serverdelen.