I stället för att teamen anropar molnets API:er direkt, deklarerar de vad de behöver mot ett eget gränssnitt, och en control plane får verkligheten att matcha. Crossplane och egna CRD:er med en operator är två sätt, Terraform-moduler bakom en pipeline ett tredje.
Varför TRIAL
Det starka med mönstret är att gränssnittet blir smalt och ägt. En Database med
fyra fält döljer trettio Azure-resurser, och plattformsteamet kan byta ut vad som
händer bakom utan att röra ett enda team. Det är skillnaden mellan en plattform och
ett bibliotek av exempel.
Det tar också bort en hel klass av drift. Resurser som avviker rättas tillbaka löpande i stället för att upptäckas vid nästa plan.
Vad det kostar
Du bygger ett eget API, med allt det innebär: versionering, migreringar,
felmeddelanden som någon annan ska förstå klockan två på natten, och en abstraktion
som måste hålla när det tredje teamet vill ha något den inte tänkte på. Läckan är
det vanliga misslyckandet. Så fort en Database behöver ett undantag börjar fälten
växa, och efter ett år har du ett gränssnitt som är lika brett som molnets eget,
fast sämre dokumenterat och underhållet av tre personer.
Kompetensen är en egen post i budgeten. En control plane felsöks inte med
terraform plan, den felsöks i loggar från en operator.
När det är fel val
När du har färre än ungefär tio team eller en handfull tjänstetyper. Då är Terraform-moduler i ett delat repo enklare, räcker hela vägen och kan bäras av en person. Börja där, och byt först när du kan peka på undantagen som gör modulerna ohållbara.