Een organisatie die software in de cloud draait, kan over meer tools beschikken dan ze goed kan benutten. Rekenkracht, opslag, beheerde databases, containerdiensten en monitoring liggen een paar klikken of een API-aanroep van hen verwijderd. Toch begint het werk vaak opnieuw bij een leeg blad zodra een nieuwe applicatie live moet, of een bestaande applicatie een extra omgeving nodig heeft.
De reden is dat infrastructuur alleen het fundament is. Tussen dat fundament en een werkende applicatie zit een laag van besluiten en routines die bepaalt hoe software daadwerkelijk wordt geleverd en beheerd. In veel organisaties wordt die laag per applicatie opgebouwd, door wie er op dat moment beschikbaar is, en vooral in hoofden vastgelegd.
De laag ertussen
Die middenlaag beslaat een aantal gebieden die van elkaar afhangen:
Elk gebied is op zichzelf goed te regelen. Het probleem ontstaat als iedere applicatie ze anders regelt. Het resultaat is een verzameling eenmalige inrichtingen die lastig te vergelijken, te onderhouden of over te dragen zijn.
Wat herhaalbaar is
Veel van dit werk volgt bij verschillende applicaties hetzelfde patroon, en komt daarmee in aanmerking voor standaardisatie: een vastgelegde, gedocumenteerde werkwijze die teams hergebruiken in plaats van opnieuw uitvinden. Gestandaardiseerde workflows beschrijven bijvoorbeeld hoe een nieuwe applicatie wordt aangemeld, welke omgevingen ze standaard krijgt en welke controles iedere deployment doorloopt.
GitOps is een veelgebruikte manier om zulke workflows in te richten. De gewenste toestand van een systeem wordt declaratief beschreven, in bestanden onder versiebeheer, en softwareagents vergelijken de draaiende omgeving voortdurend met die beschrijving en werken eraan beide in lijn te brengen. Wijzigingen verlopen via een aanpassing van de beschrijving, wat een controleerbare geschiedenis oplevert van wie wat en wanneer heeft gewijzigd. OpenGitOps-principes (Engelstalig)
Gedeelde services maken het beeld compleet: gemeenschappelijke componenten zoals logging, monitoring, beheer van secrets of certificaatafhandeling, die applicaties gebruiken in plaats van elk een eigen variant te draaien.
Wat specifiek blijft
Niet alles kan of moet worden gestandaardiseerd. Iedere organisatie moet nog steeds bepalen welke infrastructuur ze gebruikt, welke beveiligings- en wettelijke eisen gelden, hoe toegang is georganiseerd, hoe omgevingen van elkaar worden gescheiden en wie de operationele verantwoordelijkheid draagt. Sommige applicaties hebben behoeften die geen standaard dekt. Een goede platformbasis maakt die keuzes expliciet en legt ze vast, in plaats van te doen alsof ze niet bestaan.
Een illustratieve inrichting
In een fictief geval wil een softwarebedrijf een nieuwe klantgerichte dienst op zijn bestaande platform brengen. Voordat er iets wordt uitgerold, heeft het platformteam informatie nodig: wat de dienst doet, welke gegevens ze verwerkt en hoe gevoelig die zijn, van welke andere diensten ze afhankelijk is en welke beschikbaarheid wordt verwacht.
Die informatie stuurt de technische keuzes. Welke omgevingen heeft de dienst nodig? Welke netwerktoegang is toegestaan? Welke secrets zijn nodig, en waar worden ze bewaard? Welke monitoring en meldingen gelden, en wie reageert buiten kantooruren? Met een gestandaardiseerde workflow hebben veel van deze vragen een standaardantwoord dat het team alleen hoeft te bevestigen of aan te passen.
Goedkeuringen blijven onderdeel van het proces. Een security officer moet mogelijk de dataclassificatie en toegangsregels goedkeuren, de eigenaar van de productieomgeving de eerste release, en iemand moet het operationele eigenaarschap aanvaarden. In een opzet op basis van GitOps kunnen die goedkeuringen worden gekoppeld aan controleerbare wijzigingen in de configuratie, zodat precies duidelijk is wat is goedgekeurd. Het werk verdwijnt niet. Het wordt voorspelbaarder en beter te controleren.
Waar N8tive past
N8tive, een venture in ontwikkeling bij Xablu Venture Studio, bouwt een platformaanpak voor deze middenlaag op basis van Kubernetes, het opensourcesysteem voor het draaien en beheren van gecontaineriseerde applicaties. N8tive draait op infrastructuur die de organisatie zelf kiest, publieke cloud, hybride of on-premises, met als doel inrichting, deployment en beheer over omgevingen heen consistenter te maken. Het is geen aparte cloudaanbieder. Bekijk N8tive
Tot nu toe is er een interactief platformprototype ontwikkeld en is een eerste klantmigratie uitgevoerd.
De afwegingen
Standaardisatie heeft een prijs. Ze vraagt vooraf keuzes over standaarden en uitzonderingen, integratie met bestaande systemen zoals identiteitsproviders en coderepositories, en blijvend eigenaarschap: iemand moet de standaard onderhouden naarmate tools, eisen en applicaties veranderen.
Ze heeft ook grenzen. Een platformbasis maakt specialistische engineering niet overbodig, zeker niet bij ongebruikelijke toepassingen of incidenten. Ze garandeert evenmin automatisch overdraagbaarheid tussen infrastructuren, beveiliging of naleving van regelgeving. Ze kan die eigenschappen wel makkelijker haalbaar en controleerbaar maken, mits de onderliggende keuzes deugen en het platform zorgvuldig wordt beheerd.
Is er in uw organisatie een applicatie of omgeving waarbij inrichting of beheer steeds maatwerk vraagt? Begin daar. We bekijken het graag met u en brengen in kaart welke onderdelen herhaalbaar kunnen worden.
Bekijk een omgeving →