Proefopstelling Automated Docs V2.0

Vanuit ons beproefde concept Innovation Day ontdekken en ontwikkelen collega’s in één dag een werkende oplossing obv use case en inzet van (nieuwe) technologie.

Dit artikel is een update van een eerdere editie, waarbij we een Proefopstelling Automated Docs 1.0 (voor on-premise) hebben gebouwd. Deze keer ligt de lat hoger met een oplossing V2.0 om data platform omgeving in Azure geautomatiseerd te documenteren.

Probleemstelling

Nog even terug naar de originele vraag en use case voor Innovation day.

Elke dag werken onze data engineers met (complexe) data platformen. Om het datamodel uit te breiden met nieuwe functionaliteit, 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

Automated docs V1.0

In een eerdere editie van Innovation day (maart 2022) heeft het team gewerkt aan een eerste versie van deze proefopstelling ‘Automated docs’.

Automated docs V1.0 was nog gericht op een on-premise omgeving en alleen beschikbaar als command-line-interface. Hiervoor heeft het team 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

Automated docs V2.0

In deze editie van Innovation day (april 2023) ligt de lat hoger en is het plan om een oplossing te bouwen welke objecten kan uitlezen van een data platform in een Azure omgeving.

Denk hierbij aan:
– Statische analyse obv Git repository o.a. Azure JSON bestanden
– Ondersteuning voor Azure Data Factory
– En als het lukt binnen de tijd, ook DBT

architectuur automated docs 2.0

Visualiseren van de data

Tweede gedeelte van de oplossing om het inzicht te vergroten in objecten die worden geraakt ten gevolge van een aanpassing. Hierbij het plan om de eerder gebouwde V1.0 GUI (Web), een verbeterde gebruikerservaring en inzicht te geven.

Evenals in de V1.0 oplossing hebben we de tool GraphViz ingezet voor het visualiseren van de procesflow en dataflows van een testomgeving.

resultaat automated docs 2.0

Resultaat

Aan het van deze Innovation Day editie is een mooie werkende oplossing Automated docs V2.0 gerealiseerd. Een oplossing die op basis van metadata over o.a. ADF jobs, scripts en JSON bestanden een grafische weergave creëert waarmee je afhankelijkheden van entiteiten snel kan zien.

Vanuit de eerdere oplossing V1.0 bleek eerder dat het snel een onoverzichtelijk plaatje werd. Dit vanwege de methode dat in feite het gehele data platform in kaart wordt gebracht.

Daarom is gekozen voor een ‘filter’ methode waarbij je steeds delen van de oplossing eenvoudig kan bekijken. Dus meer in- of uitzoomen op een bepaalde dataflow. Dit is ook praktisch als je een aanpassing in een bepaald deel van de oplossing moet maken. Zo kan je snel een bepaald deel van een flow bekijken en zien welke afhankelijkheden er liggen met welke entiteiten ervoor en erna.

Een ander voordeel van deze oplossing is dat de visualisatie van dataflows altijd actueel zijn door het proces eenvoudig te refreshen. Daarmee wordt de visualisatie weer gebaseerd op de huidige situatie in de code. Dit maakt het continu (handmatig) onderhouden van documentatie over deze data(flows) 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