Gecentraliseerde configuratie in Microsoft Fabric: OTAP vereenvoudigen met Variable Libraries
Het probleem
Het beheren van configuratiewaarden over Development, Test, Acceptatie en Productie (OTAP) omgevingen is een cruciale maar complexe taak in elk dataplatform-project. Teams moeten ervoor zorgen dat elke pipeline, notebook en dataflow consequent verwijst naar de juiste connection strings voor databases en storage accounts; bestands- en folderpaden in datalakes- of warehouses en service endpoints/API URL’s.
Traditionele benaderingen en gevolg
Traditionele benaderingen – zoals het hard-coden van waarden in notebook-cellen, het bijhouden van aparte JSON/YAML-bestanden per omgeving of het vertrouwen op environment variables die tijdens deployment worden geïnjecteerd – veroorzaken vaak configuratiedrift die leidt tot onverwachte pipeline-fouten. Ze creëren een aanzienlijke handmatige overhead wanneer meerdere ontwikkelaars wijzigingen samenvoegen, bestanden valideren en omgeving-specifieke fouten oplossen.
Het resultaat is een onderhoudsnachtmerrie: pipelines falen omdat de verkeerde URI actief was, deployments stagneren terwijl je op zoek bent naar een ontbrekende sleutel. Dit constante brandjes blussen kost engineering tijd, introduceert verborgen bugs en vertraagt je vermogen om datagedreven inzichten te leveren.
De nieuwe oplossing
Microsoft Fabric, Microsoft’s nieuwste SaaS-dataplatform, pakt deze uitdagingen aan met de nieuwe Variable Libraries feature. Variable Libraries bieden een gecentraliseerde, versiebeheerde opslagplaats voor named variables, aangevuld met aparte value sets voor elke OTAP-fase die je naar behoefte kunt wisselen. Handmatig in de UI of automatisch via CI/CD. Omdat deze libraries first-class Fabric artifacts zijn, haalt elke pipeline, notebook en dataflow uit dezelfde configuratiebron, waardoor silo bestanden, verspreide scripts en de bijbehorende fouten niet meer hoeven voor te komen.
Hoe werkt gecentraliseerde configuratie in Microsoft Fabric?
In de kern is een Variable Library een artifact, bestaande uit:
- Variables: named placeholders (key/value pairs) van een bepaald type (String, Int, Boolean, Date);
- Value Sets: collecties van variable values op maat gemaakt voor individuele omgevingen (bijvoorbeeld Dev, Test, Prod).
Elke Library onderhoudt een default value set plus een willekeurig aantal overrides en je kunt de actieve omgeving in seconden wisselen. Tijdens een CI/CD-deployment schakelt de pipeline eenvoudig de actieve value set om naar “Test” of “Prod” en publiceert vervolgens je workspace items.
Tijdens elke pipeline run lost elke verwijzing naar @variables('…') automatisch op naar de juiste URI’s of credentials voor die werkruimte. Met andere woorden: je bouw- en uitrolproces rolt niet alleen pijplijnen en notebooks uit, maar voert tegelijkertijd de correcte configuratie door in één enkele, herhaalbare stap handmatige wisselingen zijn overbodig en er is over alle omgevingen heen consistentie gewaarborgd.
Hoe ga ik aan de slag met gecentraliseerde configuratie in Microsoft Fabric?
Variable Libraries zijn momenteel nog in preview, dus moeten eerst worden ingeschakeld.
- Ga in de Admin Portal naar Tenant Settings en zet "Users can work with variable libraries (preview)" aan.
- Wijs de juiste RABC-rollen toe: Authors hebben Contributor-rechten nodig op de Library; Readers hebben Read-rechten.
- Ga vanuit Fabric Home naar Create, Data Factory en Variable Library.
- Klik in de Library UI op "+ New variable"
- Name: bijvoorbeeld lakehousePath
- Type: String
- Default value: je Dev URI
- Onder Value sets, klik op "+ Add value set" om Test en Prod overrides te definiëren.
- Wissel de Active marker om tussen Dev/Test/Prod tijdens development of CI/CD.
Nu kun je deze variable in elke data factory pipeline benaderen met de expressie "@variables('lakehousePath')".
Kunnen deze variabelen vanuit notebooks worden aangeroepen?
Op dit moment ondersteunen de nieuwe Microsoft Fabric Variable Libraries geen directe toegang vanuit notebooks. Dit betekent dat je variable values niet rechtstreeks kunt ophalen met Python-code of een ingebouwde SDK-methode in een standalone notebook. Het enige ondersteunde gebruik is binnen Data Pipelines, waar je variables uit de Variable Library kunt refereren en deze vervolgens als parameters meegeven aan een notebook activity. In de notebook kun je die parameters ophalen door de cel in te stellen op een parameter type cel.
Best practices
Bij Creates hanteren we verschillende best practices bij het adopteren van Variable Libraries in Fabric. Zo is het aan te raden om duidelijke naming conventions te hanteren die projectdomeinen weerspiegelen en gerelateerde instellingen in aparte libraries te groeperen. Op deze manier wordt ownership en toegang op least-privilige niveau beheerd. Hiervoor gebruiken we Fabric’s ingebouwde role-based access controls, zodat alleen aangewezen contributors library inhoud kunnen wijzigen terwijl anderen read-only toegang behouden. Daarnaast is het verstandig om je pipelines te refreshen na wijzigingen in de Variable Library om te verzekeren dat nieuwe variables of updates worden herkend.
Conclusie
Door alle OTAP-configuratiewaarden te centraliseren in een beheerde Fabric-workspace item, elimineren Variable Libraries verspreide scripts en omgeving-specifieke bestanden, en garanderen ze dat elke pipeline, notebook of dataflow één enkele waarheid gebruikt. Het resultaat is een betrouwbaarder deployment-proces, snellere troubleshooting bij issues en een schoner audit trail voor beheerteams. Bij Creates hebben we gezien hoe deze feature de ontwikkeltijd versnelt, operationeel risico verlaagt en de algehele kwaliteit van dataplatforms verhoogt.