Mijn oude Petsy server stond bij Digital Ocean in Amsterdam. Een enkele virtuele machine, opgezet via het dashboard. Voor elke installatie – Node.js, database, reverse proxy – logde ik in via SSH en voerde ik commando's uit. Stap voor stap, keer op keer.
Het werkte. Maar het was fragiel. Als de server crashte, moest ik alles opnieuw doen. De stappen stonden in mijn hoofd, niet ergens anders. Geen documentatie, geen backup-plan. Gewoon hoping for the best.
Bij elke update was hetzelfde ritueel: inloggen, de juiste commando's zoeken, hopen dat ik niets vergat. Energie die ik liever in het product zou steken, ging naar het draaiende houden van de infrastructuur.
Toen ik besloot om Petsy te moderniseren, wist ik DIRECT dat ik dit anders wilde aanpakken. Niet meer handmatig, maar gecodeerd.
Mijn nieuwe keuze: Hetzner in Duitsland. Betere privacywetgeving dan Nederland, en een stuk goedkoper dan Digital Ocean.
Maar het echte verschil zit in de aanpak. Alle infrastructuur nu in Terraform – de server, de firewall, de DNS, alles. Eén commando en de hele omgeving staat.
Wat levert dat op?
**Reproduceerbaarheid.** Een nieuwe testomgeving in minuten, niet uren.
**Veiligheid.** Elke wijziging gaat door versiebeheer. Wat er staat, is exact vastgelegd.
**Teamwerk.** De configuratie staat in de repo. Iedereen kan zien hoe het zit, zonder dat ik het hoef uit te leggen.
Voor een solo developer klinkt dat misschien overdreven. Toch niet. De tijd die ik eerst kwijt was aan handmatig geklooi, steek ik nu in bouwen. En als er iets misgaat, draai ik terraform apply en staat alles weer.