Serverless is een manier om software te draaien waarbij jij de code schrijft en de cloudprovider alles eronder regelt: de servers, het besturingssysteem, schalen en updates. Je code draait in kleine functies die wakker worden als er werk is en weer stoppen als er niets te doen is. Je betaalt voor die draaitijd, niet voor een stilstaande machine.

Stel je voor dat je een vergaderruimte per minuut huurt in plaats van een heel kantoor te leasen. Je betaalt alleen als je de ruimte echt gebruikt, en als er ineens twintig teams opdagen, vindt het gebouw voor allemaal een kamer. Serverless werkt net zo: het schaalt automatisch mee met de vraag via auto-scaling, en het kost niets als er niets gebeurt. Het is een model dat volledig in cloud computing leeft.

Dit past goed bij grillig of onvoorspelbaar verkeer, achtergrondtaken en API’s die een paar duizend aanroepen per dag krijgen. Bij constant zwaar verkeer is een gewone server vaak goedkoper. Het klassieke voorbeeld is een functie die een afbeelding verkleint zodra een gebruiker er een uploadt: in een druk uur gaat hij duizend keer af en daarna staat hij ‘s nachts stil, zonder dat het iets kost terwijl hij wacht. Er is wel een afweging om op te letten. Heeft een functie een tijdje niet gedraaid, dan moet het eerste verzoek wachten tot de provider hem opstart. Die vertraging heet een cold start en kan die ene aanroep een fractie van een seconde kosten. Voor de meeste taken merkt niemand het. Voor een afrekenpagina waar elke milliseconde telt, is het iets om omheen te ontwerpen. De grote providers, AWS Lambda, Google Cloud Functions en Cloudflare Workers, pakken dit elk anders aan, dus de juiste keuze hangt af van wat de code echt doet.

Bij TopDevs kiezen we voor serverless als het verkeer van een klant wisselend is, omdat de hostingkosten zo meebewegen met het echte gebruik in plaats van met capaciteit die meestal stilstaat.