Aan de slag: Sovereign Data Platform

Deze pagina behandelt specifiek het product Sovereign Data Platform: de klantgebonden Spark-op-Kubernetes-omgeving voor interactieve notebooks (JupyterHub) en BI/query-serving (Trino) bovenop een Delta Lake-catalogus op basis van Unity Catalog, end-to-end beveiligd met één Keycloak-identiteit en de native OPA-toegangsplugin van Trino.

Het plannen van productiejobs op een klantgebonden Apache Airflow-instantie is een apart, optioneel product — zie Aan de slag: Airflow voor de eigen getting-started-pagina. Voor een stapsgewijze rondleiding door de gebruikersinterface zie je de Gebruikershandleiding.

Management summary

De rest van deze pagina is geschreven voor de mensen die daadwerkelijk op het platform gaan bouwen. Deze sectie is voor wie moet beslissen of dat gebeurt, of er achteraf over rapporteert — een manager, product owner of sponsor die de vorm van het geheel wil zien zonder de implementatiedetails.

Je krijgt een eigen omgeving voor je organisatie, geen gedeelde multi-tenant service, die twee taken dekt die normaal gesproken aparte tools en aparte inkoop vereisen: een plek om data interactief te verkennen, en een plek om het te bevragen voor BI en dashboards. Beide zijn gebouwd op gevestigde open-sourceprojecten (Apache Spark, Trino, JupyterHub) in plaats van propriëtaire lock-in, en beide zitten achter één identiteitssysteem, zodat toegang op één plek wordt beheerd in plaats van per tool. Voeg het optionele Airflow-product toe als je ook productieplanning nodig hebt.

Het is laag risico om te adopteren, omdat hetzelfde codepad dat een analist handmatig in een notebook draait ook het exacte codepad is dat een geplande productiejob gebruikt. Er is geen aparte “dev”-versie van het platform die uit de pas kan gaan lopen met wat daadwerkelijk in productie draait. De omgeving van elke klant is bovendien volledig geïsoleerd van die van elke andere klant, tot op de Kubernetes-identiteit waaronder een job draait, dus dit is geen gedeeld blast radius.

Wat de kosten betreft: zie de prijspagina op de marketingsite. Die noemt drie schaalgroottes (small/medium/large) die aansluiten op deploymentprofielen die al in productie draaien, geen verzonnen marketingcijfers. Neem contact op voor een offerte.

Provisioning zelf is een Keycloak-realm per klant plus JupyterHub en Trino. Daarna gaat onboarding vooral over identiteit: wie krijgt platform-users versus platform-admins. De onderstaande secties lopen die stuk voor stuk door.

Identiteit

Per klant wordt één Keycloak-realm geprovisioned. Elk onderdeel dat je gebruikt, JupyterHub en Trino, authenticeert tegen datzelfde realm en leest dezelfde groups-claim uit je token, zodat groepslidmaatschap op één plek wordt beheerd, niet in een aparte directory per tool. Voor elke klant bestaan standaard twee groepen: platform-users en platform-admins.

Interactief notebooks draaien

Log in bij JupyterHub met je Keycloak-account. Je notebook-kernel is de Spark-driver (client mode): dezelfde container-image en hetzelfde platform-codepad die productiejobs gebruiken. Er is geen aparte “dev”-omgeving die synchroon moet blijven met productie.

Data bevragen

Trino, geauthenticeerd tegen hetzelfde Keycloak-realm, serveert je Delta Lake-tabellen. Row-level en column-level beleid (wie welke rijen mag zien, of welke kolommen worden gemaskeerd) wordt selfservice opgesteld door je product owners in security-center, als je organisatie die module heeft ingeschakeld.