Wat is 'Serverless'?

Serverless is een term die slaat op het gebruik van cloud computing platformen waarbij je enkel de programmacode aanlevert die je wilt laten uitvoeren. Daarbij geef je het beheer van de server(s) die daarvoor nodig zijn, uit handen. Hoewel de term het anders laat uitschijnen, zijn er dus nog steeds servers in het spel. Dit programma draait trouwens enkel op een server wanneer het wordt opgeroepen. Een server die een groot deel van de dag of nacht 'met zijn vingers zit te draaien' is dus verleden tijd. Bijgevolg betaal je enkel voor het effectieve gebruik.

Een voorbeeld van zo'n service is AWS (Amazon Web Services) Lambda. Maar ook andere grote namen zijn ermee bezig: Google (Cloud Functions), Microsoft (Azure Functions) & IBM (OpenWhisk).

De voordelen van Serverless

Omdat je niet louter een programma draait, maar je programma een verzameling is van functies, kan de performantie van elke functie apart geoptimaliseerd worden. Concreet betekent dit dat je enkel betaalt voor de resources die je effectief nodig hebt (pay-per-use). Je hoeft dus niet 24/7 te betalen voor een dure server die voor een groot deel van de tijd nutteloos is én je kan dynamisch bijschalen wanneer extra capaciteit nodig is.

Maar er is ook een keerzijde…

Zoals de titel reeds suggereert, zijn er ook nadelen aan verbonden. Je kan bijvoorbeeld niet zomaar een bestaand programma of webapplicatie omzetten naar een serverless applicatie. Daarvoor moet eerst een volledig nieuwe architectuur worden uitgetekend. 

Ook lenen niet alle soorten applicaties zich tot deze transformatie: real-time grafische programma’s passen minder goed in het serverless model. Back-end systemen, synchronisaties en periodieke berekeningen zijn daarentegen wel uiterst geschikt voor dit model. 

Een ander nadeel treedt op wanneer je je programma in te veel functies opsplitst. Dan zal het geheel namelijk trager werken, omdat het aanroepen van elke functie tijd kost. Ze noemen dit een ‘koude start’. Je kan zo’n functie weliswaar ‘warm’ houden om zo te vermijden dat het vertraagt, maar dat gaat dan weer tegen de hele filosofie van serverless in.

Serverless: interessant of niet?

Serverless betekent niet dat er geen servers meer gebruikt worden, wel dat je het beheer van de servers uit handen geeft. De toepassing is zeker interessant, want je betaalt enkel nog bij het effectief gebruik van de servers en je kan bijschalen wanneer je extra capaciteit nodig hebt. Helaas is het niet geschikt voor elk programma en kunnen zogenaamde ‘koude starts’ voor extra complexiteit zorgen.

Wil je op de hoogte blijven van meer interessant nieuws? Volg dan zeker onze Facebook- en Linkedinpagina!