Met platform engineering stel je veelvoorkomende tools, workflows en middelen beschikbaar die ontwikkelaars nodig hebben zo efficiënt mogelijk te werken. In deze blog lees je over platform engineering, de belangrijkste uitdagingen, de vaardigheden en hoe het zich verhoudt tot DevOps en Site Reliability Engineering (SRE).
DevOps brengt in de praktijk uitdagingen met zich mee
Het werk van ontwikkelaars is door de jaren heen steeds complexer geworden. Zo moeten zij met een breed scala aan tools werken, rollen ze software uit in meerdere omgevingen en werken ze met microservices. In veel gevallen kiezen organisaties voor het gebruik van DevOps om dit in goede banen te leiden, waarbij ze development en operations integreren in één team.
Hoewel DevOps grote voordelen biedt, brengt de werkwijze ook uitdagingen met zich mee. Waar veel grote bedrijven met succes DevOps weten te omarmen, komt dit bij sommige kleinere bedrijven minder goed uit de verf. Onder meer door een tekort aan het juiste talent en de beperkte beschikbaarheid van middelen voor het optimaliseren van de workflow en ervaring van ontwikkelaars. Dit worden ook wel DevOps antipatronen genoemd.
Daarnaast blijkt dat senior developers in de praktijk veel tijd kwijt zijn aan het beheren van operations en operations-gerelateerde taken. Dit terwijl zij meer toegevoegde waarde zouden kunnen bieden door zich volledig te richten op ontwikkeltaken, zodat zij de ontwikkelsnelheid en -kwaliteit kunnen verbeteren.
Platform engineering: werk van ontwikkelaars vereenvoudigen
Platform engineering biedt uitkomst. Deze term omschrijft het ontwerpen, bouwen en beheren van workflows en tools die de consistentie vergroten en veelvoorkomende taken versnellen. Bedrijven zetten hierbij een engineering platform op dat softwareontwikkelaars, data scientists en eindgebruikers ondersteunt door hen veelgebruikte, herbruikbare tools en mogelijkheden aan te reiken. De ontwikkeling en het beheer van dit platform komt voor rekening van een gespecialiseerd productteam.
In veel gevallen gaan bedrijven die platform engineering omarmen, van start met het opzetten van een internal developer portal (IDP). Een IDP biedt toegang tot een reeks tools, mogelijkheden en processen die gebruikers ondersteunen. Het gespecialiseerde productteam selecteert de onderdelen die je via een IDP aanbiedt, en zorgt dat deze op eenvoudige wijze toegankelijk zijn voor ontwikkelteams. Hoe een IDP er in de praktijk uitziet, is dan ook afhankelijk van jouw specifieke organisatie, waarbij onder meer de doelstellingen van ontwikkelaars, gebruikte technologieën en tools en beschikbare kennis een rol spelen.
Een frictieloze self-service ervaring bieden
Het doel van platform engineering is het realiseren van een frictieloze self-service ervaring voor ontwikkelaars. Je wilt hen de juiste mogelijkheden en hulpmiddelen aanreiken voor het optimaal uitvoeren van hun werk, met zo min mogelijk overhead. Het platform vergroot de productiviteit en het gebruiksgemak van gebruikers.
Platform engineering omvat alles dat ontwikkelteams nodig hebben, en biedt deze middelen aan op een manier die optimaal aansluit bij de workflow die ze hanteren. Zo beschikken gebruikers over gestandaardiseerde tools en geautomatiseerde processen, waarmee je hun productiviteit en ervaring naar een hoger niveau tilt.
Welke vaardigheden zijn hiervoor nodig?
Het opzetten en beheren van platform engineering vraagt om diverse vaardigheden en kennis. Zo moet een platform engineer over voldoende kennis van zowel softwareontwikkeling als DevOps-tools en -werkwijzen beschikken. Belangrijk is dat platform engineering aansluit op de specifieke behoeften van jouw ontwikkelteams. Dit maakt communicatie van cruciaal belang is om deze behoeften in kaart te brengen. Een succesvolle platform engineer is dan ook in staat te communiceren met alle betrokken partijen, variërend van ontwikkelaars tot directie-niveau.
Belangrijk om op te merken is dat het engineering platform continu in beweging is. Zowel DevOps-tools en -werkwijzen als het ontwikkel-landschap veranderen continu. Ontwikkelaars willen en moeten met nieuwe tools aan de slag, omarmen nieuwe programmeertalen en komen voor nieuwe vraagstukken te staan. Het engineering platform moet meebewegen. Een succesvolle platform engineer is dan ook in staat deze veranderingen bij te houden en het engineering platform hierop continu aan te passen.
Platform engineering vs site reliability engineering (SRE)
Een IT-discipline waar je bij het lezen over platform engineering wellicht aan moet denken, is site reliability engineering (SRE). Deze discipline is in het leven geroepen door grote techbedrijven als Amazon, Facebook en Google, die hiermee hun efficiëntie naar een hoger niveau willen tillen om de concurrentie voor te blijven. Zowel bij site reliability engineering als platform engineering staat het verhogen van de efficiëntie van ontwikkelteams dan ook centraal.
Tegelijkertijd zijn er grote verschillen. Kenmerkend is dat een site reliability engineer software gebruikt als gereedschap voor het inrichten en beheren van infrastructuur. Dit noemen we ook wel Infrastructure as Code. In de praktijk betekent dit dat een site reliability engineer wijzigingen niet zo zeer doorvoert op de hardware, maar dit via slimme software doet. Een site reliability engineer beschikt hiervoor over kennis over software-engineering, en kan deze kennis toepassen binnen zowel infrastructuur als dagelijkse operaties.
Site reliability engineering wijkt hiermee af van platform engineering. Waar je bij site reliability engineering je richt op het verhogen van efficiëntie door het optimaal inrichten en beheren van infrastructuur, leg je bij platform engineering de focus op het verhogen van de efficiëntie door het beschikbaar stellen van workflows en tools die de consistentie vergroten en veelvoorkomende taken versnellen.
Aan de slag met platform engineering?
Onze experts staan klaar om je te ondersteunen. We zetten in op een multidisciplinaire samenwerking en integratie met jouw ontwikkel- of productteam om je organisatie efficiënt vooruit te helpen. Benieuwd naar de opties?