Proefopstelling Automated Docs

Vanuit onze beproefde concept Innovation Day ontdekken en ontwikkelen collega’s in één dag een werkende oplossing obv nieuwe technologie en een uitdaging.

In deze editie de Proefopstelling Automated Docs

Probleemstelling

Elke dag werken onze data engineers met (complexe) dataplatformen. Om het datamodel uit te breiden met nieuwe functionaliteit. Of om het model te verbeteren. Of een probleem op te lossen. Als je goed bekend bent met de omgeving kan je meestal goed inschatten welke afhankelijkheden er liggen en welke impact een bepaalde wijziging heeft op andere delen van de omgeving. Maar als de omgeving (deels) nieuw is, is dat niet altijd duidelijk. Dan is er een grondige analyse nodig om deze impact scherp te krijgen, zodat een wijziging zonder onbedoelde neveneffecten doorgevoerd kan worden. Deze analyse kan tijdrovend zijn, dus hoe fijn zou het nu zijn als op een overzichtelijke manier de afhankelijkheden weergegeven kunnen worden, die ook nog up-to-date is?

Uitwerking idee en proefopstelling

Interpreteren van de data

Deze proefopstelling voor de Innovation Day richt zich op deze situatie uit de praktijk. Het team heeft een methode opgezet om de metadata van de procesflow van dataverwerking te verzamelen, organiseren en vervolgens te visualiseren. Startpunt van de opstelling is een schedule: SQL Agent job, Windows task, Crontab, Airflow, Oozie, etc. Waarbij de scripts en query resultaten de input zijn voor de oplossing. Met python worden de scripts (SQL Job, database-script, SSIS package) geïnterpreteerd, waarbij objecten en relaties bepaald worden en in een object model worden vastgelegd.

Automated documents proces

Visualiseren van de data

De uitdaging was vervolgens om deze data op een overzichtelijke manier te visualiseren. Met de tool GraphViz kon deze stap genomen worden. Na wat puzzelen op de functionaliteit van deze tool en de mogelijkheden voor visualisatie konden de eerste resultaten verkregen worden.

Automated documents output

Resultaat

Aan het eind van deze Innovation Day is een mooie werkende oplossing gerealiseerd. Een oplossing die op basis van metadata over SQL jobs, scripts en packages een grafische weergave creëert waarmee je afhankelijkheden van entiteiten snel kan zien.

Omdat deze methode in feite het gehele dataplatform in kaart kan brengen, bleek al snel dat één overzichtelijke plaat geen bruikbaar resultaat zou zijn. Daarom is gekozen voor en methode waarbij je steeds delen van de oplossing kan bekijken. Dit is ook praktisch is als je een aanpassing in een bepaald deel van de oplossing moet maken. Zo kan je voor het betreffende deel bekijken welke afhankelijkheden er liggen met welke entiteiten ervoor en erna.

Een ander voordeel van deze oplossing is dat deze visualisatie altijd gemakkelijk actueel gemaakt kan worden door het proces te refreshen. Daarmee wordt de visualisatie weer gebaseerd op de huidige situatie in de code. Dit maakt het continue onderhouden van documentatie over deze data daarmee overbodig.

Welke uitdaging met beheer documentatie zou jij eens praktisch en vrijblijvend met ons willen bespreken?

 

Jeroen-spanjaard

Meer weten? Neem vrijblijvend contact op met

Jeroen Spanjaard

Manager Projects & Delivery

jeroen.spanjaard@riviq.nl
+31 628 956 453
linkedin.com/in/jeroenspanjaard

Meer over dit onderwerp