Definitie: Serverless is een manier om software in de cloud te draaien waarbij de cloudaanbieder de servers volledig beheert en automatisch op- en afschaalt, zodat ontwikkelaars alleen de code aanleveren. Je betaalt per gebruik in plaats van voor servers die continu klaarstaan.

In het kort

  • Serverless betekent niet dat er geen servers zijn, maar dat jij ze niet ziet, inricht of onderhoudt.
  • De bekendste vorm is Functions as a Service (FaaS): kleine functies die alleen draaien als ze worden aangeroepen, bijvoorbeeld door een upload of een formulier.
  • Bekende diensten zijn AWS Lambda, Azure Functions, Google Cloud Functions en Cloudflare Workers.
  • Serverless past goed bij wisselend of onvoorspelbaar gebruik; bij een constante, hoge belasting kan een vaste server goedkoper zijn.

Wat is serverless?

Traditioneel draait een webapplicatie op een server die dag en nacht aanstaat. Iemand moet die server inrichten, het besturingssysteem bijwerken, de beveiliging bijhouden en zorgen dat er genoeg capaciteit is voor drukke momenten. Ook als er ’s nachts niemand de applicatie gebruikt, betaal je voor die server.

Serverless draait dat om. Je levert de code aan bij een cloudaanbieder, en die zorgt dat de code wordt uitgevoerd op het moment dat het nodig is. Komen er veel verzoeken tegelijk binnen, dan schaalt de aanbieder automatisch op. Is het stil, dan draait er niets en betaal je ook vrijwel niets. KPN beschrijft serverless als een verdere abstractie van PaaS: ontwikkelaars hoeven niet meer na te denken over servers, besturingssystemen of serversoftware.

De naam is dus wat misleidend. Er draaien wel degelijk servers, maar die zijn onzichtbaar voor de ontwikkelaar en de opdrachtgever.

Hoe werkt serverless?

Een serverless applicatie bestaat meestal uit kleine functies die elk één taak uitvoeren. Een functie wordt gestart door een gebeurtenis, een zogeheten trigger. Voorbeelden van triggers:

  • Een gebruiker verstuurt een formulier op een website.
  • Er wordt een bestand geüpload, zoals een foto of een pdf.
  • Een andere applicatie stuurt een bericht via een API.
  • Een tijdschema, bijvoorbeeld elke nacht om 02.00 uur.

De functie voert haar taak uit, bijvoorbeeld een afbeelding verkleinen, een e-mail versturen of gegevens opslaan, en stopt daarna weer. Volgens OVHcloud draaien zulke functies in kortstondige containers die alleen bestaan voor één aanroep. Gegevens die bewaard moeten blijven, staan daarom in een aparte database of opslagdienst.

FaaS en BaaS

Serverless wordt in twee vormen gebruikt, die vaak samen voorkomen.

Functions as a Service (FaaS) Backend as a Service (BaaS)
Wat het is Je eigen code als losse functies, uitgevoerd op aanvraag Kant-en-klare backenddiensten, zoals inloggen, database en opslag
Voorbeelden AWS Lambda, Azure Functions, Google Cloud Functions Firebase, Supabase
Jij levert De logica in code Instellingen en koppelingen

Serverless, PaaS, IaaS of een eigen server?

Eigen of virtuele server (IaaS) PaaS Serverless
Beheer servers en besturingssysteem Zelf Aanbieder Aanbieder
Schalen Zelf regelen Deels automatisch Volledig automatisch
Kosten Vast per maand Vast of per gebruik Per aanroep en rekentijd
Draait continu Ja Meestal ja Nee, alleen bij gebruik
Controle Hoog Gemiddeld Lager

Oracle plaatst serverless tussen PaaS en IaaS in: meer flexibiliteit dan PaaS, minder beheer dan IaaS. In de praktijk is het onderscheid niet altijd scherp, omdat aanbieders hun diensten steeds meer mengen.

Voordelen van serverless

  • Geen serverbeheer. De aanbieder regelt besturingssysteem, updates en capaciteit.
  • Automatisch schalen. Een plotselinge piek in gebruik wordt opgevangen zonder dat iemand iets hoeft te doen.
  • Betalen naar gebruik. Volgens KPN kost gebruik buiten piekuren bijna niets.
  • Snel live. Kleine functies zijn snel te bouwen en uit te rollen.
  • Geschikt voor losse taken naast een bestaande applicatie, zoals beeldverwerking of het verwerken van formulieren.

Nadelen en beperkingen

  • Cold start. Een functie die een tijd niet is gebruikt, start bij de eerste aanroep trager op. KPN noemt dit als nadeel.
  • Vendor lock-in. Wikipedia wijst erop dat serverless applicaties standaard vastzitten aan één cloudaanbieder, omdat elke aanbieder eigen diensten en werkwijzen heeft.
  • Lastiger debuggen. Een applicatie die uit veel losse functies bestaat, is moeilijker te volgen als er iets misgaat.
  • Kosten bij constante belasting. Volgens Wikipedia kan het pay-per-use-model voor sommige toepassingen duurder uitvallen dan vaste servers.
  • Beperkte looptijd. Functies zijn bedoeld voor korte taken; langlopende processen passen er minder goed in.
  • Beveiliging blijft jouw verantwoordelijkheid. De aanbieder beveiligt de infrastructuur, maar code, rechten en gegevens blijven jouw zaak.

Wanneer is serverless een goede keuze?

Serverless past goed bij:

  • applicaties met sterk wisselend gebruik, zoals een inschrijfformulier dat vooral rond een evenement druk wordt;
  • losse achtergrondtaken, zoals bestanden omzetten, rapporten maken of meldingen versturen;
  • koppelingen tussen systemen die alleen draaien als er iets gebeurt;
  • prototypes en eerste versies, waarbij je nog niet weet hoeveel gebruik er komt.

Een vaste server of een beheerd hostingplatform is vaak logischer bij een constante, voorspelbare belasting, bij langlopende processen, of als je niet afhankelijk wilt zijn van de specifieke diensten van één cloudaanbieder. OVHcloud raadt serverless af bij voorspelbare workloads en noemt een hybride opzet als tussenweg: een vaste server voor de hoofdapplicatie en serverless functies voor losse taken.

Waar let je op bij serverless?

  • Houd functies klein en stateless, zodat elke functie één duidelijke taak heeft.
  • Geef functies minimale rechten, zodat een fout of lek geen toegang geeft tot de rest van je omgeving.
  • Regel logging en monitoring centraal, zodat je kunt volgen wat er gebeurt.
  • Kies een regio die past bij je eisen voor gegevensopslag, bijvoorbeeld binnen de EU.

Wat kost serverless?

Serverless wordt afgerekend op gebruik: het aantal aanroepen en de rekentijd en het geheugen die een functie gebruikt. De grote aanbieders hebben vaak een gratis basishoeveelheid per maand. Voor een kleine applicatie met beperkt gebruik kan de rekening daardoor erg laag zijn. Bij veel gebruik lopen de kosten op, en omdat de prijs afhangt van gebruik is die lastiger vooraf te voorspellen. Houd ook rekening met kosten voor de database, opslag en dataverkeer, die vaak apart worden gerekend. Stel bij de aanbieder budgetwaarschuwingen in, zodat een onverwachte piek of een fout in de code niet tot een hoge rekening leidt.

Wat betekent dit voor jouw project?

Hosting is een keuze die volgt uit het gebruik. Ik kijk daarom eerst naar het proces: wat komt binnen, wie moet ermee verder en welke informatie heeft die persoon nodig? Daaruit volgt hoe vaak de applicatie wordt gebruikt, hoe groot de pieken zijn en welke taken op de achtergrond moeten draaien.

Serverless kan een goede keuze zijn voor losse taken of wisselend gebruik. Voor een bedrijfsapplicatie die de hele dag door gebruikt wordt, is een vaste of beheerde omgeving vaak overzichtelijker. Belangrijk is dat je weet waar de applicatie draait, wie het beheer doet en hoe afhankelijk je bent van één aanbieder.

Twijfel je hoe je een applicatie het beste laat draaien? Stuur me voor wie het is, hoe vaak het gebruikt wordt en wat de eerste versie moet oplossen. Dan bepalen we samen de logische eerste stap.

Veelgestelde vragen over serverless

Wat is serverless?

Serverless is een cloudmodel waarbij de aanbieder de servers volledig beheert en automatisch schaalt, en jij alleen de code aanlevert. Je betaalt per gebruik in plaats van voor servers die continu draaien.

Wat is een serverless architectuur?

Een serverless architectuur is een opbouw van een applicatie uit kleine functies en beheerde clouddiensten die alleen draaien wanneer een gebeurtenis ze start. Gegevens staan in aparte databases of opslagdiensten, omdat de functies zelf niets bewaren.

Is serverless goedkoper dan een eigen server?

Bij wisselend of laag gebruik is serverless vaak goedkoper, omdat je alleen betaalt als de code draait. Bij een constante, hoge belasting kan een vaste server goedkoper uitvallen.

Verwante termen

Schaalbaarheid · Vendor lock-in · Software-architectuur · Backend · API · Datasoevereiniteit en EU-hosting

← Terug naar de kennisbank