Auto-scaling is een opzet waarbij je systeem zelf rekenkracht bijzet of weghaalt, op basis van hoe druk het is. Als het verkeer stijgt, komen er meer servers bij om alles snel te houden. Als het verkeer daalt, gaan die extra servers weer uit, zodat je niet betaalt voor capaciteit die je niet nodig hebt.

Stel je een restaurant voor dat extra koks kan oproepen op het moment dat de avondspits losbarst, en ze naar huis stuurt zodra het rustig wordt. Op een stille dinsdag draai je met een klein team. Op een volle zaterdag groeit de keuken mee met de drukte, om daarna weer te krimpen. Auto-scaling geeft software diezelfde rek, meestal samen met een load balancer die verzoeken verdeelt over de servers die op dat moment draaien.

Dit is eigenlijk alleen logisch bij cloud computing, waar je capaciteit per minuut kunt huren. Groeien kan op twee manieren. Horizontaal schalen zet er meer servers bij en is wat de meeste mensen met auto-scaling bedoelen. Verticaal schalen maakt één server groter, met meer geheugen of CPU, en kent een plafond. De meeste cloudopzetten leunen op de horizontale variant, omdat je vrijwel eindeloos servers kunt blijven bijzetten. De afweging zit in de timing: opschalen kost even, vaak een minuut of twee terwijl een nieuwe server opstart, dus de regels moeten net iets eerder reageren. Zet je de trigger te hoog, dan zit een gebruiker op een trage site voordat de hulp er is. En je wilt nog steeds goede monitoring die de belasting in de gaten houdt, want een schaalregel is zo goed als de waarde waar hij op reageert.

Bij TopDevs zetten we auto-scaling op zodat je app snel blijft tijdens een launch of een piek, zonder dat je de rest van de maand voor stilstaande servers betaalt.