# Vercel of zelf hosten: wat past bij jouw product?

URL: https://brainpowergroup.eu/nl/blog/vercel-of-zelf-hosten
Datum: 2026-08-05
Door: Bas Leijder Havenstroom, Brainpower Group

Voor een klein Next.js-team is Vercel meestal de snelste weg naar productie. Zelf hosten in Docker loont bij constant verkeer of als je al servers en beheer hebt.

Voor een klein team met een Next.js-product, waarin niemand servers wil beheren, is Vercel meestal de snelste weg naar productie. Zelf hosten met Docker wordt interessant zodra je voorspelbare kosten wilt, je verkeer constant is of je al servers hebt en iemand die ze bijhoudt. Deze site hosten we zelf, in een Docker-container, en toch zou ik voor sommige klanten Vercel kiezen.

## Wat je bij Vercel betaalt

Het gratis Hobby-plan valt voor een bedrijf af. Vercel beperkt Hobby in zijn eigen voorwaarden tot persoonlijk, niet-commercieel gebruik, dus voor een product waar je geld mee verdient zit je minimaal op Pro.

Pro kost 20 dollar per maand, met één seat die mag deployen en 20 dollar aan gebruikstegoed. Elke extra developer die deployt kost 20 dollar per maand, viewers zijn gratis. Met vijf developers die deployen betaal je dus 100 dollar per maand voordat er één request is verwerkt. Alle bedragen zijn exclusief btw.

Daarbovenop komt het gebruik. Functies rekenen af op actieve CPU-tijd en op geheugen. CPU telt alleen terwijl je code echt draait, niet terwijl hij wacht op een database of een externe API, maar geheugen loopt door zolang een instantie requests afhandelt. Een API die vooral wacht, is op Vercel dus relatief goedkoop. Beeldbewerking en zware berekeningen kosten meer.

Vercel stuurt standaard een melding bij 200 dollar per factuurperiode. Mijn advies is om op dag één een eigen grens en een automatische actie in te stellen, zodat je na een drukke maand niet schrikt van de rekening.

## Waar je op moet letten bij Vercel

Nieuwe projecten draaien hun functies standaard in Washington D.C. (`iad1`). Voor een Europees product met een database in Frankfurt gaat dan elke databasequery de oceaan over en terug. Zet de regio in de projectinstellingen of in `vercel.json` dicht bij je database, bijvoorbeeld Frankfurt (`fra1`), Parijs (`cdg1`) of Dublin (`dub1`). Dat scheelt latency, en voor je AVG-documentatie is het ook prettiger als je functies in de EU draaien.

Functies hebben een maximale duur. Op Hobby is dat 300 seconden, op Pro is de standaard ook 300 seconden en kun je hem verhogen tot 800. Lange imports, rapportages of AI-taken die minuten duren, horen daarom in een queue met een aparte worker.

De afhankelijkheid zit minder in Next.js dan je misschien denkt. Volgens de Next.js-documentatie ondersteunen een gewone Node.js-server en een Docker-container alle functies van het framework. De lock-in zit in de diensten eromheen, zoals opslag (Blob), configuratie (Global Config) en firewallregels die je in het Vercel-dashboard instelt. Hoe meer je daarvan gebruikt, hoe meer werk een verhuizing wordt.

## Wat zelf hosten met Docker betekent

Deze site is een Next.js-app met `output: "standalone"`. Bij elke push naar `main` bouwt GitHub Actions er een Docker-image van en zet het in een container registry. Waar dat image daarna draait, maakt voor de app niet uit.

Wat je wel zelf regelt:

- een reverse proxy voor de container (Next.js raadt dat zelf aan, voor rate limiting, limieten op de grootte van requests en trage verbindingen),
- updates van het besturingssysteem en van de base image,
- monitoring en logs,
- backups van alles wat geen container is, zoals je database,
- iemand die opneemt als het 's nachts misgaat.

Met één instantie werkt Next.js direct. Zet je er twee of meer achter een load balancer, dan regel je een paar dingen zelf. De cache staat standaard op de lokale schijf van elke instantie, dus je hebt een gedeelde cache handler nodig, bijvoorbeeld op Redis. Alle instanties moeten dezelfde sleutel voor Server Functions gebruiken (`NEXT_SERVER_ACTIONS_ENCRYPTION_KEY`). Met een vaste `deploymentId` voorkom je bovendien dat browsers tijdens een uitrol bestanden van de oude versie opvragen.

## Vast bedrag of betalen per gebruik

Een VPS of een VM bij een cloudprovider kost elke maand hetzelfde, of er nu tien of tienduizend bezoekers komen. Bij Vercel groeit de rekening mee met je verkeer en je team. Bij weinig of wisselend verkeer is Vercel daardoor vaak goedkoper, bij constant veel verkeer of veel rekenwerk wint meestal een eigen server.

Reken bij zelf hosten wel de uren mee. Een server die niemand bijhoudt, is goedkoop tot de dag dat hij omvalt. Ik zou elke maand een paar uur onderhoud inplannen, ook als er niets aan de hand lijkt, voor updates en om een restore te testen. Waar cloudkosten meestal weglekken, staat in [cloudkosten onder controle](/nl/blog/cloudkosten-onder-controle).

## Welke keuze bij welke situatie

| Situatie | Mijn keuze |
|---|---|
| Nieuw product, klein team, niemand voor beheer | Vercel Pro, functies in een EU-regio, met een uitgavengrens |
| Constant verkeer, veel rekenwerk of lange taken | Docker op een eigen VPS of in je eigen cloudaccount |
| Database, workers en queues draaien al in containers | Docker, zodat alles op één plek staat |
| Frontend die vaak verandert, API apart | Frontend op Vercel, API en workers in containers dicht bij de database |

In elke situatie zou ik een werkende Dockerfile in de CI houden, ook als je op Vercel draait. Dan weet je dat je kunt verhuizen, en dat zegt meer dan een migratieplan op papier. Aleksa werkt de afweging tussen functies en eigen servers verder uit in [serverless of eigen servers](/nl/blog/serverless-of-eigen-servers), en wanneer containers op een cluster horen in [heb je Kubernetes nodig](/nl/blog/heb-je-kubernetes-nodig).

## Hoe wij het doen

Voor onze eigen site kozen we Docker. Bij klanten werken onze developers op het platform dat de klant al gebruikt, zoals Azure, AWS, Google Cloud of eigen servers. Met welke stacks en platforms we werken, zie je op de pagina [technologie](/nl/technologie).

## Bronnen

- [Vercel: Hobby plan](https://vercel.com/docs/plans/hobby)
- [Vercel: Pro plan](https://vercel.com/docs/plans/pro-plan)
- [Vercel: Fluid compute pricing](https://vercel.com/docs/functions/usage-and-pricing)
- [Vercel: regio's voor Vercel Functions instellen](https://vercel.com/docs/functions/configuring-functions/region)
- [Next.js: Deploying](https://nextjs.org/docs/app/getting-started/deploying)
- [Next.js: Self-hosting](https://nextjs.org/docs/app/guides/self-hosting)

## Veelgestelde vragen

**Mag je het gratis Hobby-plan van Vercel zakelijk gebruiken?**

Nee. Vercel beperkt het Hobby-plan tot persoonlijk, niet-commercieel gebruik. Voor een product waar je geld mee verdient heb je minimaal het Pro-plan nodig.

**Werkt Next.js zonder Vercel net zo goed?**

Ja. Volgens de Next.js-documentatie ondersteunen een Node.js-server en een Docker-container alle functies. Draai je meer dan één instantie, dan regel je zelf een gedeelde cache en één encryptiesleutel voor Server Functions.

**Wat kost Vercel Pro per maand?**

Pro kost 20 dollar per maand, inclusief één seat die mag deployen en 20 dollar gebruikstegoed. Elke extra seat die deployt kost 20 dollar per maand. Gebruik boven het tegoed betaal je per eenheid, alles exclusief btw.

---

Bron: https://brainpowergroup.eu/nl/blog/vercel-of-zelf-hosten
Brainpower Group, contact: https://brainpowergroup.eu/nl/contact, hello@brainpowergroup.eu
