Platform Engineering:
de Toekomst van DevOps?
Platform engineering is een relatief nieuwe manier om IT-teams te organiseren. De beloften zijn veelbelovend: verhoogde efficiëntie en productiviteit voor teams, standaardisatie van de tools en processen van een organisatie en kostenbesparing. Aan de andere kant hebben veel organisaties de DevOps-werkwijze aangenomen, die al wat langer bestaat. In deze post zullen we de relatie tussen Platform Engineering vs DevOps verkennen en hun impact op de IT-operaties van organisaties. In het bijzonder zullen we onderzoeken welke invloed platform engineering kan hebben op de DevOps-werkwijze.
Een korte geschiedenisles
Voordat we de huidige trends van platform engineering bespreken, laten we teruggaan naar de jaren negentig en het begin van de jaren 2000 om te kijken naar de manier waarop IT-teams destijds waren georganiseerd.
In die tijd waren teams nogal gescheiden: één team was verantwoordelijk voor het ontwikkelen van een applicatie, terwijl een ander team verantwoordelijk was voor het draaien van de applicatie in productie. Wanneer het ontwikkelteam een nieuwe versie van hun applicatie had uitgebracht, gaven ze deze aan het operationele team. Hoewel dit een natuurlijke arbeidsverdeling lijkt, veroorzaakte het veel wrijving tussen de verschillende teams. Met name de ontwikkelaars zouden pas weten of hun app goed werkt in productie nadat het operationele team deze had uitgerold, wat vaak lang duurde. Nog erger, wanneer er iets misging tijdens de implementatie, zou het operationele team het programma teruggeven aan het ontwikkelteam om het probleem op te lossen. Het is gemakkelijk in te zien dat deze praktijken bottlenecks veroorzaken voor het implementeren van een applicatie en de ontwikkeling vertragen in het proces.
De industrie worstelde met deze situatie, maar is sindsdien overgestapt naar een nieuwe manier van werken: DevOps. DevOps kan op vele manieren worden uitgelegd, maar is in wezen een reeks principes die tot doel heeft de ontwikkeling en levering van software te stroomlijnen. In plaats van dat ontwikkelaars “hun applicatie over het hek gooien”, zijn ze zelf verantwoordelijk voor de implementatie van hun applicatie; dit wordt vaak aangeduid als “Je bouwt het, je draait het.” Om deze cultuurverandering te faciliteren, is het echter noodzakelijk om veel processen te automatiseren. Infrastructuur als Code (IaC), Continue Integratie (CI) en Continue Levering (CD) zijn voorbeelden van tools die worden gebruikt om deze automatisering te realiseren. De cloud heeft ook enorm geholpen door schaalbare, elastische en automatiseerbare infrastructuur te bieden. Al met al heeft de DevOps-filosofie organisaties in staat gesteld om snel en betrouwbaar applicaties te implementeren.
Hoe effectief de beweging naar DevOps ook is geweest, deze push heeft zijn eigen set problemen geïntroduceerd. Met name ontwikkelingsteams worden nu belast met de verantwoordelijkheid voor het implementeren van hun eigen applicaties. Nog erger, ontwikkelaars hebben kennis nodig van veel nieuwe technologieën: cloudplatforms (AWS, Azure, GCP, enz.), Infrastructuur als Code tools (Terraform, Ansible, CloudFormation, enz.) en pipelines (Azure en GitLab pipelines). Dit is veel gevraagd van mensen die gewoon een applicatie willen ontwikkelen en in productie willen brengen. Het zou het beste zijn om een soort middenweg te hebben tussen het hebben van al het IT-beheer buiten of binnen een ontwikkelingsteam.
Wat is Platform Engineering?
Bij platform engineering wordt het beheer van de infrastructuur verplaatst naar een centraal team binnen een organisatie. Dit neemt een enorme last van de schouders van ontwikkelingsteams. In plaats van het complexe werk van het beheren van IT-infrastructuur te moeten doen, kunnen ze zich beter concentreren op het creëren van waarde.
Let op dat platform engineering niet alle DevOps-gerelateerde taken buiten teams plaatst. Platform engineering maakt onderscheid tussen het beheer en het gebruik van infrastructuur. Administratieve taken, zoals het beheren van een Kubernetes-cluster of het opzetten van Azure-pipelines, worden allemaal beheerd door het platform engineeringteam. Teams kunnen echter nog steeds deze infrastructuur zelf gebruiken zoals ze willen; bijvoorbeeld door Azure-pipelines te gebruiken om hun toepassing op het Kubernetes-cluster te implementeren. Dit stelt teams in staat om de moderne infrastructuur optimaal te benutten, zonder de cognitive load. Platform engineering is daarom een goed voorbeeld van arbeidsverdeling, wat gebruikelijk is in veel sectoren.
Wat is de correlatie tussen Platform Engineering vs DevOps?
Gezien de voordelen die platform engineering biedt, zullen organisaties volledig afstappen van de DevOps-werkwijze? Het korte antwoord is nee. Deze twee ideeën zullen eerder naast elkaar bestaan en elkaar aanvullen. Hier zijn verschillende redenen voor:
- Hoewel een deel van de verantwoordelijkheden van DevOps-engineers wordt verplaatst naar een centraal punt in een organisatie, geldt dit niet voor alles. Teams kunnen nog steeds de infrastructuur gebruiken die het platform engineeringteam biedt voor hun eigen DevOps-taken, zoals Kubernetes-implementaties of het uitvoeren van pipelines.
- DevOps is in de eerste plaats een mindset en platform engineering behoudt deze mindset. Deze mindset heeft geleid tot de praktijken rond DevOps die we vandaag de dag zien, met als doel ontwikkelingsteams productiever te maken en implementaties te versnellen. We zien nu dat sommige van deze praktijken niet helemaal effectief zijn. Platform engineering vult aan waar huidige DevOps-praktijken tekortschieten, maar zeker niet ten koste van de DevOps mindset.
Conclusie
We hebben gezien hoe de DevOps-revolutie ontwikkelingsteams in staat heeft gesteld om productiever te zijn en hun applicaties sneller te implementeren. Echter, mensen in deze teams hebben nu kennis nodig van veel nieuwe technologieën wat resulteert in een verhoogde cognitieve belasting en extra werk. Platform engineering verlicht teamleden van de administratieve taken van DevOps, terwijl ze nog steeds in staat zijn om DevOps-taken uit te voeren die specifiek zijn voor hun applicaties. Hoewel platform engineering dezelfde DevOps-mindset handhaaft, verbetert het de huidige DevOps-praktijken. We kunnen concluderen dat platform engineering de volgende stap is voor organisaties die de productiviteit van hun development willen verbeteren.
Hoe SUE jou kan helpen
Terwijl platform engineering blijft evolueren, biedt het een veelbelovende weg voor organisaties om hun IT-operaties te stroomlijnen en beter aan te sluiten bij de bedrijfsdoelstellingen. Met meer dan 26 jaar ervaring in ontwikkeling en DevOps-operaties, zijn wij bij SUE vooraanstaand in deze ontwikkeling. We hebben talloze organisaties geholpen in elke fase van de ontwikkelingscyclus, van ontwerp tot operationele uitvoering. Onze expertise heeft bijgedragen aan het opzetten van op maat gemaakte platforms voor een diverse groep klanten, elk met hun eigen unieke eisen.
Onze jarenlange ervaring en kennis hebben geleid tot de ontwikkeling van ons revolutionaire Multistax-platform. Dit platform weerspiegelt ons diepgaande inzicht en biedt een oplossing op maat die specifiek inspeelt op de uitdagingen en behoeften van moderne IT-operaties. Als je klaar bent om de mogelijkheden van platform engineering te verkennen en hoe dit jouw organisatie kan transformeren, nodigen we je uit om contact met ons op te nemen en te ontdekken hoe onze expertise de weg kan vrijmaken naar een efficiëntere, productievere en innovatievere toekomst in softwareontwikkeling.