altitudes® Cloud · Platform · AI Amsterdam · Rotterdam --:--
PLATFORM ENGINEERING16 JUN 20267 min lezen
[INSIGHT] / PLATFORM ENGINEERING _

Productiseer het platform. De value flow volgt.

Het Foundry-team van Nedap formuleerde een interne specificatie die de meeste platformteams hadden afgezwakt. Idee in de ochtend, in productie aan het eind van dezelfde werkdag. We namen de specificatie serieus. De value creation flow volgde. Het productisatiewerk om die flow echt te maken kwam eerst, en duurde langer.

Productiseer het platform. De value flow volgt.

Waarom de ambitie het makkelijke deel is

De slogan is kort. De specificatie eronder niet. Same-day delivery betekent dat een engineer op de ochtend van dag één een service kan beschrijven die ze willen. Aan het eind van diezelfde middag draait die service in productie. Hij observeert zichzelf. Hij kost niets onverwachts. Hij doorstaat controles die het security-team al heeft beoordeeld. Hij ziet eruit als een Nedap-product, niet als iets eenmaligs.

Die ambitie heeft een lange lijst van voorwaarden. Elke voorwaarde is iets wat het platform moet zijn, niet iets wat het team moet onthouden. Als een voorwaarde in een runbook leeft dat de engineer moet openen, is de dag al voorbij voordat de deployment begint.

De eerlijke versie van de ambitie is een paved road die het idee oppakt waar het binnenkomt en het door elke checkpoint draagt zonder onderhandeling. Die paved road bouwen kost een jaar werk. Hem productiseren zodat andere teams hem zonder ons kunnen gebruiken is het zwaardere jaar daarna.

Productiseer het platform, niet alleen de bouwblokken

De meeste interne platforms die we overnemen zijn niet geproductiseerd. Ze zijn een verzameling bouwblokken. Een Kubernetes-cluster hier, een Terraform-modulebibliotheek daar, een CI/CD-pipeline-patroon dat iemand in 2022 schreef en dat drie mensen nog onderhouden. Elk blok is op zichzelf competent. Geen ervan is een product.

Een product is hetzelfde bouwblok plus vier dingen. Een eigenaar. Een levenscyclus. Een contract. Een roadmap. Zonder die vier is het blok een ambachtsproject. Met die vier is het iets wat de rest van de organisatie kan gebruiken zonder toestemming te vragen en zonder jouw onderhoudslast over te nemen.

We begonnen het werk met Nedap door de lijn tussen die twee te trekken. Elk bestaand blok werd geclassificeerd als geproductiseerd of als onderweg om dat te worden. De ongeclassificeerde mochten niet in de buurt van de value creation flow komen tot ze een eigenaar, een stadium, een contract en een gepubliceerd consumptiepatroon hadden.

Zes principes die bepalen wat erin komt

De principes zijn niet decoratief. Ze zijn de toelatingstoets. Een bouwblok dat er één niet haalt, komt niet op de paved road.

Eén. Levenscyclus-gebaseerd beheer. Elke service heeft een gedeclareerd stadium (incubatie, groei, volwassen, sunset, gepensioneerd) en een roadmap die bij dat stadium past.

Twee. Geen huisdieren, alleen kuddes. Niets is handgemaakt. Als een service niet op elk uur opnieuw uit code kan worden uitgerold, is het nog geen service.

Drie. Compliant by default. Security, identiteit, observability en audit zijn ingebakken in het template, niet later aangeschroefd. Een team dat de golden path adopteert, krijgt deze gratis.

Vier. Batteries included. Het ding komt klaar voor gebruik. Documentatie, monitoring, alerting, eigenaarschap en een gepubliceerd consumptiemodel komen in dezelfde levering. Geen aanpassingstaks.

Vijf. Geschikt voor het doel, geen Zwitsers zakmes. Elke service lost één goed gedefinieerd probleem schoon op. Generaliteit is een onderhoudsrekening waar niemand om vroeg.

Zes. Standaardisatie is essentieel. Gedeelde patronen voor architectuur, CI/CD, observability en documentatie. Uitzonderingen zijn expliciet en bestuurlijk geregeld, niet stilletjes geïntroduceerd.

De principes reizen mee tussen opdrachten, maar ze kregen hun uiteindelijke vorm in het Nedap-werk omdat Foundry de hardere vraag stelde. Niet wat elk blok kost, maar wat het platform moet zijn.

De levenscyclus is het contract

Een geproductiseerde service beweegt door vijf stadia. Incubatie is verkennend. Bewijs de waarde en de haalbaarheid. Groei is het hardingsstadium. SLO's, basiscompliance, geautomatiseerde CI/CD, documentatie, eigenaarschap. Volwassen is breed geadopteerd en kern van de operatie. Sunset is de expliciete stap richting pensionering. Gepensioneerd is weg.

Tussen de stadia zitten vier poorten. G0 opent het werk. G1 verklaart de service klaar voor de eerste gebruikers. G2 promoveert hem tot een standaard-aanbod dat de rest van de organisatie self-service kan consumeren. G3 is de beslissing om verder te optimaliseren of te pensioneren.

Elke poort draagt entry- en exitcriteria. Elke poort produceert deliverables die zichtbaar zijn in de catalogus. We hebben geen stuurgroepen die discussiëren of een service gepromoveerd moet worden. We hebben bewijs dat de poort houdt of niet houdt.

De reden dat dit ertoe doet voor same-day delivery is eenvoudig. De value creation flow kan alleen services oppakken vanaf G2 of later. Heeft een service zijn poort niet verdiend, dan bestaat hij niet voor de paved road. Dat klinkt hard tot je het alternatief herinnert. De paved road erft stilletjes niet-geproductiseerde schuld en wordt trager.

"Same-day delivery is hoe de value creation flow eruit ziet als hij werkt. De flow bouwen is het langzame jaar. Het platform eronder productiseren is het nog langzamere jaar."

Sebastiaan van Parijs / Founder

OLA's maken het contract operationeel

Een levenscyclus is een belofte. Een Operational Level Agreement is wat de belofte afdwingbaar maakt binnen één organisatie. Elke service vanaf G2 heeft een OLA die het criticality-tier benoemt, de on-call-dekking, de responstijden, de SLO-doelen, de security-toezeggingen en de reviewcadans.

Hier falen de meeste platforms stilletjes. Ze hebben SLA's richting externe klanten. Ze hebben niets intern. Het gevolg is dat als een betalingsservice afhankelijk is van een gedeelde identity-service die afhankelijk is van een gedeelde logging-service, er geen contract tussen de drie bestaat. Het team dat de betalingsservice draait, erft de faalmodi van twee anderen en ontdekt ze om 3 uur 's nachts.

De Nedap-opdracht maakte de OLA-laag echt. Tier 1-services draaien 24/7 met 15 minuten respons en 2 uur resolutie op P1. Tier 2-services draaien in werkuren. Tier 3-services draaien best-effort. Elk team dat een geproductiseerd bouwblok consumeert, leest het tier voordat ze integreren. Verrassingen nemen af. De on-call-last verschuift van heroïek naar dekking.

De value flow is het bijproduct

Met het platform geproductiseerd en de OLA's op hun plek wordt de value creation flow mogelijk zonder dat iemand hem opnieuw ontwerpt. De flow is het pad dat een stuk waarde aflegt van Product Manager (strategische intentie) naar Product Owner (tactische verfijning) naar engineering team (continue levering).

De PM stelt de epic, de prioriteit, de succesmaat. De PO verfijnt naar verhalen met acceptatiecriteria. Het engineering team bouwt tegen de paved road die het platform al biedt. Elke stap neemt zijn inputs van de vorige en produceert outputs die de volgende kan gebruiken zonder herformattering.

De regel van Foundry is hoe dit eruit ziet als het werkt. Het idee komt binnen bij de PM. Aan het eind van de middag is het verfijnd, goedgekeurd tegen poorten die zichtbaar zijn in de catalogus, uitgerold via een pipeline die al bestaat, geobserveerd door een dashboard dat al bestaat, en het team dat het bezit heeft de OLA al ondertekend.

We meten de flow via één single-pane insights and control layer die op de geproductiseerde services zit. Doorlooptijd, deployfrequentie, SLO-naleving, kosten per workload, security-bevindingen. Vijf cijfers, één scherm, elk team kan ze zien. Kunnen ze dat niet, dan is het platform nog niet echt geproductiseerd.

Wat dit niet is

Dit is geen slogan-renovatie. Het is geen workshop. We beloven niet dat de ambitie bereikt wordt door een tool te kopen. Het productisatieraamwerk is het langzame werk. Twaalf maanden om de eerste paved road naar G2 te krijgen. Nog een jaar om de volgende drie af te studeren. Het dividend is dat na het tweede jaar de value creation flow geen vergaderingen meer nodig heeft om te functioneren. Hij draait gewoon.

Dit is ook niet uniek voor Nedap. Hetzelfde productisatiewerk, dezelfde levenscyclus, dezelfde zes principes, dezelfde OLA-discipline geldt voor elke engineeringorganisatie die wil dat haar platform een vermenigvuldiger is en geen belasting.

Wat wel uniek is, is de ambitie die Foundry stelde. De meeste leiderschapsteams vragen om snellere levering. Nedap vroeg om aan het eind van de dag. Aan het eind van de dag is een veel betere specificatie, omdat het het productisatiegesprek vroeg afdwingt. We namen de specificatie serieus. De value creation flow volgde.

Geschreven door Sebastiaan van Parijs Founder
[VERDER PRATEN]

Herken je dit in je eigen platform? Eén gesprek, één geschreven samenvatting.