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 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
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
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?
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
Battle Azure OpenAI met ChatGPT
“Kun je, door inzet van AI, in een natuurlijke taal een vragen stellen aan een database?” ‘En het antwoord geautomatiseerd teruggeven in een visual.
Proefopstelling Logging en Monitoring
Je dagelijkse data laadproces inzichtelijk om pro-actief een potentieel issue te voorkomen
Innovation Day editie Power BI – juni 2022
2 teams, 2 challenges: In één dag een werkende oplossing voor Power BI Governance Insights en Power BI version control