Översikt över autoskalning i Azure

I den här artikeln beskrivs funktionen för autoskalning i Azure Monitor och dess fördelar.

Autoskalning stöder många resurstyper. Mer information om resurser som stöds finns i Autoskalning av resurser som stöds.

Kommentar

Tillgänglighetsuppsättningar är en äldre skalningsfunktion för virtuella datorer med begränsat stöd. Vi rekommenderar att du migrerar till Skalningsuppsättningar för virtuella Azure-datorer för snabbare och mer tillförlitligt autoskalningsstöd.

Vad är autoskalning

Autoskalning är en tjänst som du kan använda för att automatiskt lägga till och ta bort resurser enligt belastningen på ditt program.

När programmet har högre belastning lägger autoskalning till resurser för att hantera den ökade belastningen. När belastningen är låg minskar autoskalningen antalet resurser, vilket sänker dina kostnader. Du kan skala ditt program baserat på mått som CPU-användning, kölängd och tillgängligt minne. Du kan också skala baserat på ett schema. Mått och scheman konfigureras i regler. Reglerna innehåller en miniminivå av resurser som du behöver för att köra programmet och en maximal resursnivå som inte överskrids.

Skala till exempel ut ditt program genom att lägga till virtuella datorer när den genomsnittliga CPU-användningen per virtuell dator är över 70 %. Skala tillbaka genom att ta bort virtuella datorer när CPU-användningen sjunker till 40 %.

Ett diagram som visar utskalning genom att lägga till virtuella datorinstanser.

När villkoren i reglerna uppfylls utlöses en eller flera autoskalningsåtgärder, vilket lägger till eller tar bort virtuella datorer. Du kan också utföra andra åtgärder som att skicka e-post, meddelanden eller webhooks för att utlösa processer i andra system.

Vågrät kontra lodrät skalning

Autoskalning skalar in och ut, eller vågrätt. Horisontell skalning är en ökning eller minskning av antalet resursinstanser. För en VM-skalningsuppsättning innebär utskalning till exempel att fler virtuella datorer läggs till. Att skala in innebär att ta bort virtuella datorer. Horisontell skalning är flexibel i en molnsituation eftersom du kan använda den för att köra ett stort antal virtuella datorer för att hantera belastningen.

Autoskalning stöder inte vertikal skalning. Skalning upp och ned, eller vertikal skalning, håller däremot samma antal resursinstanser konstanta men ger dem mer kapacitet när det gäller minne, CPU-hastighet, diskutrymme och nätverk. Vertikal skalning begränsas av tillgängligheten för större maskinvara, som så småningom når en övre gräns. Tillgängligheten för maskinvarustorlek varierar i Azure efter region. Vertikal skalning kan också kräva en omstart av den virtuella datorn under skalningsprocessen.

Ett diagram som visar uppskalning genom att lägga till processor och minne till en virtuell dator.

När villkoren i reglerna uppfylls utlöses en eller flera autoskalningsåtgärder, vilket lägger till eller tar bort virtuella datorer. Du kan också utföra andra åtgärder som att skicka e-post, meddelanden eller webhooks för att utlösa processer i andra system.

Förutsägande autoskalning

Förutsägelsebaserad autoskalning använder maskininlärning för att hantera och skala vm-skalningsuppsättningar med cykliska arbetsbelastningsmönster. Den beräknar den totala CPU-belastningen på vm-skalningsuppsättningen baserat på historiska cpu-användningsmönster. Skalningsuppsättningen kan sedan skalas ut i tid för att möta den förväntade efterfrågan.

Autoskalningskonfiguration

Du kan konfigurera autoskalning via:

Resursmått

Resurser genererar mått som används i autoskalningsregler för att utlösa skalningshändelser. Vm-skalningsuppsättningar använder telemetridata från Azure-diagnostikagenter för att generera mått. Telemetri för funktionen Web Apps i Azure App Service och Azure Cloud Services kommer direkt från Azure-infrastrukturen. Några vanliga mått är CPU-användning, minnesanvändning, antal trådar, kölängd och diskanvändning. En lista över tillgängliga mått finns i Autoskala vanliga mått.

Anpassade mått

Använd dina egna anpassade mått som ditt program genererar. Konfigurera ditt program för att skicka mått till Application Insights så att du kan använda dessa mått för att bestämma när du ska skala.

Tid

Konfigurera schemabaserade regler för att utlösa skalningshändelser. Använd schemabaserade regler när du ser tidsmönster i belastningen och vill skala innan en förväntad belastningsändring inträffar.

Regler

Regler definierar de villkor som krävs för att utlösa en skalningshändelse, skalningens riktning och mängden som ska skalas efter. Kombinera flera regler med hjälp av olika mått som CPU-användning och kölängd. Definiera upp till 10 regler per profil.

Regler kan vara:

  • Måttbaserad: Utlösare baserat på ett måttvärde, till exempel när CPU-användningen är över 50 %.
  • Tidsbaserad: Utlösare baserat på ett schema, till exempel varje lördag kl. 08.00.

Autoskalning skalas ut om någon av reglerna uppfylls. Autoskalning skalas bara in om alla regler är uppfyllda. När det gäller logikoperatorer används OR-operatorn för att skala ut med flera regler. OPERATORN AND används för att skala in med flera regler.

Åtgärder och automatisering

Regler kan utlösa en eller flera åtgärder. Åtgärderna omfattar:

  • Skala: Skala in eller ut resurser.
  • E-post: Skicka ett e-postmeddelande till prenumerationsadministratörer, medadministratörer och/eller någon annan e-postadress.
  • Webhooks: Anropa webhooks för att utlösa flera komplexa åtgärder i eller utanför Azure. I Azure kan du:

Autoskalningsinställningar

Autoskalningsinställningar innehåller skalningsvillkor som definierar regler, gränser och scheman och meddelanden. Definiera ett eller flera skalningsvillkor i inställningarna och en meddelandekonfiguration.

Autoskalning använder följande terminologi och struktur.

UI JSON/CLI beskrivning
Skalningsvillkor Profiler En samling regler, instansgränser och scheman baserat på ett mått eller en tid. Du kan definiera ett eller flera skalningsvillkor eller profiler. Definiera upp till 20 profiler per autoskalningsinställning.
Regler regler En uppsättning villkor baserat på tid eller mått som utlöser en skalningsåtgärd. Du kan definiera en eller flera regler för både in- och utskalningsåtgärder. Definiera upp till totalt 10 regler per profil.
Instansgränser capacity Varje skalningsvillkor eller profil definierar standard, högsta och minsta antal instanser som kan köras under den profilen.
Schema recurrence Anger när autoskalning sätter det här skalningsvillkoret eller profilen i kraft. Du kan ha flera skalningsvillkor som gör att du kan hantera olika och överlappande krav. Du kan till exempel ha olika skalningsvillkor för olika tider på dagen eller dagar i veckan.
Notify avisering Definierar de meddelanden som ska skickas när en autoskalningshändelse inträffar. Autoskalning kan meddela en eller flera e-postadresser eller ringa ett anrop med hjälp av en eller flera webhooks. Du kan konfigurera flera webhooks i JSON men bara en i användargränssnittet.

Diagram som visar azures autoskalningsinställning, profil och regelstruktur.

Den fullständiga listan över konfigurerbara fält och beskrivningar finns i REST-API:et för autoskalning.

Kodexempel finns i:

Tjänster som stöds för autoskalning

Autoskalning stöder följande tjänster.

Tjänst Schema och dokumentation
Skalningsuppsättningar för virtuella Azure-datorer Översikt över autoskalning med Skalningsuppsättningar för virtuella Azure-datorer
Funktionen Web Apps i Azure App Service Skala webbappar
Azure API Management-tjänsten Skala en Azure API Management-instans automatiskt
Azure Data Explorer-kluster Hantera skalning av Azure Data Explorer-kluster för att hantera föränderlig efterfrågan
Azure Stream Analytics Enheter för automatisk skalning av strömning (förhandsversion)
Azure SignalR Service (Premium-nivå) Skala enheter automatiskt för en Azure SignalR-tjänst
Azure Machine Learning-arbetsyta Autoskalning av en onlineslutpunkt
Azure Spring Apps Konfigurera autoskalning för program
Azure Media Services Autoskalning i Media Services
Azure Service Bus Uppdatera meddelandeenheter i ett Azure Service Bus-namnområde automatiskt
Azure Logic Apps – Integration Service Environment (ISE) Lägg till ISE-kapacitet

Nästa steg

Mer information om autoskalning finns i följande resurser: