Platformarchitectuur
Kubernetes on-prem en in hybride cloud, ingericht voor meerdere teams. We ontwerpen het tenancy-model (namespaces, RBAC, network policies, quota), de beschikbaarheid en de manier waarop het platform upgradet en herstelt.
We ontwerpen en bouwen platformen voor on-prem en hybride cloud waar meerdere teams hun applicaties op draaien. Volledig geautomatiseerd, van het aanmaken van een cluster tot het roteren van secrets. En we blijven erbij tot het in productie draait: architectuur die alleen op papier bestaat, is niet af.
Nu actief als platformarchitect voor een mission-critical Kubernetes-platform bij Rijkswaterstaat.
01 / Wat we leveren
Een cluster opzetten is het makkelijke deel. Het verschil zit in alles eromheen: hoe teams erop komen, hoe je het veilig houdt, hoe je ziet wat er gebeurt en hoe je het upgradet zonder dat iemand het merkt.
Kubernetes on-prem en in hybride cloud, ingericht voor meerdere teams. We ontwerpen het tenancy-model (namespaces, RBAC, network policies, quota), de beschikbaarheid en de manier waarop het platform upgradet en herstelt.
Git is de bron van waarheid voor alles: platformcomponenten, teamconfiguratie en applicaties. ArgoCD
houdt de clusters in lijn met Git. Geen handwerk met kubectl, wel
elke wijziging reviewbaar en terug te draaien.
Teams vragen een database, bucket of andere voorziening aan met één manifest. Crossplane-composities vertalen die aanvraag naar de echte infrastructuur, inclusief backups, netwerk en monitoring. Het platform als product, met de teams als klant.
Secrets komen uit Vault en worden automatisch geroteerd; applicaties krijgen geen statische wachtwoorden. Kyverno dwingt beleid af bij admission: valideren, standaardwaarden invullen en ontbrekende resources genereren. Beleid staat in Git, net als de rest.
Metrics, logs en traces in één samenhangend beeld. Applicaties en platform zijn geïnstrumenteerd met OpenTelemetry; in Grafana spring je van een trage request in Tempo naar de bijbehorende logregels in Loki. Elke applicatie krijgt een eigen collector, met dashboards en alerts per team.
Een platform werkt pas als de teams ermee werken. We helpen afdelingen de DevOps-werkwijze in te voeren, begeleiden teams bij de overstap en zorgen voor runbooks en documentatie, zodat de kennis in huis blijft.
02 / Onder de motorkap
Zo ziet een platform eruit dat we bouwen. Elke laag is declaratief beschreven en staat in Git. Een nieuw cluster is daardoor een kwestie van uitrollen, niet van een week handwerk, en een upgrade een pull request.
We kiezen gangbare tooling uit het Kubernetes-ecosysteem. Geen eigen frameworks waar je aan vastzit: elke ervaren platformengineer kan ermee verder.
Teams en applicatiesSelf-service via Git
DeliveryGit → cluster
VoorzieningenDatabases, opslag, netwerk
Security en beleidSecrets, admission, toegang
ObservabilityMetrics, logs, traces
FundamentOn-prem en hybride cloud
03 / Voorbeeld
Elke applicatie krijgt een eigen collector, gemaakt met een eigen CRD. Applicatiebouwers hoeven niet te weten hoe een collector in elkaar zit. Ze beschrijven alleen welke logs eruit mogen en waar ze naartoe moeten. Het platform doet de rest.
apiVersion: platform.example.nl/v1alpha1
kind: AppCollector
metadata:
name: orders-api
namespace: team-orders
spec:
logs:
filter:
# ruis niet doorsturen
drop:
- 'attributes["http.route"] == "/healthz"'
- 'severity_number < SEVERITY_NUMBER_INFO'
routing:
- when: 'attributes["event.domain"] == "audit"'
to: audit
- default: team-orders
audit) beheert het platform.04 / Hoe we werken
Geen PowerPoint-architectuur. We ontwerpen het platform en blijven erbij terwijl het gebouwd wordt: we schrijven code, debuggen pipelines en automatiseren infrastructuur, samen met de teams.
Wat draait er al, welke eisen gelden er (beschikbaarheid, beveiliging, aantal teams) en waar zit de pijn? Je krijgt een concreet beeld en een plan in stappen.
Geen dik document, maar zo snel mogelijk een werkend skelet van het platform. Keuzes leggen we vast in architectuurbeslissingen (ADR's), naast de code.
We werken in het team, niet ernaast. Alles gaat via Git en pull requests, en wat twee keer met de hand gebeurt, wordt geautomatiseerd.
Observability, alerts en runbooks staan er voordat het live gaat. We oefenen upgrades en herstel, zodat het team het platform zelf kan blijven draaien.
“Architectuur die niet bewezen is in code en niet in productie draait, is niet af.”
05 / Ervaring
Van Java-engineer en vroege gebruiker van containers, via DevOps naar platformarchitectuur. Bij de overheid en in het bedrijfsleven, voor systemen die dag en nacht moeten werken.
Oprichter · Solution architect en platform engineer
Een solution architect die nooit is gestopt met engineeren. Jeroen ontwerpt platformen en systemen en blijft erbij terwijl ze gebouwd worden.
2023 – nu
Rijkswaterstaat, Watermanagement
Een geautomatiseerd, schaalbaar Kubernetes-platform voor mission-critical toepassingen die 24/7 draaien. Automatische provisioning van voorzieningen voor meerdere teams, met ArgoCD, Vault, Crossplane, Kyverno en OpenTelemetry. Daarnaast de DevOps-werkwijze in de afdeling verankeren.
2023
FMO, Nederlandse ontwikkelingsbank
Bedrijfsprocessen ontwerpen en implementeren met de Camunda BPMN-suite.
2018 – 2022
Rijkswaterstaat, Digitaal Stelsel Omgevingswet
Gebruikersapplicaties voor het DSO, van vergunningcheck tot het indienen van aanvragen.
2018 – 2019
HyperDev
Een continuous-development-platform op basis van container-orchestratie, toen containers nog nieuw waren. CI/CD voor DevOps-teams in een veilige cloudomgeving.
2012 – 2018
ICTU
Continuous delivery, softwarekwaliteit en Docker voor overheidsprojecten. Eigen tooling om applicaties met Docker samen te stellen, en cursussen over Docker voor externe partijen.
2008 – 2012
Collis (nu UL)
Testtooling voor betaalterminals (EMV) en software voor de PKI-infrastructuur van het Nederlandse e-paspoort.
Of je nu een nieuw Kubernetes-platform opzet, een bestaand platform volwassen wilt maken of teams wilt laten overstappen: vertel waar je staat, dan denken we mee.