Direct naar inhoud
Bouwhuis IT
DeploymentHosting

Je hebt een app ge-vibe-code'd. En nu?

Tools als Claude Code, Cursor en Bolt hebben het ongelooflijk makkelijk gemaakt om werkende applicaties te bouwen. Onze CEO bij Speakup is zelf interne dashboards en tools gaan bouwen. Dat is gaaf.

Maar ik merkte iets: hij had nog steeds het NOC-team nodig om de app te deployen en zaken als e-mail en DNS werkend te krijgen. Dat is geen uitzondering, dat is de regel.

Bouwen is makkelijk geworden. Deployen niet.

AI heeft het bouwen gedemocratiseerd. Je kunt in een weekend een werkende applicatie neerzetten. Maar zodra je localhost:3000 wilt vervangen door een echt domein, loop je tegen dezelfde muur als altijd:

  • Waar draai je dit, en hoe kies je dat?
  • DNS-records: A, AAAA, CNAME. Wat moet waarheen?
  • HTTPS via Let’s Encrypt: automatisch vernieuwen, of handmatig en vergeten?
  • Database: draait die in je container? Overleeft die een herstart?
  • Back-ups: wie maakt ze, waar staan ze, en heb je ooit een restore getest?
  • E-mail: stuurt je app mail zonder SPF, DKIM en DMARC, dan belandt alles in spam.

Een echt voorbeeld

Iemand bouwt een app. Frontend, backend, database: het werkt lokaal. Dan:

$ ssh root@mijn-vps
$ git clone ...
$ docker compose up -d
$ # ...en nu?

De app draait. Maar er is geen reverse proxy, geen TLS, geen domein gekoppeld. De database heeft geen volume, dus bij een herstart van de container is alles weg. Er is geen monitoring, dus als de app om drie uur ’s nachts omvalt, merkt niemand het tot de volgende ochtend.

Dit is geen hypothetisch scenario. Dit is wat ik regelmatig tegenkom.

Wat er eigenlijk moet gebeuren

Een minimale productie-opzet voor een webapplicatie ziet er ongeveer zo uit:

  • Reverse proxy met automatisch TLS.
  • DNS correct geconfigureerd, inclusief CAA-records.
  • Database met persistente opslag en dagelijkse back-ups.
  • Environment-variabelen buiten de repository, niet hardcoded.
  • Monitoring: minimaal uptime-checks en een melding bij een vollopende schijf.
  • Firewall: alleen de poorten open die je nodig hebt.
  • CI/CD: een push naar main betekent een uitrol.

Geen van deze dingen is ingewikkeld. Maar als je ze nooit eerder hebt gedaan, kost het je dagen uitzoeken. En doe je het verkeerd, dan merk je het pas als het te laat is.

Precies daarom doe ik dit werk: je geeft me je repository en ik regel de hele stack, op Nederlandse infrastructuur die ik zelf beheer. Zie Linux en servers of bel gewoon even.

Lees de uitgebreide versie op mijn persoonlijke blog →

Hulp nodig met dit onderwerp?

Dit is precies het soort werk waarvoor bedrijven mij inhuren. Bellen mag direct. Mail beantwoord ik meestal dezelfde werkdag.