Översikt över autoskalning i Microsoft Azure

Den här artikeln beskriver vad Microsoft Azure autoskalning är, dess fördelar och hur du kommer igång med det.

Azure Monitor autoskalning gäller endast för Virtual Machine Scale Sets,Cloud Services, App Service - Web Apps, API Management tjänsteroch Azure Data Explorer kluster.

Anteckning

Azure har två metoder för automatisk skalning. En äldre version av autoskalning gäller för Virtual Machines (tillgänglighetsuppsättningar). Den här funktionen har begränsat stöd och vi rekommenderar att du migrerar till VM-skalningsuppsättningar för snabbare och mer tillförlitligt stöd för autoskalning. En länk om hur du använder äldre teknik finns i den här artikeln.

Vad är autoskalning?

Med autoskalning kan du köra rätt mängd resurser för att hantera belastningen på ditt program. Det gör att du kan lägga till resurser för att hantera ökad belastning och även spara pengar genom att ta bort resurser som är inaktiva. Du anger ett minsta och högsta antal instanser som ska köras och lägger till eller tar bort virtuella datorer automatiskt baserat på en uppsättning regler. Om du har ett minimum ser du till att programmet alltid körs även utan belastning. Genom att ha en maxgräns får du en total kostnad per timme. Du skalar automatiskt mellan dessa två extremfall med hjälp av regler som du skapar.

Autoscale explained. Add and remove VMs

När regelvillkor uppfylls utlöses en eller flera autoskalningsåtgärder. Du kan lägga till och ta bort virtuella datorer eller utföra andra åtgärder. Följande konceptuella diagram visar den här processen.

Autoscale Flow Diagram

Följande förklaring gäller för delarna i föregående diagram.

Resursmått

Resurser ger mått. De här måtten bearbetas senare av regler. Mått kommer via olika metoder. VM-skalningsuppsättningar använder telemetridata från Azure Diagnostics-agenter medan telemetri för webbappar och molntjänster kommer direkt från Azure-infrastrukturen. Exempel på statistik som används ofta är CPU-användning, minnesanvändning, antal trådar, kölängd och diskanvändning. En lista över vilka telemetridata du kan använda finns i Autoskala vanliga mått.

Anpassade mått

Du kan också använda dina egna anpassade mått som dina program kan generera. Om du har konfigurerat dina program för att skicka mått till Application Insights kan du använda dessa mått för att fatta beslut om du vill skala eller inte.

Tid

Schemabaserade regler baseras på UTC. Du måste ange tidszonen korrekt när du ställer in dina regler.

Regler

Diagrammet visar bara en autoskalningsregel, men du kan ha många av dem. Du kan skapa komplexa överlappande regler efter behov för din situation. Regeltyper omfattar

  • Måttbaserad – gör till exempel den här åtgärden när CPU-användningen är över 50 %.
  • Tidsbaserad – till exempel utlösa en webhook var 8:e dag på lördag i en viss tidszon.

Måttbaserade regler mäter programbelastningen och lägger till eller tar bort virtuella datorer baserat på den belastningen. Med schemabaserade regler kan du skala när du ser tidsmönster i belastningen och vill skala innan en möjlig belastningsökning eller minskning inträffar.

Åtgärder och automatisering

Regler kan utlösa en eller flera typer av åtgärder.

  • Skala – skala in eller ut virtuella datorer
  • E-post – Skicka e-post till prenumerationsadministratörer, medadministratörer och/eller ytterligare e-postadress som du anger
  • Automatisera via webhooks – Anropa webhooks, som kan utlösa flera komplexa åtgärder i eller utanför Azure. I Azure kan du starta en Azure Automation runbook, Azure Function eller Azure Logic App. Exempel på url från tredje part utanför Azure inkluderar tjänster som Slack och Twilio.

Autoskalningsinställningar

Autoskalning använder följande terminologi och struktur.

  • En autoskalningsinställning läses av autoskalningsmotorn för att avgöra om den ska skalas upp eller ned. Den innehåller en eller flera profiler, information om målresursen och meddelandeinställningar.

    • En autoskalningsprofil är en kombination av en:

      • kapacitetsinställning, som anger lägsta, högsta och standardvärden för antalet instanser.

      • uppsättning regler ,som var och en innehåller en utlösare (tid eller mått) och en skalningsåtgärd (upp eller ned).

      • recurrence, som anger när den här profilen ska användas för automatisk skalning.

        Du kan ha flera profiler så att du kan hantera olika överlappande krav. Du kan till exempel ha olika autoskalningsprofiler för olika tider på dagen eller veckodagar.

    • En aviseringsinställning definierar vilka meddelanden som ska ske när en autoskalningshändelse inträffar baserat på att uppfylla kriterierna för en av profilerna för autoskalningsinställningen. Autoskalning kan meddela en eller flera e-postadresser eller göra anrop till en eller flera webhooks.

Azure autoscale setting, profile, and rule structure

Den fullständiga listan över konfigurerbara fält och beskrivningar finns i autoskalnings-REST API.

Kodexempel finns i

Horisontell och vertikal skalning

Autoskalning skalas bara horisontellt, vilket är en ökning ("ut") eller minskning ("in") av antalet VM-instanser. Horizontal är mer flexibelt i en molnläge eftersom det gör att du kan köra potentiellt tusentals virtuella datorer för att hantera belastningen.

Vertikal skalning skiljer sig däremot åt. Det behåller samma antal virtuella datorer, men gör de virtuella datorerna mer ("upp") eller mindre ("ned") kraftfulla. Strömförsörjningen mäts i minne, CPU-hastighet, diskutrymme osv. Vertikal skalning har fler begränsningar. Den är beroende av tillgängligheten för större maskinvara, som snabbt når en övre gräns och kan variera beroende på region. Vertikal skalning kräver också vanligtvis att en virtuell dator stoppas och startas om.

Åtkomstmetoder

Du kan konfigurera autoskalning via

Tjänster som stöds för autoskalning

Tjänst &Schemadokument
Web Apps Skalning Web Apps
Cloud Services Autoskala en molntjänst
Virtual Machines: Klassisk Skala tillgänglighetsuppsättningar för klassiska virtuella datorer
Virtual Machines: Windows skalningsuppsättningar Skala VM-skalningsuppsättningar i Windows
Virtual Machines: Linux Scale Sets Skala VM-skalningsuppsättningar i Linux
Virtual Machines: Windows exempel Avancerad autoskalningskonfiguration med Resource Manager mallar för VM Scale Sets
Azure App Service Skala upp en app i Azure App tjänst
API Management tjänst Skala en Azure API Management-instans automatiskt
Azure Data Explorer kluster Hantera Azure Data Explorer för att hantera föränderlig efterfrågan
Logic Apps Lägga till ISE-kapacitet (Integration Service Environment)
Spring Cloud Konfigurera autoskalning för mikrotjänstprogram
Service Bus Uppdatera meddelandeenheter för ett Azure-Service Bus automatiskt

Nästa steg

Om du vill veta mer om autoskalning kan du använda genomgången av autoskalning som anges tidigare eller referera till följande resurser: