Het gevaar van Vendor, Methodology en Technology Lock-in

Door datathatworks, 14 juli 2023

Technologie verandert sneller dan ooit tevoren
lock-inMet de opkomst van de cloud gaan ontwikkelingen op het gebied van Data Management en Data Analytics steeds sneller en sneller. Nieuwe architectuurconcepten volgen elkaar in rap tempo op. Binnen data platforms worden maandelijks nieuwe features geïntroduceerd. Welke technologie uiteindelijk de nieuwe industriestandaard wordt is lastig te voorspellen. Dit maakt het voor bedrijven lastig om keuzes te maken voor de toekomst van het Data Analytics landschap. Wordt gekozen voor de cloud of toch on-premise? De meeste nieuwe ontwikkelingen op het gebied van Data Management vinden plaats in de Cloud. Maar kies je dan een Data Warehouse platform, een Data Lake of toch een Data Lakehouse platform? En als de keuze gemaakt is, welk Cloud platform en welke vendor wordt gekozen? Het is lastig om de kosten van verschillende Data platforms met elkaar te vergelijken. Platforms hebben elk hun eigen sterke en zwakke punten. Zo kan een platform heel goed zijn in het bevragen van grote platte tabellen, maar tegelijkertijd slecht in het verwerken van relationele query's met vele database joins. Hoe het platform echt aansluit op de behoefte, zie je pas in de praktijk.

Lock-in situaties houden verandering tegen
De meeste bedrijven hebben op dit moment één of meer Data Warehouses met daarbij honderden of duizenden ETL jobs die data uit bronsystemen laden en transformeren naar het gewenste formaat. Het ombouwen van al deze jobs naar een nieuw platform kan een kostbare aangelegenheid zijn. Dit komt omdat de meeste ETL tools eigen design formaten, script talen en ETL engines bevatten. Simpel gezegd: een ETL job van het ene platform draait niet op een ander platform, maar moet opnieuw ontwikkeld worden. Het is in ETL tools gangbaar dat elke doeltabel een eigen handgemaakte ETL job heeft. Dit betekent dat een datawarehouse met 1000 tabellen vaak minstens evenveel ETL jobs heeft.

Hoe ontstaan Lock-in situaties?
Gezien de eerder genoemde afhankelijkheid van het gekozen ETL platform, zitten vele bedrijven op dit moment in één of meer zo genoemde lock-in situaties. Enerzijds zitten deze bedrijven vast aan een bepaalde tool leverancier, omdat alle ETL processen in een bepaald leverancier specifiek formaat zijn ingericht. Anderzijds kunnen ze ook vast zitten aan een bepaalde technologie, bijvoorbeeld een relationele database voor het data warehouse. Lock-in situaties kunnen ook zitten in de gehanteerde methodologie die in de loop der tijd ontstaan is, bijvoorbeeld door beperkingen in de toolset, een gekozen designaanpak of andere factoren.

Tips om Lock-in situaties te voorkomen
unlockLock-in situaties kunnen op verschillende manieren voorkomen of verminderd worden. Hieronder volgt een aantal voorbeelden.

Open standaarden
Het gebruik van open (source) standaarden kan lock-in situaties voorkomen. De query taal SQL is een voorbeeld van een breed ondersteunde, redelijk gestandaardiseerde taal. Kleine verschillen tussen verschillende SQL varianten kunnen meestal vrij eenvoudig opgelost worden door kleine aanpassingen te maken. Ook het gebruik van breed ondersteunde open source programeertalen , zoals Python of Scala kunnen bijdragen aan het openbreken van de architectuur.

Scheiding tussen herbruikbare technische logica en specifieke functionele logica
Het scheiden van technische herbruikbare logica en specifieke functionele logica kan bijdrage aan het openen van een data architectuur. Denk hierbij aan het standaardiseren van veelgebruikte logica in specifieke laad templates of patterns welke gevoed kunnen worden met meta data, bijvoorbeeld via configuratie bestandjes. Op deze wijze kan 1 programma telkens worden aangeroepen om een bepaald type laadproces uit te voeren op basis van de gevoede meta data. Denk hierbij aan een laad programma voor het vullen van een dimensie tabel. Voor het overzetten van de dimensies naar een nieuw soort architectuur hoeft dan slechts 1 programma te worden aangepast voor alle dimensies in plaats van 1 programma per dimensie.

Standaardisering
Een standaard architectuur is makkelijker aan te passen of om te zetten dan een pluriforme architectuur. Het afdwingen van standaarden is echter geen sinecure. Ontwikkelaars hebben vaak de eigenschap dat zij zaken graag op hun eigen manier aanpakken. Zoveel ontwikkelaars op een platform, zoveel meningen over wat de juiste aanpak is voor het ontwikkelen van bepaalde functioneliteit. In het kader van flexibiliteit en wendbaarheid is standaardisatie belangrijker dan ooit. Het hyper automatiseren van ETL processen middels vaste geautomatiseerde templates kan bijdragen aan een gestandaardiseerde omgeving.

Conclusie
Omdat technische ontwikkelingen op dit moment zo snel gaan en waarschijnlijk in de toekomst steeds sneller en sneller zullen gaan, is de mate waarin bedrijven zich kunnen aanpassen aan nieuwe industriestandaarden bepalend voor het succes van deze bedrijven. Het is daarom zeer belangrijk om hier aandacht voor de hebben. Het voorkomen van lock-in situaties, is hierbij een belangrijke voorwaarde.

Reacties