Entwicklung der Data Integration Hub-Plattform (DIH) im Rahmen eines Data-Governance-Projekts. DIH ist das zentrale Architekturelement zum Datenaustausch zwischen Mandanten. Es basiert hauptsächlich auf Datenproduktbeschreibungen (Spezifikationen), Datenkatalogen und Diensten zur Darstellung gemeinsamer Daten.
Ein typischer Workflow umfasst folgende Schritte:
Einspielen der Datenproduktbeschreibung per REST-API oder Swagger UI.
Metadaten werden in Kafka-Topics geschrieben.
Kafka-Consumer lesen die Daten und führen Aktionen aus, wie das Erstellen von Metadaten in Datahub, Anlegen von Tabellen in Trino, Erstellen vordefinierter Verzeichnisstrukturen auf S3, Anlegen von Richtlinien usw.
Mein Aufgabenschwerpunkt lag auf:
Implementierung von Single Sign-On in Diensten basierend auf JWT-Tokens.
Entwicklung von REST-APIs.
Entwicklung von Integrationswerkzeugen zwischen Softwarekomponenten (SelfService, Trino, S3, Datahub, Great Expectations usw.).
Entwicklung von Data-Quality-Validierungsdiensten.
Entwicklung von ETL-Pipelines.
Onboarding neuer Kunden.
Entwicklung von Monitoringsystemen.
Fehlerbehebung und Support für Dienste und Kunden.
Für die Entwicklung wurde folgender Software-Stack verwendet:
Datenkataloge und Datenherkunft: Datahub, OpenLineage; mit Integrationen zu Spark, Pandas. Die Dienste wurden in Python implementiert.
SQL-Engines: Trino mit Starburst Web UI, PostgreSQL, Hadoop, DB2, Delta Lake.
Data Quality: Great Expectations.
REST-API: Java, Swagger, Spring Boot.
Authentifizierung: JWT, OAuth2, Single Sign-On.
Apache Ranger zur Verwaltung von Zugriffsrichtlinien.
Prometheus und Grafana für Monitoring.
Zertifizierung: AWS Certified Data Engineer – Associate.
Okt. 2021 - Apr. 2023
1 Jahr 7 Monaten
Hamburg, Deutschland
Senior DevOps (extern)
Otto GmbH & Co KG
Gestaltung und Implementierung datengetriebener Microservices zur Suchmaschinen(Google)-Optimierung mit AWS-Services. Die Services folgen meist ETL-Mustern. Ein typischer Service bezieht Daten aus einer Quelle (REST-API, SQS, DynamoDB etc.), transformiert sie (z. B. Berechnung von Änderungen in einer Liste im Vergleich zum Vortag) und lädt die Ergebnisse in ein Backend (S3, Datenbank) hoch.
Service I (MLOps): Bewertung von OTTO-Seiten durch Extraktion relevanter Schlüsselwörter, die den Inhalt der Seiten beschreiben, und Abgleich mit Google-Suchen. Migration der Datenaufbereitung, des Modelltrainings und -retrainings sowie der Modellbereitstellung von GCP zu AWS. Entwurf und Implementierung von Workflows.
Einsatz von GitHub Actions als CI/CD-Pipelines.
Einsatz von Terraform zur Verwaltung von Cloud-Ressourcen (Erstellung von Containern, Lastverteilung von Modellinstanzen usw.).
Implementierung von Modellvalidierungen und Tests mit Python.
Implementierung des Modell-Monitorings mit Grafana.
Service S:
Millionen von REST-API-Aufrufen innerhalb einer Stunde mit AsyncIO.
Parsen verschachtelter JSON-Daten und Filtern dieser.
Konzeption und Implementierung einer hybriden Umgebung auf der Google Cloud Platform.
Bereitstellung der GCP-Infrastruktur mit Terraform und später mit Ansible.
Redundante Anbindung und Verschlüsselung von Daten zwischen GCP und On-premise-Systemen.
Bereitstellung von MapR- und Spark-Umgebungen auf GCP.
Einrichtung der Echtzeit-Datenreplikation von On-premise-Tabellen zu GCP.
Integration mit REWE-Diensten (Active Directory, DNS, Instana usw.).
Entwicklung einer REST-API für Machine-Learning-Modelle mit Flask.
Implementierung von persistentem Speicher auf MapR-Basis für Kubernetes-Cluster.
Betrieb von MapR-Clustern: Upgrades, Erweiterungen, Fehlerbehebung bei Diensten und Anwendungen.
Synchronisation eines Kafka-Clusters mit MapR Streams mithilfe von Kafka Connect.
Entwurf und Implementierung von ETL-Pipelines, Synchronisation und Integration von MapR-Clustern mit verschiedenen Datenquellen (z. B. DB2- und Teradata-Datenbanken).
Onboarding neuer interner REWE-Kunden auf MapR-Plattformen.
Beratung des Managements zu technischen Themen und zukünftigen Entwicklungen im Big-Data-Bereich.
Vorschläge für Sicherheitslösungen (z. B. eingeschränkte Delegation auf F5 oder Authentifizierung für OpenTSDB) und PoCs.
Entwickler in Data-Science-Projekten.
Entwicklung von Marktklassifizierungsmodellen.
Visualisierung von Daten und Vorhersagen mit Jupyter und Grafana.
Integration mit JIRA.
3rd-Level-Support.
Sept. 2016 - Mai 2018
1 Jahr 9 Monaten
München, Deutschland
Senior Big Data Architect
Allianz Technology SE
Verwaltung einer großskaligen, mandantenfähigen, sicheren und hochverfügbaren Hadoop-Infrastruktur zur Unterstützung schnellen Datenwachstums für ein breites Spektrum innovativer Kunden.
Pre-Sales: Onboarding neuer Kunden.
Architektonische Beratung, Planung, Kapazitätsschätzung und Erstellung von Roadmaps für Hadoop-Cluster-Deployments.
Entwurf, Implementierung und Wartung von unternehmensweiten, sicheren Hadoop-Umgebungen (Kerberos, LDAP/AD, Sentry, Verschlüsselung in Bewegung, Verschlüsselung at Rest).
Installation und Konfiguration von mandantenfähigen Hadoop-Umgebungen, Updates, Patches, Versions-Upgrades.
Erstellung von Runbooks für Fehlerbehebung, Cluster-Wiederherstellung und routinemäßige Cluster-Wartung.
Troubleshooting von Hadoop-bezogenen Anwendungen, Komponenten und Infrastrukturproblemen im großen Maßstab.
3rd-Level-Support (DevOps) für geschäftskritische Anwendungen und Use Cases.
Bewertung und Vorschläge neuer Tools und Technologien zur Erfüllung der Anforderungen der globalen Organisation (Allianz Group).
enge Zusammenarbeit mit Infrastruktur-, Netzwerk-, Datenbank-, Anwendungs-, Business-Intelligence- und Data-Science-Einheiten.
Entwickler in Fraud-Detection-Projekten einschließlich Machine Learning.
Entwurf und Aufbau einer Microsoft Revolution (Microsoft R Open) Data-Science-Modelltrainingsplattform auf Microsoft Azure und On-Premise für Fraud Detection mit Docker und Terraform.
Entwickler in Supply-Chain-Analytics-Projekten (z. B. GraphServer, der Graph-Abfragen auf in HDFS gespeicherten Daten ausführt).
Producer: selbst geschriebener Producer, der Dokumente aus einem Shared File System liest und in Kafka schreibt.
Consumer: Spark-Streaming-Job, der nach der Vorverarbeitung Dokumente zur Klassifikation an die UIMA-Plattform sendet. Nach der Klassifikation werden die Daten für weitere Batch-Verarbeitung auf HDFS gespeichert.