Prof. Jan Bosch
DevOps, DataOps, MLOps – het aantal verschillende “Ops”-combinaties lijkt het afgelopen jaar geëxplodeerd te zijn. Er zijn manifesten, meetups, veel blogposts en onderzoeksartikelen over deze verschillende benaderingen.
Om de terminologie duidelijk te krijgen, denk ik dat het goed is om te definiëren waar we het over hebben. Om te beginnen is DevOps een verzameling praktijken die softwareontwikkeling (Dev) en IT-operaties (Ops) combineert met als doel de levenscyclus van systeemontwikkeling te verkorten en continue levering te bieden met een hoge softwarekwaliteit (Wikipedia). De bedoeling is om agile softwareontwikkelingspraktijken te combineren met continue uitrol om een constante stroom van nieuwe functionaliteit en daaruit voortvloeiende waarde aan klanten te leveren. Ook wel continuous deployment genoemd, kan nieuwe functionaliteit worden uitgerold wanneer deze er klaar voor is, de effecten worden gemeten en de feedback wordt gebruikt om de volgende (snelle) ontwikkelcyclus te informeren.
DataOps is een geautomatiseerde, procesgeoriënteerde methodologie die wordt gebruikt door analytische en datateams om de kwaliteit van data-analyse te verbeteren en de doorlooptijd te verkorten (Wikipedia). Hoewel dit heel anders klinkt dan DevOps, is het in de meeste productbedrijven nauw verbonden met de producten die in het veld worden ingezet. Bijgevolg is de data-analyse vooral gericht op R&D-teams die moeten weten of de beoogde resultaten van hun ontwikkelingsinspanningen inderdaad worden bereikt als onderdeel van de continue uitrolpijplijn.
Tot slot is MLOps een praktijk voor samenwerking en communicatie tussen datawetenschappers en operationele professionals om de levenscyclus van de productie van machine learning (of deep learning) te helpen beheren (Wikipedia). Terwijl datawetenschappers van oudsher een model ontwikkelden op basis van een dataset en daarna verder gingen met hun leven, zijn ML/DL-modellen tegenwoordig in veel systemen voortdurend in ontwikkeling door wijzigingen in de data of nieuwe algoritmische inzichten en moeten ze ook regelmatig worden ingezet. Als ze eenmaal zijn ingezet, moeten ze worden gemonitord om ervoor te zorgen dat modellen die beter presteren tijdens de training, ook beter presteren tijdens het gebruik.
'Dev, Data and ML all have to integrate with the same Ops'
In een eerdere column heb ik het HoliDev model gepresenteerd (zie figuur). Elk van de “Ops” komt overeen met een van de drie soorten ontwikkeling die gaande zijn. Het verrassende is natuurlijk dat “Ops” voor al deze staat voor “operations” en de sleutel is om te onthouden dat er voor elk systeem, product of oplossing maar één operations-functie is die ervoor zorgt. Dus Dev, Data en ML moeten allemaal integreren met dezelfde Ops.
Het HoliDev-model
Concluderend, aan welke “Ops” je ook werkt, het moet allemaal samenkomen in dezelfde operaties en bijgevolg moet je werken in [cross-functionele teams] (https://bits-chips.nl/artikel/focus-on-outcomes-for-cross-functional-teams/) om ervoor te zorgen dat je de gewenste resultaten bereikt. Het belangrijkste is echter dat als een activiteit waarde levert aan klanten, deze het verdient om vaak gedaan te worden. Alleen onbelangrijke taken worden jaarlijks of nog minder vaak gedaan. Denk hier eens over na: hoe kunt u voor alle activiteiten en processen die waarde toevoegen in uw organisatie de cyclustijd verhogen en uw eigen “Ops”-opstelling creëren waar het er het meest toe doet?
