Hoe werkt autoscaling in Azure en wanneer zet je het in?
Autoscaling in Azure werkt door automatisch rekencapaciteit toe te voegen of te verwijderen op basis van vooraf ingestelde regels of meetgegevens zoals CPU-gebruik, geheugenverbruik of het aantal inkomende verzoeken. Dit gebeurt zonder handmatige tussenkomst, waardoor applicaties stabiel blijven onder wisselende belasting. In dit artikel beantwoorden we de meest gestelde vragen over autoscaling in Azure, van de basiswerking tot veelgemaakte fouten. Wil je alvast weten welke trainingen hierbij aansluiten? Bekijk dan ons trainingsaanbod.
Hoe schaalt Azure automatisch op en af?
Azure schaalt automatisch op en af door continu telemetrie te monitoren en die te vergelijken met drempelwaarden die jij instelt. Wanneer een drempelwaarde wordt overschreden, zoals een CPU-gebruik boven de 70 procent gedurende vijf minuten, voegt Azure extra instanties toe. Zodra de belasting daalt, worden overbodige instanties weer verwijderd om kosten te besparen.
Het mechanisme achter automatisch schalen in Azure steunt op de Azure Monitor-service. Deze verzamelt metrische gegevens van je resources en stuurt signalen naar de autoscaling-engine. Die engine vergelijkt de actuele waarden met de door jou gedefinieerde regels en beslist of er opgeschaald of afgeschaald moet worden.
Belangrijk om te begrijpen is dat Azure werkt met een cooldown-periode: een korte wachttijd na een schaalactie voordat een nieuwe actie wordt uitgevoerd. Dit voorkomt dat het systeem te snel heen en weer schakelt, ook wel “flapping” genoemd. Een goed geconfigureerde cooldown-periode is dan ook essentieel voor stabiel gedrag.
Welke Azure-services ondersteunen autoscaling?
Meerdere Azure-services ondersteunen autoscaling, waaronder Azure Virtual Machine Scale Sets, Azure App Service, Azure Kubernetes Service, Azure Spring Apps en Azure Service Fabric. Elk van deze diensten heeft zijn eigen implementatie van automatisch schalen, afgestemd op het type workload dat het beheert.
- Azure Virtual Machine Scale Sets (VMSS): Ideaal voor het horizontaal schalen van identieke virtuele machines. Je definieert een minimum en maximum aantal instanties en de regels die bepalen wanneer er geschaald wordt.
- Azure App Service autoscaling: Geschikt voor webapplicaties en API’s. Schalen gebeurt op basis van HTTP-wachtrijen, CPU of aangepaste metrische gegevens.
- Azure Kubernetes Service (AKS): Ondersteunt zowel de Horizontal Pod Autoscaler als de Cluster Autoscaler, waarmee zowel pods als nodes automatisch worden beheerd.
- Azure Spring Apps en Service Fabric: Bieden vergelijkbare mechanismen voor microservicearchitecturen.
De keuze voor de juiste service hangt af van je architectuur en het type applicatie. Voor traditionele VM-workloads zijn Azure Scale Sets de meest directe keuze, terwijl containergebaseerde workloads beter passen bij AKS.
Wat is het verschil tussen verticaal en horizontaal schalen in Azure?
Verticaal schalen betekent dat je de capaciteit van een bestaande resource vergroot, bijvoorbeeld door een VM te upgraden naar een grotere SKU met meer CPU en geheugen. Horizontaal schalen voegt extra instanties toe van dezelfde resource. Azure autoscaling richt zich vrijwel uitsluitend op horizontaal schalen, omdat dit zonder downtime en volledig geautomatiseerd kan plaatsvinden.
Verticaal schalen in Azure
Bij verticaal schalen, ook wel “scale up” of “scale down” genoemd, verander je de grootte van een bestaande resource. Dit vereist doorgaans een herstart van de VM of service, wat leidt tot een korte onderbreking. Het is minder geschikt voor automatisering in productieomgevingen, maar kan zinvol zijn voor databases of legacy-applicaties die niet eenvoudig horizontaal te schalen zijn.
Horizontaal schalen in Azure
Bij horizontaal schalen, ook wel “scale out” of “scale in” genoemd, worden extra instanties toegevoegd of verwijderd. Dit is de basis van Azure autoscaling en werkt het beste voor stateless applicaties, zoals webservers en API-lagen. Omdat elke instantie identiek is, kan Azure naadloos capaciteit toevoegen zonder de bestaande instanties te verstoren.
Wanneer is autoscaling in Azure zinvol?
Autoscaling in Azure is zinvol wanneer je workloads onvoorspelbare of sterk wisselende belasting kennen, wanneer beschikbaarheid kritisch is, of wanneer je kosten wilt optimaliseren door capaciteit alleen te betalen wanneer die daadwerkelijk nodig is. Het is minder zinvol voor kleine, stabiele workloads met een constante lage belasting.
Concrete situaties waarin je autoscaling wilt inzetten:
- E-commerceplatforms met piekverkeer rond promoties of feestdagen
- API-lagen die afhankelijk zijn van externe factoren zoals gebruikersgedrag
- Batchverwerkingsprocessen die op vaste tijden grote hoeveelheden data verwerken
- Ontwikkel- en testomgevingen die je buiten kantoortijden wilt terugschalen om kosten te besparen
- SaaS-applicaties met een groeiend gebruikersbestand waarbij je geen overcapaciteit wilt inplannen
Voor workloads met een volledig stabiele en voorspelbare belasting is handmatige of vaste provisioning soms eenvoudiger en kostenefficiënter. Autoscaling brengt namelijk ook configuratiecomplexiteit met zich mee die alleen gerechtvaardigd is als de variabiliteit in belasting dat vereist.
Hoe stel je een autoscaling-regel in Azure in?
Een autoscaling-regel in Azure stel je in via de Azure Portal, Azure CLI, ARM-templates of Bicep. Je navigeert naar de betreffende resource, opent de schaalinstellingen en definieert een profiel met minimale, maximale en standaard instantieaantallen, gevolgd door een of meer regels op basis van metrische gegevens of een schema.
De stappen op hoofdlijnen voor het instellen van autoscaling via de Azure Portal:
- Navigeer naar je resource, bijvoorbeeld een App Service Plan of een VM Scale Set.
- Kies in het linkermenu voor Scale out (App Service plan) of Scaling.
- Schakel over van handmatig schalen naar Custom autoscale.
- Definieer een schaalprofiel met een minimum, maximum en standaard instantieaantal.
- Voeg een schaalregel toe op basis van een metriek, zoals CPU-percentage, en stel de drempelwaarde, operator en actie in.
- Voeg een bijbehorende schaalregel in voor het afschalen, zodat het systeem ook terugschaalt wanneer de belasting daalt.
- Sla de instellingen op en monitor de werking via Azure Monitor.
Let erop dat je altijd zowel een opschaalregel als een afschaalregel definieert. Zonder afschaalregel blijven instanties actief, ook als de belasting is gedaald, wat onnodige kosten oplevert.
Welke veelgemaakte fouten moet je vermijden bij Azure autoscaling?
De meest voorkomende fouten bij het configureren van Azure autoscaling zijn het ontbreken van een afschaalregel, een te korte cooldown-periode, het gebruik van te gevoelige drempelwaarden en het niet testen van de schaalconfiguratie onder realistische belasting. Deze fouten leiden tot instabiel gedrag, onverwachte kosten of juist onvoldoende capaciteit op kritieke momenten.
Een overzicht van de fouten die je wilt vermijden:
- Geen afschaalregel definiëren: Zonder deze regel schaalt Azure wel op maar nooit af, wat resulteert in blijvend hoge kosten.
- Te agressieve drempelwaarden: Als je instelt dat er al bij 30 procent CPU-gebruik geschaald wordt, kunnen kleine pieken continu schaalacties triggeren.
- Te korte cooldown-periode: Hierdoor kunnen meerdere schaalacties elkaar snel opvolgen, wat leidt tot instabiliteit.
- Geen minimum instantieaantal instellen: Als alle instanties worden afgeschaald en er plotseling veel verkeer binnenkomt, duurt het even voordat nieuwe instanties beschikbaar zijn. Een minimum van minstens één instantie is aan te raden.
- Schalen op de verkeerde metriek: CPU is niet altijd de beste indicator. Voor webapplicaties is het aantal HTTP-verzoeken in de wachtrij vaak een betere maatstaf.
- Geen load testing uitvoeren: Zonder tests weet je niet of je configuratie daadwerkelijk werkt zoals verwacht onder piekomstandigheden.
Hoe Startel helpt met Azure autoscaling
Azure autoscaling is een krachtig mechanisme, maar het vereist een solide begrip van Azure Monitor, schaalprofielen, metrische gegevens en architectuurprincipes. Wij bieden gerichte Azure-trainingen die je helpen deze kennis op te bouwen en direct toe te passen in jouw werkomgeving. Wat je bij ons kunt verwachten:
- Praktijkgerichte trainingen voor Azure-architectuur en beheer, inclusief autoscaling en Azure Scale Sets
- Begeleiding bij Microsoft-certificeringen zoals AZ-104 en AZ-305, waarbij schalen en beschikbaarheid centrale thema’s zijn
- Flexibele leervormen: klassikaal, live online of zelfstudie, afgestemd op jouw planning
- Maatwerk voor organisaties die hun teams willen bijscholen op specifieke Azure-onderdelen
Wil je jouw Azure-kennis verdiepen en leren hoe je autoscaling correct inricht? Neem dan gerust contact met ons op en we bespreken welke training het beste bij jouw situatie aansluit.
