Je hebt CI/CD ingericht. Je draait containers. Misschien heb je zelfs Kubernetes. Maar toch duurt het weken om een nieuwe service in productie te krijgen, en elk team lost dezelfde problemen op hun eigen manier op. Welkom bij de realiteit die Platform Engineering probeert op te lossen.
Wat Platform Engineering wel en niet is
Platform Engineering is niet "we zetten een Kubernetes cluster neer en noemen het een platform." Het is ook niet het centraliseren van alle operationele taken bij één team dat bottleneck wordt.
Platform Engineering is het bouwen van een Internal Developer Platform (IDP) dat development teams in staat stelt om zelfstandig te werken - van code naar productie - zonder voor elke stap afhankelijk te zijn van een ander team. Het platform biedt self-service met ingebouwde guardrails voor security, compliance en operationele standaarden.
Waarom pipelines niet genoeg zijn
CI/CD pipelines zijn een essentieel onderdeel, maar ze zijn slechts één laag. Teams lopen tegen vragen aan die een pipeline niet beantwoordt:
- Hoe provision ik een database voor mijn nieuwe service?
- Hoe configureer ik monitoring en alerting?
- Hoe regel ik netwerktoegang tussen services?
- Hoe zorg ik dat mijn service voldoet aan de security-standaarden?
- Hoe maak ik een nieuwe omgeving aan voor een feature branch?
Als het antwoord op elk van deze vragen is "dien een ticket in bij het platform team en wacht", dan heb je geen platform - je hebt een ticket-gedreven bottleneck met extra stappen.
Golden Paths: de juiste keuze is de makkelijkste keuze
Het kernidee van een goed platform is het concept van golden paths (soms "paved roads" genoemd). Dit zijn voorgedefinieerde, geteste, goedgekeurde manieren om dingen te doen.
Een golden path voor een nieuwe microservice bevat bijvoorbeeld:
- Een template met de standaard projectstructuur, inclusief health checks, structured logging en metrics
- Geautomatiseerde provisioning van de benodigde infrastructure (database, message queue, DNS)
- Een CI/CD pipeline die automatisch geconfigureerd wordt
- Standaard dashboards voor monitoring en alerting
- Security scanning als integraal onderdeel van het deployment-proces
Het team hoeft niet na te denken over deze zaken - ze zijn er gewoon. Dat is het verschil tussen een platform en een collectie tools.
De lagen van een IDP
Een Internal Developer Platform bestaat typisch uit vijf lagen:
1. Developer Portal. Eén plek waar teams hun services, documentatie, APIs en afhankelijkheden vinden. Tools als Backstage vullen deze rol.
2. Service Catalog en Templates. Gestandaardiseerde blueprints voor nieuwe services, inclusief alle operationele componenten. Een backstage create of equivalent commando en je hebt een productie-klare service.
3. Infrastructure Orchestration. Abstractie over de onderliggende infrastructure. Teams vragen een "PostgreSQL database" aan, niet "een RDS instance met specifieke VPC configuratie in eu-west-1." Tools als Crossplane of Terraform modules met een self-service interface.
4. Environment Management. De mogelijkheid om on-demand omgevingen te creëren en te vernietigen. Essentieel voor feature branches, testing en demo's.
5. Observability Stack. Geïntegreerde logging, tracing en metrics die automatisch geconfigureerd worden voor elke service op het platform.
Waar begin je - pragmatisch
Je hoeft niet alles tegelijk te bouwen. Start met de grootste pijnpunten van je development teams.
Stap 1: Interview je teams. Waar verliezen ze de meeste tijd? Vaak is het provisioning van infrastructure of het opzetten van een nieuwe service.
Stap 2: Bouw het dunste mogelijke platform dat die pijn oplost. Dat kan een set goed gedocumenteerde Terraform modules zijn met een simpele CLI. Het hoeft geen Backstage-installatie te zijn op dag één.
Stap 3: Treat your platform as a product. Je development teams zijn je klanten. Verzamel feedback, meet adoptie, en itereer. Een platform dat niemand gebruikt is geen platform.
Stap 4: Schaal op basis van bewezen waarde. Voeg lagen toe wanneer de behoefte er is, niet omdat de architectuurplaat er mooi uitziet.
De valkuilen
- Over-engineering. Een platform voor drie teams en tien services hoeft geen Kubernetes met service mesh te zijn.
- Geen buy-in van teams. Als het platform moeilijker is dan de huidige manier van werken, gebruiken teams het niet.
- Platform team als gatekeeper. Het doel is enablement, niet controle.
Bij NForza helpen we organisaties om pragmatisch te starten met Platform Engineering - vanuit de werkelijke behoeften van development teams, niet vanuit een ideaalplaatje. De beste platforms groeien organisch vanuit opgeloste pijnpunten.