Ik host vrijwel alles zelf. Kubernetes clusters op refurbished mini-PCs. GitLab op eigen hardware. Vault voor secrets. Monitoring, logging, alles.
Mensen vragen vaak: waarom? Managed cloud is makkelijker. AWS, Azure, Google doen het schaalbaar en betrouwbaar. Waarom zou je jezelf dit aandoen?
Het korte antwoord: agency.
Het lange antwoord is dit hele artikel.
Het spaceship gedachtenexperiment
In mijn post over het ruimtecontainer gedachtenexperiment beschrijf ik een scenario: je wordt wakker in een gesloten container in de ruimte. Alles wat je nodig hebt om te overleven is aanwezig, maar niets gaat erin of eruit.
Wat doe je?
Je gaat je systemen begrijpen. Je leert hoe zuurstof wordt gerecycled, hoe water wordt gezuiverd, hoe energie wordt opgewekt. Je wilt elk onderdeel kennen, omdat je leven ervan afhangt.
Dit is hoe ik naar infrastructuur kijk.
Niet omdat mijn leven er letterlijk van afhangt. Maar omdat ik wil begrijpen wat er gebeurt. Ik wil niet afhankelijk zijn van een black box die “gewoon werkt” — tot het moment dat het niet meer werkt en ik geen idee heb waarom.
Wat is sovereignty?
Digital sovereignty betekent: controle hebben over je eigen digitale infrastructuur, data en processen.
Het tegenovergestelde is afhankelijkheid:
- Je data staat bij een cloud provider die de voorwaarden kan wijzigen
- Je infrastructuur draait op een platform dat je niet begrijpt
- Je bent gebonden aan vendor lock-in die migratie onmogelijk maakt
- Prijzen kunnen stijgen zonder dat je alternatieven hebt
Sovereignty gaat niet over paranoia of wantrouwen. Het gaat over keuzes hebben. Over de vrijheid om te vertrekken als iets niet meer werkt. Over het begrijpen van je eigen systemen.
Waarom dit voor mij werkt
Voor context over hoe mijn brein werkt, zie Werken met een AuDHD-brein.
Mijn AuDHD-brein heeft een diepe behoefte aan:
1. Begrijpen hoe dingen werken
Ik kan niet goed functioneren met black boxes. Als iets kapot gaat, wil ik weten waarom. Niet “het ligt aan AWS”, maar de daadwerkelijke oorzaak. Managed services verbergen complexiteit — dat is hun waarde — maar voor mij voelt die verborgen complexiteit als een splinter in mijn hoofd.
2. Voorspelbaarheid
Cloud pricing is notoir onvoorspelbaar. Egress kosten, API calls, reserved instances, spot pricing — het voelt als een casino. Mijn eigen hardware heeft een vaste maandelijkse stroomrekening. Dat is het.
3. Controle over mijn omgeving
Dit is de autisme-kant: ik wil mijn omgeving kunnen aanpassen aan hoe ik werk, niet andersom. Als een tool niet doet wat ik wil, kan ik de configuratie aanpassen, de source code lezen, of iets anders kiezen. Bij managed services is “computer says no” vaak het eindpunt.
4. Leren door doen
ADHD maakt het moeilijk om te leren door documentatie te lezen. Ik leer door te bouwen, te breken, en te repareren. Mijn homelab is mijn speeltuin. Elke fout is een les die ik echt onthoud.
De praktijk: wat host ik zelf?
Mijn huidige stack draait op refurbished mini-PCs (commodity hardware, geen dure servers):
| Component | Oplossing |
|---|---|
| Kubernetes | K3s met embedded etcd |
| GitOps | ArgoCD (App-of-Apps pattern) |
| CI/CD | GitLab (self-hosted) |
| Secrets | HashiCorp Vault |
| Policy | Kyverno |
| Monitoring | Prometheus + Thanos |
| Logging | Loki |
| Tracing | Tempo |
| Dashboards | Grafana |
| CNI | Cilium (eBPF) |
| Storage | Longhorn + MinIO |
| Certificates | cert-manager |
| Auth | Keycloak |
Alles is GitOps-managed. Configuratie in Git, ArgoCD synchroniseert naar de clusters. Declaratief, reproduceerbaar, auditeerbaar.
Island mode
Een belangrijk ontwerpprincipe: island mode capability. Mijn clusters moeten kunnen functioneren zonder internetverbinding. Dit betekent:
- Lokale container registry mirrors
- Geen harde afhankelijkheden van externe APIs
- Alle secrets lokaal in Vault
- Documentatie lokaal beschikbaar
Niet omdat ik verwacht dat het internet uitvalt. Maar omdat deze constraint dwingt tot robuust ontwerp. Als je systeem offline kan werken, is het per definitie minder fragiel.
De trade-offs
Self-hosting is niet gratis. Dit zijn de kosten:
Tijd
Je bent je eigen ops team. Cluster upgrades, security patches, incident response — dat is jouw werk. Dit kost tijd, vooral in het begin.
Mijn mitigatie: automatisering. K3s upgrades automatiseren, GitOps voor consistentie, Kyverno policies die misconfiguraties voorkomen.
Kennis
Je moet weten wat je doet. Kubernetes is complex. Networking is complex. Security is complex. De leercurve is steil.
Mijn perspectief: dit is een investering, geen kosten. De kennis die ik opdoe door zelf te hosten, maakt me beter in mijn werk. Ik begrijp de abstracties omdat ik de implementaties ken.
Initiële investering
Hardware kost geld. Niet veel — refurbished mini-PCs zijn goedkoop — maar het is een drempel.
De ongoing costs zijn echter lager dan cloud. Mijn hele homelab kost minder stroom per maand dan één managed Kubernetes cluster.
Geen SLA
Als het kapot gaat, is er geen support ticket. Geen “dit is een AWS probleem”. Jij bent het.
Dit is ook een voordeel. Ik wacht niet op support. Ik debug zelf. En door te debuggen, leer ik.
Wanneer wél managed cloud?
Ik ben geen dogmaticus. Managed cloud heeft valide use cases:
Startup die snel moet leveren: Focus op je product, niet op infra. Gebruik managed services totdat schaal of kosten een probleem worden.
Team zonder ops expertise: Als niemand Kubernetes kent, is EKS/GKE/AKS een redelijke keuze. Maar: bouw de kennis op, zodat je later kunt kiezen.
Regulering die het vereist: Sommige compliance requirements zijn makkelijker met certified managed services.
Piekbelasting: Als je 10x autoscaling nodig hebt voor Black Friday, is cloud elasticiteit waardevol.
Het punt is niet “cloud is slecht”. Het punt is: maak een bewuste keuze. Begrijp de trade-offs. Kies niet voor managed “omdat iedereen het doet”, maar omdat het past bij jouw situatie.
De filosofie achter de keuze
Buckminster Fuller noemde de aarde “Spaceship Earth” — een gesloten systeem waar we allemaal astronauten zijn. Zijn punt: we moeten ons systeem begrijpen om het te kunnen onderhouden.
Ik zie mijn infrastructuur hetzelfde. Het is mijn kleine ruimteschip. Ik wil weten hoe de life support werkt. Niet omdat ik cloud providers wantrouw, maar omdat ik geloof in:
Begrijpen boven vertrouwen
Vertrouwen is prima. Maar begrijpen is beter. Als ik snap hoe iets werkt, kan ik het debuggen, optimaliseren, en aanpassen. Als ik alleen vertrouw, ben ik afhankelijk van de goodwill en competentie van anderen.
Opties boven gemak
Managed services zijn gemakkelijk tot je wilt vertrekken. Vendor lock-in is comfortabel tot het een gevangenis wordt. Ik kies voor iets meer werk nu, in ruil voor vrijheid later.
Leren boven consumeren
Elke keer dat ik een probleem zelf oplos, bouw ik kennis op. Elke keer dat ik een managed service gebruik, outsource ik die kennis. Soms is dat prima. Maar als patroon maakt het je afhankelijk.
Hoe begin je?
Als dit resoneert en je wilt beginnen met self-hosting:
1. Start klein
Eén Raspberry Pi of oude laptop. Docker Compose. Geen Kubernetes. Leer de basics van containers, networking, en storage.
2. Bouw incrementeel
Voeg één service toe per keer. Elke toevoeging is een leermogelijkheid. Ga niet proberen alles tegelijk te doen.
3. Documenteer alles
Toekomstige jij zal blij zijn met notities. Waarom koos je deze configuratie? Wat waren de alternatieven? Wat ging er mis?
4. Accepteer falen
Dingen gaan kapot. Dat is het punt. Elke failure is een les. In een homelab zijn de consequenties laag en de lessen waardevol.
5. Verbind met community
Homelab subreddits, Discord servers, lokale meetups. Anderen hebben dezelfde problemen gehad. Leer van hun oplossingen.
Conclusie
Waarom host ik alles zelf?
Niet omdat managed cloud slecht is. Niet uit paranoia of wantrouwen. Niet om geld te besparen (hoewel dat een bijkomend voordeel is).
Ik host zelf omdat ik wil begrijpen. Omdat ik keuzes wil hebben. Omdat ik mijn eigen ruimteschip wil kunnen onderhouden.
Dit is geen prescriptie. Niet iedereen hoeft alles zelf te hosten. Maar iedereen zou de keuze bewust moeten maken. Begrijp wat je weggeeft als je naar managed cloud gaat. Begrijp wat je krijgt.
En als je, zoals ik, een brein hebt dat black boxes niet verdraagt en diepe controle nodig heeft om te functioneren — dan is sovereign infrastructure misschien precies wat je zoekt.
Het is meer werk. Maar het is ook meer vrijheid.
En voor mij is die vrijheid het waard.
Gerelateerde posts:
- Het ruimtecontainer gedachtenexperiment — Systeemdenken en gesloten systemen
- Werken met een AuDHD-brein — Hoe mijn brein mijn tech keuzes beïnvloedt
- GitOps voor beginners — Declaratieve infrastructuur
- Homelab hardware keuzes — De fysieke kant van self-hosting
- Wat is Platform Engineering? — De bredere context
