Toen DevOps ontstond aan het eind van ‘zero’s’ werd een aantal belangrijke principes geïntroduceerd, zoals gedeelde verantwoordelijkheid, snelle feedback en workflow automation. Allemaal bedoeld om het idee van agile softwareontwikkeling te realiseren. Deze aanpak vereiste een hoge mate van zelfstandigheid van de ontwikkelaars, maar in ruil daarvoor krijgen ze de beschikking over de tools die ze nodig hebben om efficiënt te kunnen werken.
Een van de belangrijkste kernprincipes van DevOps is automatisering, omdat de snelle veranderingen die deze ontwikkelmethode met zich meebrengt niet goed werken als er voortdurend handmatige acties nodig zijn. Developers en andere technische specialisten, zoals data wetenschappers en AI-onderzoekers, geven daarom de voorkeur aan een werkwijze die teruggebracht kan worden tot drie hoofdzaken:
- Directe toegang tot resources
- Directe resultaten
- Volledige self-service
Hoewel het misschien niet altijd mogelijk is om direct toegang te krijgen en direct resultaten te leveren, is het wel mogelijk om dit idee van ‘direct’ steeds dichter te benaderen.
Platform engineering zet de developer centraal
DevOps is inmiddels volwassen geworden, mede door de opkomst van platform engineering, dat developers een nieuwe manier van applicatieontwikkeling biedt met behulp van een aantal self-service tools. Zo zijn ze niet langer afhankelijk van ticketing systemen voor het definiëren, structureren en delen van informatie, maar kunnen ze zelf aan de slag gaan met self-service tools. Platform engineers werken daarbij op de achtergrond aan een gebruiksvriendelijke, self-service catalogus van diensten en infrastructuur componenten voor applicatieontwikkelaars, zodat deze kunnen experimenteren, ontwikkelen, testen en implementeren. Het biedt niet alleen directe toegang tot de nieuwste en beste tools en software om innovatie mogelijk te maken, maar biedt ook eenvoudige toegang tot de data zelf, beschermd door vooraf bepaalde security protocollen.
Kubernetes en datamanagement
Het ideale developer-gerichte platform omvat ook datamanagement en kan voortbouwen op Kubernetes. Hiermee is het bijvoorbeeld mogelijk om cloud-native applicaties te orkestreren, implementeren, draaien en op te schalen. Ook kunnen met Kubernetes de benodigde data services worden beheerd . Dit datamanagement is essentieel voor platform engineering, omdat hiermee onder realistische omstandigheden kan worden geëxperimenteerd en getest . Bijvoorbeeld door gebruik te maken van een instant kopie van productiedata in plaats van een minder realistische synthetische dataset. Idealiter is de datamanagement oplossing gemaakt met self-service in het achterhoofd en biedt het toegang tot data op een manier die betrouwbaar, flexibel, multi-tenant en veilig is.
Als een modern dataplatform volledig geïntegreerd is met Kubernetes, hebben developers eenvoudig toegang tot opties voor persistente data (inclusief databescherming functies zoals replicatie, back-up en archivering) en tot de datasets zelf, via instant data cloning. Dit maakt zelfs het creëren en herstellen van snapshots mogelijk, zodat developers eenvoudig kunnen experimenteren met wijzigingen en deze snel kunnen terugrollen naar de vorige staat.
Daarnaast zou er een catalogus van samengestelde data services moeten zijn, zoals MongoDB, Elasticsearch, Cassandra, Kafka en PostgreSQL, waardoor de implementatie met een paar kliks of een enkele API-aanroep wordt vereenvoudigd. Zo kunnen ontwikkelaars deze data services makkelijk implementeren of opschalen, met een optimale configuratie en bescherming voor gegevensopslag. Dit fundament biedt developers eenvoudige toegang tot toolchains en data services die ze als bouwstenen kunnen inzetten. Zelfs als ze geen diepgaande kennis hebben over Kubernetes of hoe ze een bepaalde database engine op een veilige en schaalbare manier kunnen inzetten.
Platform engineering maakt het ‘Gouden Pad’ mogelijk
In software engineering kennen we het idee van het ‘Gouden Pad’. Hiermee wordt bedoeld de makkelijkste en meest effectieve werkwijze die mogelijk is, met behulp van self-service templates voor veelvoorkomende taken. Platform engineering-teams werken onzichtbaar achter de schermen om dit Gouden Pad van self-service ook naar applicatie ontwikkeling te brengen. Met Kubernetes als orchestratie framework en containers en data services als de belangrijkste middelen kunnen platform engineers de belofte van DevOps op het gebied van meer wendbaarheid en een hogere productiviteit waarmaken.
Marco Bal, Consultng Systems Engineer, Pure Storage