bayerncloud referenz referenz architektur
Mit der Superb Data Kraken wurde eine modulare, cloudbasierte Datenplattform entwickelt, die darauf ausgerichtet ist, strukturierte und unstrukturierte Daten aus verschiedenen Quellen effizient zu integrieren, automatisiert zu verarbeiten und nutzerfreundlich bereitzustellen. Die Lösung entstand in einem mehrjährigen, interdisziplinären Entwicklungsprojekt und wird inzwischen produktiv eingesetzt - unter anderem im Kontext von Datenanalyse, Qualitätsmonitoring und wissensbasierter Entscheidungsunterstützung.
Ziel war es, eine generisch nutzbare Plattform mit offenem Technologie-Stack zu schaffen, die sich flexibel an unterschiedliche fachliche Anforderungen anpassen lässt - etwa im Tourismus, im Verkehrswesen oder in der öffentlichen Verwaltung.
Systemarchitektur
@startuml
!includeurl https://raw.githubusercontent.com/RicardoNiepel/C4-PlantUML/master/C4_Context.puml
SHOW_PERSON_OUTLINE()
LAYOUT_TOP_DOWN()
Person(user, "User", "Uploads data and uses dashboards")
Person(admin, "Admin", "Manages roles and configurations")
System_Boundary(sdk, "Superb Data Kraken") {
System(sdk_platform, "SDK Platform", "Kubernetes-based platform", "Stores, processes and visualizes binary + metadata")
}
System_Ext(keycloak, "Keycloak", "IAM", "Authenticates users")
System_Ext(kafka, "Kafka", "Messaging", "Event transport layer")
System_Ext(azure_blob, "Azure Blob Storage", "Storage", "Stores binary files")
System_Ext(elasticsearch, "Elasticsearch", "Index", "Stores and searches metadata")
System_Ext(grafana, "Grafana", "Monitoring", "Displays processing metrics")
System_Ext(kibana, "Kibana", "Search UI", "Visualizes search data")
' Beziehungen
Rel(user, sdk_platform, "Uses via UI / REST")
Rel(admin, sdk_platform, "Manages configs and triggers workflows")
Rel(sdk_platform, keycloak, "Authenticates via OIDC")
Rel(sdk_platform, kafka, "Emits and receives events")
Rel(sdk_platform, azure_blob, "Stores binary data")
Rel(sdk_platform, elasticsearch, "Indexes metadata")
Rel(sdk_platform, grafana, "Publishes metrics to")
Rel(sdk_platform, kibana, "Provides search results to")
@enduml
@startuml
!includeurl https://raw.githubusercontent.com/RicardoNiepel/C4-PlantUML/master/C4_Container.puml
LAYOUT_LEFT_RIGHT()
Person(user, "User", "Uses the system")
System_Boundary(system, "Superb Data Kraken") {
Container(ui, "User Interface", "React/TypeScript", "Provides dashboards and upload functionality")
Container(upload, "Upload", "Spring Boot", "Receives files")
Container(access, "Access", "Spring Boot", "Checks data access")
Container(auth, "Keycloak", "IAM", "User authentication")
Container(proc, "Processor", "Python", "Enriches metadata")
Container(argo, "Argo", "Argo", "Runs workflows")
Container(blob, "Storage", "Azure Blob", "Binary data")
Container(es, "Elastic", "Elasticsearch", "Search index")
Container(kibana, "Kibana", "Elastic", "Search UI")
Container(grafana, "Grafana", "Grafana", "Metrics")
Container(kafka, "Kafka", "Messaging", "Events")
}
' --- Compact layout via dummy links ---
Rel_L(upload, access, "")
Rel_L(access, proc, "")
Rel_L(proc, es, "")
Rel_L(es, kibana, "")
' --- Main relationships ---
Rel(user, ui, "Uses")
Rel(user, upload, "Uploads", "REST")
Rel(user, access, "Checks access", "REST")
Rel(user, kibana, "Views results")
Rel(user, grafana, "Views metrics")
Rel(ui, upload, "Triggers upload")
Rel(upload, access, "Delegates check")
Rel(upload, kafka, "Emits events")
Rel(upload, blob, "Stores file")
Rel(access, proc, "Starts processing")
Rel(access, blob, "Validates access")
Rel(auth, access, "Authenticates")
Rel(proc, argo, "Triggers")
Rel(argo, blob, "Reads input")
Rel(proc, es, "Indexes")
Rel(proc, kafka, "Emits results")
Rel(es, kibana, "Provides data")
@enduml
Die Systemarchitektur der Superb Data Kraken basiert auf einem Headless-Ansatz. Das Web-Frontend kommuniziert ausschließlich über REST APIs mit den zugrundeliegenden Backend-Services. Die Plattform folgt einer konsequent modularen Mikroservice-Architektur und wird containerisiert in einer Kubernetes-Umgebung betrieben. Die Infrastruktur ist cloudbasiert und wird in Microsoft Azure gehostet. CI/CD-Prozesse sorgen für automatisierte Deployments in Entwicklungs- und Produktionsumgebungen.
Einzelne Dienste wie Space-Verwaltung, Zugriffskontrolle, Metadatenmanagement, Ingest, Suche oder Logging sind dabei klar voneinander getrennt und unabhängig skalierbar. Die eingesetzten Komponenten lassen sich durch eigene Services ergänzen oder ersetzen, was eine hohe Flexibilität in der Weiterentwicklung und Adaption für spezifische Anwendungsfälle ermöglicht.
Ein zentrales Konzept der Plattform ist die Aufteilung in Organisationen und Spaces. Organisationen repräsentieren in der Regel Unternehmen oder Institutionen, während Spaces spezifische Use Cases, Projekte oder Datendomänen innerhalb dieser Organisationen abbilden. Die Space-Verwaltung ermöglicht somit eine saubere Mandantentrennung und eine flexible Organisation datengetriebener Arbeitsbereiche.
Im Frontend bietet die Plattform eine zentrale Übersicht mit Kachelansicht und umfangreichen Filterfunktionen. Innerhalb der jeweiligen Spaces stehen interaktive Visualisierungen, strukturierte Metadaten und dateibasierte Datenzugriffe bereit.
Benutzeroberfläche & Usability
Die Benutzeroberfläche der Plattform ist vollständig webbasiert und wurde mit React und TypeScript entwickelt. Die verwendeten UI-Komponenten sind modular aufgebaut, wodurch sie bei Bedarf flexibel erweitert oder angepasst werden können.
Die Oberfläche unterstützt eine rollenbasierte Darstellung und stellt konfigurierbare Dashboards mit umfangreichen Filter- und Visualisierungsoptionen bereit. Neben den Dashboards stehen weitere zentrale Funktionen zur Verfügung, darunter ein FileExplorer zur Navigation und Verwaltung der hochgeladenen Dateien, ein Metadaten-Viewer zur strukturierten Darstellung der erfassten Informationen sowie ein Usermanagement-Modul zur Verwaltung von Rollen und Zugriffsrechten.
Das Dashboard-Framework ist anpassbar und erlaubt die Realisierung kundenspezifischer Ansichten - beispielsweise auf Basis touristischer Rollenmodelle für Destinationen, Leistungsträger oder Regionen.
Datenintegration & Verarbeitung
Die Plattform unterstützt eine Vielzahl von Importpfaden. Dazu zählen REST-basierte Schnittstellen, Datei-Uploads über das Webinterface, SFTP sowie Echtzeitdatenströme über MQTT oder Kafka. Die eingehenden Daten werden durch zentralisierte Ingest-Pipelines verarbeitet, validiert und indexiert. Die zugrundeliegenden Workflows sind automatisierbar und lassen sich an die jeweilige Datenquelle oder den Anwendungsfall anpassen.
Rollen- und Rechteverwaltung (RBAC)
Die Rechte- und Zugriffskontrolle erfolgt über dedizierte Komponenten wie den OrganizationManager und den AccessManager. Der OrganizationManager verwaltet die Struktur von Organisationen und Spaces sowie die damit verbundenen Nutzerrollen. Der AccessManager regelt den Zugriff auf Dateninhalte über sogenannte Shared Access Signatures, die granulare Leseschreibrechte auf Datenobjekte ermöglichen.
Die Plattform ist vollständig mandantenfähig, unterstützt hierarchische Rollenzuweisungen und bietet eine flexible Nutzerregistrierung über OIDC (z. B. via Keycloak). Auch domänenspezifische Rollenzuordnungen - etwa nach E-Mail-Domain oder regionaler Zugehörigkeit - können automatisiert umgesetzt werden. Für die übergreifende Steuerung steht eine Super-Admin-Rolle zur Verfügung.
Automatisierung & KI-Funktionen
Zur Unterstützung wiederkehrender Prozesse und datenbasierter Analysen setzt die Plattform auf modulare Ingest- und Worker-Komponenten. Diese ermöglichen unter anderem die automatisierte Extraktion und Validierung von Metadaten, semantische Textanalysen sowie regelbasierte Klassifikationen.
Darüber hinaus lassen sich eigene KI-Modelle in die Plattform integrieren - zum Beispiel LLMs für Textgenerierung, Übersetzung oder inhaltliche Prüfung. Die Architektur erlaubt den Austausch dieser Modelle ohne Lock-in, sodass auch Open-Source-basierte oder lokal betriebene Lösungen genutzt werden können.
Datenanreicherung & Crawling
Die Plattform unterstützt die automatisierte Anbindung offener und institutioneller Datenquellen. So können beispielsweise Inhalte aus OpenStreetMap, Wikipedia oder offiziellen Webseiten extrahiert und strukturiert für die Weiterverarbeitung bereitgestellt werden.
Änderungen an bestehenden Daten werden im jeweiligen Space-Dashboard angezeigt und können durch berechtigte Nutzer manuell übernommen oder verworfen werden. Bei stabiler Datenqualität ist auch ein automatisierter Abgleich und Sync mit externen Quellen denkbar.
Dashboard & Reporting
Die Dashboards sind interaktiv, rollenbasiert und space-spezifisch aufgebaut. Sie bieten Visualisierungen zu Datenqualität (z. B. Nullwerte, Regelverstöße), zeitlichen Entwicklungen, Nutzungsstatistiken und Systemmetriken.
Nutzer können ihre Ansichten individuell konfigurieren und Inhalte im CSV- oder PDF-Format exportieren. Ergänzend ist es möglich, periodisch Berichte per E-Mail zu abonnieren. Die Architektur erlaubt die Erweiterung um spezifische Metriken - beispielsweise KPIs zur Datenveredelung oder Redaktionsaktivitäten.
Schnittstellen & API-Nutzung
Die Plattform ist vollständig API-zentriert. Sämtliche Kernfunktionen - von der Datenintegration über die Konfiguration bis hin zur Nutzerverwaltung - sind über standardisierte REST-Schnittstellen verfügbar. Zusätzlich steht eine eventbasierte Infrastruktur über Kafka zur Verfügung, über die Änderungen in Echtzeit verarbeitet und Workflows getriggert werden können. Webhooks und externe Trigger lassen sich nahtlos anbinden.
Hosting, Infrastruktur & Open Source Strategie
Die Superb Data Kraken wird in einer DSGVO-konformen Cloud-Umgebung innerhalb Europas betrieben, bevorzugt in Microsoft Azure. Die Plattform ist vollständig containerisiert und nutzt Kubernetes als Orchestrierungsschicht. CI/CD-Pipelines sorgen für reibungslose Entwicklungs- und Deploymentprozesse über Git-basiertes Versionierungsmanagement.
Große Teile der Plattform wurden unter der Apache 2.0-Lizenz veröffentlicht. Damit steht die Lösung auch für Drittanbieter, White-Label-Projekte oder behördennahe Entwicklungen offen.
Datenschutz & Sicherheit
Nutzer- und Zugriffsdaten werden durchgängig verschlüsselt und rollenbasiert kontrolliert. Die Authentifizierung erfolgt über etablierte OIDC-Prozesse, und sämtliche Datenzugriffe sind auditierbar. Zustimmungen zu AGB und Datenschutzbedingungen werden bei der Registrierung dokumentiert. Regelmäßige Sicherheitsprüfungen und die kontinuierliche Weiterentwicklung der Plattform stellen sicher, dass aktuelle Datenschutz- und Sicherheitsanforderungen zuverlässig erfüllt werden.