Samenvatting
Voor een grote Nederlandse onderneming is een intern BI-/dataplatform-portaal gebouwd: een bento-achtig startscherm met tegels die rechtstreeks op de Azure-omgeving aanhaken. Vanuit dat ene scherm zijn Data Factory-pipelines, Automation-runs, SQL-metrics, resource health en alerts te volgen, en kunnen pipelines handmatig opnieuw getriggerd worden. Toegang loopt via Microsoft Entra ID SSO, met per tegel een eigen rolgebaseerde autorisatie en een audit-trail van wie wat heeft gezien of gedaan. Het platform vervangt los overzicht dat eerder verspreid zat over verschillende Azure-portalen.
De vraag
Eén overzichtsscherm bouwen voor de Azure-datainfrastructuur, zodat operations niet meer tussen losse Azure-portalen hoeft te schakelen om te zien of pipelines draaien en resources gezond zijn, inclusief de mogelijkheid om zelf in te grijpen zonder volledige Azure-rechten uit te delen.
Wat ik heb gebouwd
- Bento-dashboard met tegels voor pipeline-monitoring, Automation-runs, SQL-metrics, resource health en alerts, elk met live data uit de Azure-management-API's
- Handmatig triggeren van Data Factory-pipelines via webhooks, direct vanuit een tegel
- Analysis Services-beheer (pauzeren en hervatten) via een op maat gemaakte Azure-rol die alleen die twee acties toestaat, geen volledig beheer
- Login via Microsoft Entra ID SSO, met per-tegel rolgebaseerde toegang en audit-logging in Azure SQL
- Een eigen databaselaag (Azure SQL) voor gebruikers, permissies en audit-events, met schema-beheer via migraties los van de runtime
- Deploy op Azure App Service met OIDC-gebaseerde CI/CD via GitHub Actions, zonder langlevende secrets
In detail
- Pipeline-monitoring en ingrijpen op één plek: een tegel toont de status van pipelines en kan ze opnieuw starten, zonder dat de gebruiker zelf in Azure hoeft in te loggen
- Resource health en alerts in één oogopslag, zodat storingen zichtbaar zijn voordat ze escaleren
- Beheer met minimale rechten: Analysis Services pauzeren of hervatten loopt via een rol die uitsluitend die acties toestaat, in plaats van volledige beheerrechten
- Per-tegel autorisatie met audit-trail: niet-toegestane tegels bestaan simpelweg niet in de render, en elke actie wordt gelogd voor traceerbaarheid
- Secretless deploy: CI/CD met OIDC-login naar Azure, dus geen langlevende deploy-secrets in de repository
Resultaat
Uitgerold op productie-infrastructuur (Azure App Service) en in gebruik als intern overzichtsplatform, met een doorlopend releaseritme.