Componenten
Waarom juist deze keuzes?
Elk onderdeel van dit platform is bewust gekozen. Niet omdat het gratis is, maar omdat het de beste oplossing is voor de schaal en behoeften van gemeenten en vergelijkbare organisaties.
Architectuur
Het datawarehouse als fundament
Voordat je naar de componenten kijkt, is het goed te begrijpen hoe ze samenhangen.
Drie lagen, één samenhangend geheel
Het datawarehouse is gemodelleerd naar de processen van de organisatie, niet naar de structuur van de bronsystemen. Dat maakt het duurzaam — ook als bronsystemen na een aanbesteding wisselen, blijft het datawarehouse intact. De opzet volgt het Gemeentelijk Gegevensmodel (GGM) van de VNG als logisch uitgangspunt, en Genesee Datavault als methodiek voor de centrale opslaglaag.
Tijdelijke opslag van ruwe brongegevens. Vluchtig — alleen bedoeld om gegevens uniform binnen te halen voor verdere verwerking.
Het hart van het platform. Hier worden gegevens geïntegreerd uit meerdere bronnen, wordt historie opgebouwd en vindt de overgang plaats van bronsysteem-denken naar organisatieproces-denken.
De laag die toegankelijk is voor gebruikers en visualisatietools. Dimensionele stermodellen volgens Kimball — geoptimaliseerd voor snelle bevragingen en begrijpelijke structuur.
Componenten
Elke keuze onderbouwd
Waarom PostgreSQL?
PostgreSQL is aantoonbaar de meest robuuste open source relationele database — robuuster dan MySQL of MariaDB op het gebied van ACID-compliance, transactiebeheer en uitbreidbaarheid. Het schema-systeem maakt fijnmazige rechtenbeheer mogelijk, wat essentieel is voor een platform met meerdere gemeenten en gevoelige persoonsgegevens.
De extensie pg_duckdb brengt de analytische snelheid van DuckDB naar PostgreSQL — zodat complexe analytische query's over grote datasets sneller worden uitgevoerd, terwijl alle andere toepassingen gewoon tegen PostgreSQL blijven praten. PostGIS voegt uitgebreide geo-mogelijkheden toe. pgaudit verzorgt de audit-logging die BIO2 vereist.
Waarom Apache Hop?
Apache Hop is een afsplitsing van Pentaho Data Integration — een van de meest gebruikte ETL-tools bij Nederlandse gemeenten. Hop is volledig open source, actief doorontwikkeld en gratis. De grafische interface maakt het toegankelijk voor ontwikkelaars zonder diepgaande programmeerkennis.
Waarom Airflow voor orkestratie?
Airflow is speciaal ontworpen voor de batchprocessen die de kern vormen van dit platform — dagelijkse nachtelijke verladingen. Het biedt uitgebreide mogelijkheden voor het beheren van afhankelijkheden, herstarten bij fouten en inzicht in de uitvoeringsgeschiedenis. Python als basis maakt het flexibel uitbreidbaar.
Apache Tika en GeoServer
Tika verzorgt tekstextractie uit documenten zoals vergunningen, raadsstukken en WOO-verzoeken. GeoServer ontsluit geodata in gestandaardiseerde formaten (WMS, WFS) zodat die beschikbaar komt voor verdere verwerking en analyse.
Waarom Superset, Metabase of Grafana?
Het platform ondersteunt drie visualisatietools, waarvan er per implementatie één of meer worden ingezet afhankelijk van de voorkeur van de organisatie. Superset is krachtiger en geschikter voor technische gebruikers en ontwikkelaars van complexe dashboards. Metabase is toegankelijker voor eindgebruikers die zelf willen verkennen zonder SQL-kennis. Grafana positioneert zich naast zijn klassieke rol bij monitoring actief als BI-tool en is een volwaardige derde optie.
Alle drie tools zijn open source en werken direct op de dimensionele modellen in de datamart. De visualisatierichtlijnen van Stephen Few — lijngrafieken, staafgrafieken, scatterplots — zijn in alle drie tools toepasbaar.
Waarom OpenMetadata?
OpenMetadata combineert de functionaliteit van een gegevenswoordenboek en een gegevenscatalogus in één tool. Het legt definities, gemeentelijke terminologie, gegevenseigenaren, lineage en technische metadata vast. Lineage — de traceerbaarheid van gegevens van bron tot eindproduct — is essentieel voor verantwoording, zeker bij financiële informatie.
De integratie met het GGM maakt het mogelijk om gemeentelijke begrippen eenduidig te definiëren en te koppelen aan de fysieke structuur van het datawarehouse.
Waarom Keycloak?
Keycloak is een enterprise-grade identity provider, gebouwd door Red Hat en gebruikt door grote Europese overheden. Het verzorgt single sign-on voor alle componenten van het platform — Superset, Airflow, Forgejo, OpenMetadata — zodat gebruikers met één account toegang hebben. Keycloak ondersteunt ook federatie met Microsoft Entra ID voor organisaties die dat gebruiken, zonder afhankelijkheid van Microsoft te creëren.
Waarom Vaultwarden?
Vaultwarden is een lichtgewicht, open source implementatie van Bitwarden — een van de meest vertrouwde wachtwoordmanagers. Het biedt een centrale, veilige opslag voor toegangsgegevens van het platform, bereikbaar via een webinterface.
Monitoring en versiebeheer
Prometheus verzamelt continu metrieken van alle componenten. Grafana visualiseert die metrieken in monitoringsdashboards en is tevens inzetbaar als BI-tool voor organisaties die daar de voorkeur aan geven. Cockpit biedt een webgebaseerde systeembeheeromgeving voor dagelijkse beheertaken.
Forgejo verzorgt versiebeheer van alle Ansible-playbooks en ETL-workflows. Alle wijzigingen aan het platform zijn traceerbaar en terugdraaibaar. Taiga ondersteunt de agile ontwikkelplanning rondom het platform.
Ansible als rode draad
De volledige installatie van alle componenten is vastgelegd in Ansible-playbooks. Dat betekent dat het platform op elke server volledig reproduceerbaar uitgerold kan worden — geen handmatige stappen, geen verborgen configuraties. De playbooks zijn openbaar beschikbaar via Forgejo.