Low-code/no-code versus zelf coderen
Ontdek of low-code/no-code oplossingen geschikt zijn voor jouw situatie
- Artikel
- Data Engineering
Jaren geleden kon je geen applicatie of proces ontwikkelen zonder kennis van complexe programmeertalen als Javascript, PHP, en Python. Je had een programmeur of Data Engineer nodig. Vandaag de dag is er een tekort aan technische experts, terwijl er steeds meer low-code oplossingen op de markt verschijnen. Deze tools stellen je in staat om zonder diepgaande technische kennis aan de slag te gaan. Of dit de juiste oplossing voor jou is, hangt van verschillende factoren af. Maak de juiste beslissing met behulp van dit artikel.
* Voor de leesbaarheid van het artikel, communiceren we de term ‘low-code’.
Met een low-code oplossing heb je minder tot geen diepgaande technische kennis nodig. Dankzij de gebruiksvriendelijkheid van de verschillende tools kun je eenvoudig je gewenste oplossing in elkaar klikken. Is low-code dan de logische keuze voor elk datavraagstuk? Bij het beantwoorden van deze vraag is het belangrijk een aantal zaken te overwegen:
Low-code oplossing of zelf programmeren? 6 overwegingen bij het maken van de juiste keuze
1. Is low-code echt zo eenvoudig?
Met low-code maak je complexe oplossingen ogenschijnlijk simpel. Je krijgt een mooi visueel overzicht, waarbij je door kunt klikken om in te zoomen op de details. Dit is ook een gevaar: doordat de details soms diep verborgen zijn, kun je ze over het hoofd zien. Hierdoor kun je lastig volgen wat er precies gebeurt. Als de data maturity toeneemt, kan een simpele opzet een ware spaghetti worden. Hierdoor is het onoverzichtelijk welke stappen nodig zijn voor het produceren van de eindtabellen. Dit gaat ten koste van het vertrouwen in de correctheid van de data die wordt uitgeleverd aan de eindgebruiker.
2. Kun je focus aanbrengen?
Low-code oplossingen hebben vaak een bepaalde focus. Verwacht dus geen totaaloplossing als je met low-code aan de slag gaat. Kijk kritisch waar je ze voor inzet, en waarvoor niet. Als je een complex vraagstuk hebt, bieden low-code oplossingen waarschijnlijk niet de flexibiliteit die je nodig hebt. Je kunt er bijvoorbeeld voor kiezen om de data ontsluiting te doen met low-code oplossingen en de datatransformaties met behulp van code.
3.Willen je collega’s met een low-code oplossing werken?
Wees je ervan bewust dat de technische mensen die nodig zijn om bijvoorbeeld een datawarehouse in te richten, liever niet met low-code tooling werken. Als de tooling namelijk niet meer toereikend blijkt, moeten ze de gehele ‘spaghetti’ ontwarren en alles opnieuw programmeren.
4. Word je niet te afhankelijk van één specialist?
Het aantal programmeertalen is beperkt. Elke dataprogrammeur beheerst bijvoorbeeld SQL, waardoor het werk goed overdraagbaar is. Daarentegen zijn er veel verschillende low-code oplossingen, wat de kans verkleint dat je iemand vindt die precies jouw oplossing kent. Als die persoon vervolgens je organisatie verlaat, kan dat tot problemen leiden.
5. Wat zijn je vereisten op het gebied van performance?
Als je klein begint én eindigt, kun je eenvoudig iets bij elkaar klikken in een low-code oplossing. Ga je van alles toevoegen, dan loop je al snel tegen performance issues aan. Je kunt de manier waarop je data getransformeerd wordt meestal slecht optimaliseren in een low-code tool.
6. Biedt een low-code oplossing, ook in de toekomst, wat je nodig hebt?
Houd er rekening mee dat low-code oplossingen op termijn mogelijk niet meer voldoen als je behoeften veranderen, omdat details van de opzet moeilijk te achterhalen zijn. Wil je de oplossing in de toekomst gemakkelijk uitrollen naar meerdere teams, zoals een data platform met vaste componenten, dan is een code-gebaseerde aanpak raadzaam. Met Infrastructure as Code (IaC) kun je met verschillende parameters snel dezelfde omgeving opzetten.
Wanneer kiezen voor een low-code oplossing?
Low-code oplossingen zijn vooral geschikt voor kleinere, eenvoudige projecten. Denk hierbij aan het uitvoeren van simpele datatransformaties op één databron, zoals het rapporteren van marketingresultaten voor Facebook en het beschikbaar stellen van deze data aan je dashboardtool.
Als je zeker weet dat alles wat je wilt doen binnen de mogelijkheden van een specifieke low-code oplossing valt, is het een efficiënte aanpak. Verwacht je echter in de toekomst op te willen schalen en denk je dat de requirements zullen toenemen? Houd er dan rekening mee dat je tool mogelijk niet meer toereikend zal zijn. Complexere transformaties zijn vaak niet mogelijk en het combineren van verschillende databronnen wordt lastig.
Wat zijn betrouwbare low-code oplossingen?
Wanneer je op zoek gaat een low-code oplossing, zie je al snel door de bomen het bos niet meer. De markt wordt overspoeld door tools met hoge marketingbudgetten. We helpen je graag op weg met deze betrouwbare low-code oplossingen
Extract fase: tools waarmee je data uit systemen haalt
Data ingestion tools als Fivetran en Stitch zijn heel nuttig. Je gebruikt hierbij built-in connectoren die al gebouwd zijn door andere ontwikkelaars. Het voordeel hierbij is dat je niet zelf het wiel hoeft uit te vinden maar al gedefinieerde verbindingen gebruikt. Dit is met name nuttig voor het ophalen van data uit veelgebruikte systemen zoals SAP, Salesforce, HubSpot en marketingplatformen als Meta en Google.
Cloud providers bieden soms ook low code oplossingen aan voor het ophalen van data. Microsoft Azure heeft bijvoorbeeld veel connectoren beschikbaar binnen Data Factory waarmee je de data ontsluit richting je data lake of data warehouse. Zo kun je de ruwe data uit je SAP-systeem of Salesforce halen.
Transform fase: tools waarmee je je data transformeert
Ook voor het transformeren van data worden er veel low-code oplossingen aangeboden. Een voorbeeld is Data Flows binnen Azure Data Factory, een oplossing waarin je door te klikken alle transformaties definieert/opmaakt zonder het gebruik van code. Wij raden het gebruik van deze tool in de meeste gevallen af, omdat het snel onoverzichtelijk wordt en er veel gelaagdheid ontstaat. Je bent al snel genoodzaakt om meerdere transformatie blokjes bij elkaar te klikken voor relatief simpele transformaties. Dit terwijl je ook in 10 overzichtelijke en leesbare regels SQL code de transformatie kunt vastleggen.
Data build tool (DBT) past ook bij de trend waarin je als programmeur minder boilerplate code (standaard, herhalende codefragmenten) hoeft te schrijven. Veelgebruikte operaties worden geabstraheerd door het framework waardoor je uiteindelijk minder code hoeft te schrijven. Wel blijft het belangrijk dat je SQL en Jinja beheerst om het beste uit het framework te halen en efficiënte code te schrijven.
DBT is geen low-code oplossing, maar een framework dat je onder andere helpt bij het vastleggen van je datatransformaties en de borging van je datakwaliteit. Het is daarmee een versneller van het werk van een programmeur of Analytics Engineer. Lees hier hoe dit in de praktijk kan werken.
Low-code oplossing of zelf coderen? We denken graag met je mee
In de praktijk zien we steeds meer mogelijkheden om low-code tooling te gebruiken. Jouw context is hierbij erg belangrijk. Als er weinig technische kennis is binnen je organisatie, kunnen low-code oplossingen een uitkomst zijn.
Het is echter niet handig om klein te beginnen met low-code en vervolgens op te schalen met behulp van code wanneer de complexiteit toeneemt. Dit vereist dat je al je data migreert en in feite helemaal opnieuw begint. Bedenk dus van tevoren waar je heen wilt en of dit past bij je (data)strategie.
Probeer niet elk probleem met low-code op te lossen. Kies bepaalde low-code oplossingen als onderdeel van je architectuur om werkzaamheden te versnellen, zodat je ontwikkelaars tijd overhouden voor complexe vraagstukken.
Neem contact met ons op als je wilt sparren over de juiste inzet en implementatie van low-code oplossingen voor jouw organisatie.
Dit is een artikel van Casper Damen
Casper Damen is een senior Data Engineer en Team Lead. Hij heeft een passie voor automatisering, cloud- en datapipelines. Door best practices voor softwareontwikkeling toe te passen op analytics, zorgt hij voor betrouwbaardere, beter onderhoudbare en schaalbare dataoplossingen. Door de jaren heen heeft Casper verschillende dataplatformen gebouwd in meerdere cloudproviders.
Data Engineercasper.damen@digital-power.com
1x per maand data insights, praktijkcases en een kijkje achter de schermen ontvangen?
Meld je aan voor onze maillijst en blijf 'up to data':