“Hoe kan ik op een geautomatiseerde en kostenefficiënte manier waarde halen uit mijn data?”
“Welke rol speelt data engineering bij het inrichten van de IT infrastructuur?”
“Welke rol speelt een data engineer in een analisten team?”
Introductie
Het is inmiddels meer dan tien jaar geleden dat de data scientist is uitgeroepen tot meest sexy beroep van de 21ste eeuw. Succesverhalen van bedrijven als Amazon en Google hadden een inspirerend effect op de rest van de markt.
In deze tijd is het aantal data science vacatures exponentieel gegroeid. Echterkwamen veel bedrijven al snel van een koude kermis thuis.
De belangrijkste conclusie? Data science kan enkel waarde toevoegen wanneer je data fundament op orde is. De sterke relatie tussen data science en data engineering heeft gezorgd voor een sterke boost in het data engineering specialisme.
Wat is data engineering?
Data engineering speelt een cruciale rol in het toevoegen van waarde met data. In het kort is data engineering de manier om data beschikbaar en begrijpelijk te maken voor eindgebruikers, vaak zijn dit de data scientists of analisten.
Data engineers stellen data beschikbaar en maken data begrijpelijk door het ontwerpen en ontwikkelen van systemen om data op grote schaal te verzamelen, op te slaan en te verwerken.
Van het onderhouden en ontwikkelen van een infrastructuur tot het in productie brengen van zgn. ‘Machine Learning’ modellen. Data engineering is het fundament van ieder dashboard, analyse, model en applicatie. Dit maakt data engineering een omvangrijk en divers specialisme.
Wat doet een data engineer?
Vraag tien data engineers om een typische dag te beschrijven en je krijgt tien verschillende antwoorden. Data engineering is in het afgelopen decennium sterk veranderd en een erg brede functie geworden waardoor het beschrijven van een “typische” dag lastig is.
Een abstracte beschrijving is dat je als data engineer verantwoordelijk bent voor het ontsluiten, organiseren en koppelen van data met als doel de data zo effectief mogelijk te (leren) gebruiken.
Je werkt als data engineer nauw samen met de andere data specialismes en business stakeholders. Een sterke data engineer heeft een divers competentie pakket. Dit omvat Cloud Development, DevOps, Software Engineering en daarnaast de nodige soft skills, zoals effectief communiceren en samenwerken.
Het is waarschijnlijk dat je je als data engineer gaat focussen op enkele van bovenstaande zaken, waarbij je in een dynamische organisatie de vrijheid krijgt om het gehele vak te verkennen.
Welke rol speelt data engineering bij data science?
Als data science de Lionel Messi (spits) van het veld is, dan is data engineering de Andrés Iniesta (middenvelder): de stille kracht op de achtergrond die de onmisbare pass geeft richting een wereldgoal.
In eerste instantie ben je als data engineer verantwoordelijk voor het beschikbaar maken van data zodat data scientists ermee aan de slag kunnen. Daarnaast ben je ook op andere vlakken van ML Ops (Machine Learning Operations) zeer nauw betrokken.
Hierbij kun je denken aan feature engineering, het in productie nemen en onderhouden van data science modellen door het toepassen van CI/CD (Continuous Integration & Continuous Development), model versie beheer en het administreren van data door middel van metadata.
Het doel is om de data scientist te ontzorgen van alle infrastructuur- en development vraagstukken zodat de data scientist zich kan focussen op het ontwikkelen van het daadwerkelijke model.
Voor welke gebieden gebruikt een data engineer tools en welke zijn dat?
Hoewel tools onderschikt zijn aan de conceptuele principes en fundamenten van een data engineer, zijn ze wel noodzakelijk.
Een data engineer heeft een groot aantal verschillende tools in zijn gereedschapskist. Deze gereedschapskist is ook weer opgedeeld in verschillende gebieden, we onderscheiden er voor nu even vier:
- Backend
- Data management
- MLOps
- Big Data
Backend
Bij backend data engineering is een aantal tools belangrijk. Als Microsoft partner gebruiken we veel functionaliteiten uit de Azure stack, maar voor opdrachtgevers werken wij ook met andere tooling.
Daarbij valt te denken aan serverbeheer via Linux, versiebeheer en code management in GIT, development en deployment via Docker of custom ontwikkelde oplossingen.
Het ontwikkelen van oplossingen gebeurt binnen Cmotions voornamelijk door middel van Python, omdat dit de programmeertaal is die over het algemeen door de data scientists bij de klant wordt gesproken.
Het is van belang om schaalbare en leesbare code te schrijven, zodat deze ook makkelijk over te dragen is naar een klant. Er zijn verschillende projecten waar oplossingen voor gemaakt zijn. Een goed voorbeeld is bijvoorbeeld de Collecte Connector, een data management platform voor de goede doelen.
Data management
Data management is een omvangrijk onderwerp. Kort gezegd houdt dit het organiseren van data stromen en -eigenaarschap in.
Als je data als bouwmaterialen van informatie ziet, dan moet het materieel goed geordend worden zodat niet alleen de herkomst maar ook de toepasbaarheid helder is. Idealiter wordt dit vastgelegd in een IT-systeem; een data (management) platform.
Binnen Cmotions worden data platformen in Azure ontworpen en ontwikkeld, met Azure Synapse als kloppend hart. Hiermee is het mogelijk om data uit de verschillende bronnen op allerlei manieren te ontsluiten in één centrale opslag, waar een uniform data model uitgerold wordt dat gebruikt wordt door de hele organisatie.
Het ontwikkelen van deze data platformen gebeurt gestructureerd en geautomatiseerd, door middel van bijvoorbeeld IaC (Infrastructure as Code) met Bicep of Terraform.
MLOps
MLOps staat voor Machine Learning Operations. Het is een samentrekking van ‘Machine Learning’ en ‘DevOps’ en heeft als belangrijkste taak het operationeel krijgen van Machine Learning (ML) modellen.
ML is een vorm van kunstmatige intelligentie (AI) die gericht is op het bouwen van systemen die van de verwerkte data kunnen leren of data gebruiken om beter te presteren. De belangrijkste werkzaamheden hierbij zijn om grote hoeveelheden data te verkrijgen en te schonen.
Eigenlijk is MLOps een methode die wordt ingezet om nieuwe machine learning modellen te ontwikkelen in een iteratief proces.
Met MLOps wordt het deployment proces van de modellen controleerbaar en succesvol gemaakt en is het eenvoudiger te monitoren en bij te sturen indien nodig. Daarmee ligt MLOps op de scheidslijn van Data Engineering, DevOps en data science.
Big Data
Big data is misschien wel het buzzwoord van data engineering. Organisaties waarbij grote hoeveelheden data snel verwerkt moeten worden, eisen soms specialistische tools. Gedistribueerde computing systemen zoals Spark en Hadoop spelen hierbij een belangrijke rol.
Deze systemen kunnen in hoge snelheid, grote hoeveelheden data verwerken. Het beschikbaar hebben van realtime data wordt ook een steeds meer voorkomende eis van de business.
Binnen Cmotions wordt Azure Synapse gebruikt om data vraagstukken op te lossen. De combinatie van Synapse en de data lakehouse architectuur biedt mogelijkheid om realtime en streaming data te combineren met traditionele data stromen.
Cmotions en data engineering
Om een goed data management platform te creëren, is een sterk data fundament nodig. Daar kunnen onze data engineers bij helpen: ze stellen data beschikbaar en maken data begrijpelijk door het ontwerpen en ontwikkelen van systemen om data op grote schaal te verzamelen, op te slaan en te verwerken.
Onze data engineers kunnen samen met andere data specialismen en stakeholders ervoor zorgen dat jouw data optimaal benut gaat worden. Heb je vragen en/of wil je weten wat wij voor jouw organisatie kunnen betekenen? Neem dan contact op via onderstaande middelen.