Kernprincipes voor het opschalen:
Er zijn twee primaire manieren van schalen: horizontaal en verticaal schalen.
- Horizontaal schalen (scale out/in): Horizontaal schalen houdt in dat je meer resources toevoegt. Bijvoorbeeld extra virtuele machines of containers. Deze aanpak is ideaal voor applicaties die over meerdere nodes draaien en de werkbelasting gelijkmatig verdelen. Stateless applicaties, waarbij sessiegegevens extern worden opgeslagen, profiteren het meest van horizontaal schalen.
- Verticaal schalen (scale up/down): Verticaal schalen houdt in dat je de capaciteit van een enkele resource verhoogt of verlaagt, zoals het toevoegen van meer CPU of geheugen aan een bestaande VM. Hoewel verticaal schalen eenvoudiger te implementeren is, heeft het beperkingen voor hardware en kan het downtime veroorzaken tijdens het schalen.
Zowel horizontaal als verticaal schalen kan handmatig of automatisch worden uitgevoerd. Handmatig schalen vereist directe interventie om resources aan te passen, wat inefficiënt kan zijn en gevoelig is voor menselijke fouten. Automatisch schalen daarentegen gebruikt vooraf gedefinieerde regels en metingen om resources dynamisch aan te passen op basis van de vraag, wat zorgt voor optimale prestaties zonder constante controle.
Om volledig te profiteren van deze manier van schalen, dient je applicatie ontworpen te zijn met het idee van willen opschalen al aanwezig tijdens het ontwerpproces. Dit houdt vaak in dat je stateless architecturen en efficiënte staatbeheertechnieken toepast, zoals het gebruik van Azure Kubernetes, Azure Storage of Azure Redis Cache voor het extern opslaan van sessiegegevens.
Azure’s schaalcapaciteit:
Azure biedt een krachtig pakket van tools om horizontaal en verticaal te kunnen schalen, of je het nu handmatig of automatisch beheert. Denk aan:
- Horizontaal schalen:
- Virtual Machine scale sets: Maak en beheer een groep load-balanced virtuele machines, waarbij je het aantal instanties automatisch aanpast op basis van vraag of een gedefinieerd schema.
- Azure App services: Een volledig beheerd platform voor het bouwen, implementeren en schalen van webapps, met ondersteuning voor automatische schaalvergroting op basis van vooraf gedefinieerde regels en realtime metrics.
- Azure Kubernetes Service (AKS): Vereenvoudigt de implementatie, het beheer en de schaalvergroting van containerized applicaties met Kubernetes, en biedt naadloos horizontaal schalen.
- Azure functions: Een serverless compute service die automatisch schaalt op basis van vraag en alleen kosten in rekening brengt voor de compute-resources die je gebruikt.
- Verticaal schalen:
- Azure App Services: Verhoog de hardwarebronnen (CPU, geheugen, opslag) van een enkele instantie, waardoor de prestaties en capaciteit verbeteren zonder extra instanties toe te voegen, ideaal voor compute-intensieve taken.
- Azure SQL database: Schaal je databasebronnen op of neer om een optimale applicatieprestatie te garanderen.
- Automatisch schalen: Zelfs als je begint met handmatig schalen, biedt Azure tools om deze processen te automatiseren, waardoor je tijd bespaart en het risico op fouten vermindert. Diensten zoals Azure Automation en Azure DevOps helpen je bij het maken van scripts en workflows die automatisch je resources aanpassen op basis van realtime gegevens en vooraf gedefinieerde regels, wat een soepele overgang van handmatig naar automatisch schalen mogelijk maakt.
- Schalen binnen verschillende regio’s: Azure biedt uitgebreide schaalbaarheid binnen individuele regio’s, maar om bijna onbeperkte schaalbaarheid en verbeterde veerkracht te bereiken, kan je overwegen om je workloads over meerdere regio’s te verdelen. Deze aanpak maximaliseert de schaalbaarheid en biedt redundantie, zodat je regio’s kunt kiezen op basis van kosten-efficiëntie, latency en regelgeving. Door verschillende Azure-regio’s te combineren, kun je een op maat gemaakte ‘Europe-regio’ creëren die je platform optimaliseert voor zowel prestaties als kosten.
Het voordeel van besparen op kosten
Het bouwen van een schaalbare oplossing op Azure biedt aanzienlijke kostenvoordelen. Auto-scaling stelt je in staat om resources te verminderen tijdens periodes van lage vraag, wat de kosten verlaagt, en te verhogen wanneer nodig om de prestaties te behouden. Dit dynamisch resourcebeheer helpt de prestaties en kosten in balans te houden, zodat je de beste waarde uit je cloudinvestering haalt.
Afsluitend
Azure's robuuste schaalcapaciteiten stellen je in staat om je IT-oplossingen efficiënt op te schalen om aan de vraag te voldoen. Door horizontaal en verticaal schalen te begrijpen en gebruik te maken van Azure’s tools voor handmatig en automatisch schalen, kun je de prestaties en kosten-efficiëntie van je applicatie aanzienlijk verbeteren. Azure’s wereldwijde infrastructuur biedt ook uitzonderlijke schaalbaarheid en redundantie over regio's.
Dit artikel heeft aangetoond dat het integreren van Azure’s schaalservices in je ontwerp kan resulteren in een schaalbare, veerkrachtige en kosteneffectieve oplossing. Het is belangrijk om schalen al tijdens het ontwerpproces te overwegen. Vergeet niet dat Azure verschillende diensten biedt die je flexibiliteit en kracht geven om je aan veranderende behoeften aan te passen.