Big Data-Plattform unterstützt führenden Verlag bei der Erfassung, Verarbeitung und Auswertung seiner Datenbestände

Axel Springer arbeitet mit modernen Big-Data-Technologien, um enorme Mengen operativer Daten zu verwalten. Für die Verarbeitung großer Datenmengen nutzt das Unternehmen eine SaaS-Lösung, Palantir Foundry und Apache Spark.
31.01.2024

Das Projekt

Die größte europäische Verlagsgruppe Axel Springer, bekannt für Marken wie Bild, Welt, Business Insider oder Politico, ist wohl jedem schon mal über den Weg gelaufen. Und von Big Data kann im Fall von Axel Springer auf jeden Fall gesprochen werden, hier werden täglich über ein Petabyte an Daten verarbeitet. Verantwortlich für alle Themen rund um Tech & Product ist in der Axel Springer SE die National Media and Tech (NMT) und in dieser die Data Section für alle Themen, die sich um Datenprodukte handeln.

Axel Springer migriert seit vier Jahren auf die Big Data Plattform Foundry (Palantir) und ist nach einer Anfangsphase, in der die ersten Teams ihre Data Pipelines in die Plattform brachten, dabei alle bestehenden Datenprodukte zu migrieren, sowie alle neu hinzukommende direkt in der Plattform aufzubauen.

Um die Kollegen im Migrationsprozess zu unterstützen, um sicher zu stellen, dass eine einheitliche, projektübergreifende Struktur entsteht und eingehalten wird, gibt es das One Data Plattform Team dessen Teil auch kreuzwerker war.

Eine Big Data Plattform für verschiedenste User

Foundry ist eine Big Data Plattform und beschreibt sich als

Foundry is a highly available, continuously updated, fully managed SaaS platform that spans from cloud hosting and data integration to flexible analytics, visualization, model-building, operational decisionmaking, and decision capture.

Die Plattform übernimmt somit alle infrastrukturellen Aufgaben und bietet den Data Engineers, Data Scientists und Data Analysts die damit arbeiten die Möglichkeit sich komplett auf ihre Aufgaben zu konzentrieren die unmittelbar mit den Daten zu tun haben. Die heißt aber nicht, dass Foundry alles übernimmt. Beispielsweise regelt Foundry zwar, wo Daten gespeichert werden (inklusive Backups, Retention time etc.) die Mitarbeiter der NMT müssen jedoch bestimmen, wie Daten gespeichert werden (wie sieht das Schema aus, werden Daten partitioniert). In Foundry gibt es verschiedene Applikationen, um Daten zu aggregieren, solche die keinen Code verlangen, sowie welche, in denen man nur die ETL-Transformationen schreiben muss. Um maximale Flexibilität zu haben und die ganze Pipeline sowie Tests in Code zu schreiben, kann man auch Repositories erstellen. Diese verschiedenen Applikationen erlauben es einer Vielzahl von Usern mit unterschiedlichen Programmierkenntnissen zusammen an Datenprojekten zu arbeiten. Weiter gibt es Anwendungen für Data Health Checks, Visualisierung und sogar welche mit denen man eigene Applikationen, die auf den eigenen Daten beruhen, bauen kann. Eine wichtige Technologie, die hierbei benutzt wird, ist Apache Spark, ein Framework für verteiltes Rechnen. Dieses beruht darauf, dass die Daten verteilt gespeichert und prozessiert werden und somit ein hoher Grad an Parallelisierung stattfindet. Dadurch kann jede Datenpipeline bei wachsenden Datenmengen mit weiteren Computern skalieren (genannt horizontale Skalierung).

Eine gemeinsame Plattform

Den AS Data Teams Zugang zur Plattform zu geben und sie aufzufordern auf diese zu migrieren und ihre neuen Produkte dort zu entwickeln ist zwar ein Anfang - führt aber auch schnell ins Chaos. Deshalb gibt es das One Data Platform Team (ODP), welches die verschiedenen Teams in diesem Prozess unterstützt und welches auch dazu da ist das Wissen der verschiedenen Teams zu sammeln, in einen allgemeineren Kontext einzuordnen und dann an alle weiter zu verteilen. Das Ziel ist es, dass die anderen Teams optimale und effiziente Datenprodukte herstellen können und diese in der Data Section übergreifend zusammenpassen (sei es, weil Daten auch von anderen Teams benutzt werden sollen, als auch, dass es Standards gibt, sodass Teams einander helfen und voneinander profitieren, indem sie ihre best practices verbreiten können).

Anstatt einen großen Migrationsplan vorzudefinieren und ein starres Regelwerk aufzubauen (das die Gefahr birgt niemals so umgesetzt zu werden) ging kreuzwerker und das ODP in verschiedene Teams oder half ihnen dabei ihre Daten, ETL Pipelines, ML Modelle, Reportings und Applikationen auf Foundry zu migrieren oder aufzubauen. Mit diesem Ansatz wurden andere Mitarbeitende in Foundry, Spark oder ETL design geschult und gleichzeitig machte auch das ODP-Team verschiedene Erfahrungen mit der Plattform.

Individuelles Coaching für eine nachhaltige gute Codebasis

Neben gemeinsamen Code Reviews und knowledge sharing Sessions lag der Fokus von kreuzwerker auf Coaching. Dabei ging kreuzwerker in verschiedene Teams und erledigte Tasks zusammen mit anderen Axel Springer Mitarbeitenden. Da Axel Springer für verschiedene Datenprodukte interdisziplinäre Teams hat ist der Wissensstand in diesen Teams auch häufig sehr unterschiedlich. So ging es manchmal darum Engineering best practices zu vermitteln, wie gut lesbaren und getesteten Code sowie Health Checks für Daten. Dies war zum einen wertvoll für die Mitarbeitenden aber auch für das ODP-Team, interessiert es ja dieses, wie die Projekte auf der Datenplattform sein sollen, damit man sich darin auch als Newcomer schnell zu recht finden kann.

An anderer Stelle ging es in verschiedenen Cases darum, rechenintensive Pipelines zu optimieren. Hier achtete kreuzwerker darauf die Pipelines zu analysieren, redundante Schritte zu vermeiden und die Daten möglichst effizient zu speichern und zu lesen. Spark liefert hier verschiedene Möglichkeiten zur Speicherung, wie Partitionierung und Bucketing. Weiter achtete das ODP-Team und kreuzwerker darauf, dass die die Ressourcen, die zur Verfügung stehen optimal genutzt werden und analysierten die Pipelines anhand der Usage-Metriken.

Nach einer Zeit, in der das ODP zusammen mit kreuzwerker viele Teams begleitet, Datenprodukte implementiert und Erfahrungen gesammelt und diskutiert hat, wurden gemeinsame Projektstrukturen für die ganze Data Section definiert, damit man sich nicht in jedes Projekt neu eindenken muss. Eine andere wichtige Säule für die Plattform war das Aufbauen eines Datenkatalogs, da viele Teams gemeinsame Datenquellen teilen oder die Daten, welche von einem Team produziert werden, als Input für weitere Projekte dienen.

Zusammenfassung

Als kreuzwerker die Arbeit bei Axel Springer begann gab es eine Plattform und sie wurde schon von einigen genutzt. Durch den Aufbau eines ODP-Teams zu dem kreuzwerker beitrug, wurde aus Foundry nicht nur ein Tool, das für Berechnungen genutzt wird, sondern es entstand in Foundry eine Datenplattform für die ganze Data Section von Axel Springer.