Konzerndaten im Weltall - Der Weg zu einer multinationalen Datenplattform
←
→
Transkription von Seiteninhalten
Wenn Ihr Browser die Seite nicht korrekt rendert, bitte, lesen Sie den Inhalt der Seite unten
TITELTHEMA 1 Bild: Shutterstock Sonderdruck aus BI-SPEKTRUM 1/2023 Der Weg zu einer multinationalen Datenplattform Konzerndaten im Weltall Stellen Sie sich vor, Sie möchten einen ganzen Stab an Satelliten ins Weltall schießen, um dort ein Ein Beitrag von zentrales Satelliten-Netzwerk aufzubauen. Ein komplexes Unterfangen, das von vielen Faktoren Lars Beumann beeinflusst wird, wie zum Beispiel der Kommandozentrale, dem Weltraumbahnhof, dem Wetter und so weiter. Mit ähnlichen Einflüssen hatten wir es beim Aufbau einer Datenplattform in einem multina- tionalen Unternehmensumfeld zu tun. Bevor es daran ging, die Satelliten der Plattform „ins Weltall“ zu befördern, waren Technologien auszuwählen, die optimal zu den Anforderungen passen. Es galt stets äußere Einflüssen wie Architektur- und Security-Richtlinien oder Projektabhängigkeiten im Auge zu behalten. Wie wir diese „Mission” erlebten, zeigt dieser Artikel Schritt für Schritt. Zum Beispiel war es den dezentralen nationalen Die Mission wird vorbereitet IT-Abteilungen und einigen Fachabteilungen wich- Alles begann mit einem Projektsteckbrief, der die tig, eigenverantwortlich an Analytics-Use-Cases ar- Vision für eine Datenplattform beschreiben sollte beiten zu können, die nicht durch die zentrale IT – eine Plattform, die zentral verwaltete und qua- betreut werden. litätsgesicherte Unternehmensdaten für zentrale wie nationale Use-Cases bereitstellt. Was sich im 2. Welche Anforderungen muss die ersten Moment einfach anhörte, entpuppte sich Datenplattform erfüllen? bei der genaueren Betrachtung als komplexes Un- Dank des vorhandenen Hadoop-Systems waren terfangen. dem Team bereits einige Use-Cases bekannt. Teile davon waren bereits implementiert und bereit für 1. Wo liegen die Treiber für das Projekt? die neue Plattform. Allerdings gab es viele Anfor- Neben einem auf Oracle-Technologien basierenden derungen, die noch offen waren – teils aus techni- klassischen Data-Warehouse-System gab es bereits schen, teils aus Kapazitätsgründen. seit mehreren Jahren ein On-Premises-Hadoop-Sys- Um einen detaillierten Überblick zu bekom- tem, das Hunderte Terabyte an Unternehmensda- men, teilte das Team die Anforderungsaufnah- ten beherbergte. Im Laufe der Zeit implementier- me in zwei Teilprojekte: ein Teilprojekt für die te die zentrale IT auf diesem System immer mehr Erhebung der fachlichen Anforderungen, ein Teil- analytische Use-Cases und der Datenbedarf für die projekt für die eher technisch orientierten An- Beantwortung fachlicher Fragestellungen wuchs forderungen der zentralen und nationalen Data- rasant. Das hatte zur Folge, dass die Ladestruk- Science- und Data-Engineering-Teams. Das erste turen bald nicht mehr zu den wachsenden An- Zwischenergebnis wurde harmonisiert. So ent- forderungen passten, was wiederum die Analyse- stand eine Liste an Epics für das Product Back- möglichkeiten einschränkte und damit die Arbeit log. der Data Engineers und Data Scientists blockierte. Nach der Anforderungsaufnahme wurde das Auch die Skalierbarkeit des Systems stellte die IT- Bild klarer. Zwei Anforderungen waren besonders Abteilung vor immer größere Herausforderungen. deutlich: BI-SPEKTRUM 1/2023
2 TITELTHEMA • Die Datenplattform soll eine Vielzahl an unab- transferiert werden. Und zweitens mussten die La- hängigen Data-Analytics-Umgebungen bereit- destränge migriert werden, um die Daten auch in stellen, die neben individualisierbaren Konfi- der Cloud weiterhin zur Verfügung zu haben. gurationen auch unterschiedliche technische Darüber hinaus ergab sich aus den Anforderun- Anforderungen erfüllen. gen, dass künftig viele verschiedene SAP-Systeme, • Es sollen Daten von hoher Qualität, aktuell und Datenbanken und Dateien angebunden werden vollständig zur Verfügung stehen, die bei Bedarf würden, aber auch nationale oder Use-Case-bezo- durch spezifische Daten eines Use-Case angerei- gene Daten einzelner Data-Sciences-Teams. chert werden. 3. Wie soll die Plattform technologisch Die Mission beginnt aufgebaut werden? Unsere vier Eingangsfragen waren nun geklärt. Da- Nachdem die groben Anforderungen nun bekannt mit konnten wir das Ziel unserer „Weltraummissi- waren, ging es an die Technologieauswahl. In die on“ folgendermaßen formulieren: engere Auswahl kamen Alternativen, die eine Platt- Es wird eine Microsoft-Azure-Cloud-Plattform form schnell und in alle Richtungen skalieren las- benötigt, die sen, ohne dabei an Flexibilität einzubüßen. Hier • das vorhandene Hadoop-System vollständig ab- lohnte sich ein Blick in Richtung Cloud. Schließlich löst, sind es Eigenschaften wie Skalierbarkeit, Verfügbar- • eine hohe Flexibilität bei der Anbindung von zu- keit und Flexibilität, mit denen die großen Cloud- sätzlichen Datenquellen bietet Unternehmen für ihre Services werben [Azu23]. • und gleichzeitig den nationalen Data-Science- Da sich das Unternehmen im Rahmen seiner Teams möglichst viel Freiheit in der Datenana- IT-Strategie bereits für die Microsoft Azure Cloud lyse bietet. entschieden hatte, war die Richtung hier klar und wir konnten früh den Kontakt zu Microsoft aufneh- Was tun, wenn die Use-Cases mehr werden? men, um kritische Fragen zu klären, wie: Eine wichtige Frage, denn ein Szenario wie beim • Wie lassen sich die Zugriffe auf Azure-Storage- aktuellen Hadoop-System, bei dem die Anzahl der Accounts steuern? potenziellen Use-Cases schon zu Beginn im hohen • Welche Dinge sind in Bezug auf das Netzwerk zweistelligen Bereich lag – Tendenz steigend –, zu beachten? musste verhindert werden, wobei ein Data-Ana- • Wo könnte es zu Performance-Einschränkungen lytics-Projekt von mehreren Monaten als ein Use- kommen? Case galt. So kam heraus, dass bei vergleichbar großen Da- Reicht bei dieser Fülle an unterschiedlichen An- tenmengen die Schreib- und Lesegeschwindigkeit forderungen eine einzelne Datenplattform noch aus? einzelner Storage-Accounts ebenso wie die Netz- Abbildung 1 zeigt ein Konzept, das solche Ab- werkbandbreite zum Flaschenhals werden konn- hängigkeiten teilweise auflöst: durch eine zentral ten. Eine Aufteilung in verschiedene Container verwaltete Referenzumgebung, bei der Use-Case- würde hier nicht ausreichen. Stattdessen wurde bezogene Umgebungen wie Satelliten um ihren Re- geraten, die Daten auf verschiedene Storage-Ac- ferenzplaneten kreisen. counts zu verteilen [Mic22-1]. Die Referenzumgebung stellt alle zentral ver- walteten Daten bereit und kümmert sich um die 4. Welche Daten werden in der Plattform Aufbereitung und Qualitätssicherung. Sie dien- gebraucht? te also zunächst als Umgebung für die Migration Alle Daten aus dem Hadoop-System wurden benö- der Hadoop-Umgebung und ist auch inhaltlich Be- tigt. Dabei gab es zwei Dinge, die etwas knifflig wa- standteil der zentralen IT. ren: Erstens mussten Hunderte Terabyte an Daten Die Use-Case-Satelliten können lesend auf den aus dem Unternehmensrechenzentrum in die Cloud Referenzdatenbestand zugreifen und die Daten konsumieren. Außerdem können sie eigene spezi- fische Daten in ihre Satelliten laden. Für deren Ver- fügbarkeit, Qualität und Aktualität sind sie dann selbst verantwortlich. Dieser Ansatz hat zwei Vorteile: • Zum einen sind die Use-Case-Satelliten sehr fle- xibel, da sie nahezu unabhängig voneinander agieren können. • Auf der anderen Seite werden Redundanzen bei der Datenhaltung vermieden. Wie sieht das Basis-Set-up aus? Jede Umgebung und jeder Satellit bekam eine eige- ne Azure Subscription, was die Flexibilität erhöhte. Außerdem konnten die Kosten, die jeder Use-Case für die Datenplattform verursacht, zielgerichtet zu- Abb. 1: Plattformstruktur geordnet und Rechte zielgerichtet vergeben werden. BI-SPEKTRUM 1/2023
TITELTHEMA 3 Die Bereitstellung der Azure Subscriptions über- LARS BEUMANN, Datenarchitekt bei der nahm das im Unternehmen bereits vorhandene OPITZ CONSULTING Deutschland GmbH, Cloud-Infrastruktur-Team. Neben der Subscription berät seit mehr als zehn Jahren Unter- und einem zugehörigen Service Principal kümmer- nehmen vorwiegend rund um datengetrie- te es sich um allgemeine Netzwerkkomponenten, zum Beispiel um ein eigenes, gepeertes virtuelles bene Themen. Mit dem Blick für moderne Netzwerk pro Umgebung, das Zugriffe auf das Un- Datenlandschaften findet er gemeinsam ternehmensnetzwerk ermöglicht. mit seinen Kunden maßgeschneiderte Lösungen in den Bereichen Business Intel- Welche Technologie für den Storage-Service? ligence, Analytics und Process Intelligence. Wie in der Cloud üblich, wurden die Bereiche Sto- rage und Compute getrennt voneinander betrach- Seit August letzten Jahres ist er auch als tet. Auch wegen der großen Datenmengen setzte Dozent an der Fachhochschule der Wirt- das Team für die Datenspeicherung auf Azure-Sto- schaft tätig. rage-Accounts. Abbildung 2 zeigt die Unterteilung E-Mail: Lars.Beumann@opitz-consulting.com in vier Schichten: 1. Im Raw Layer befinden sich die unveränderten Daten aus den Quellsystemen. Als grafisches ETL-Tool wählte das Team die Azure 2. Diese werden im Stage Layer in das einheitliche Data Factory aus. Dafür sprachen vor allem die gu- Datenformat Apache Parquet überführt. te Integration in die Microsoft-Azure-Cloud-Welt 3. Im Business Storage werden sie systemüber- sowie die große Auswahl an Konnektoren [Mic22- greifend miteinander verknüpft. 2]. Bei der ganzheitlichen Data-Science-Oberfläche 4. In der letzten Schicht, dem Serve Layer, werden schwankte das Team zunächst zwischen Azure Sy- Teile der Daten Use-Case-spezifisch aufbereitet. napse und Databricks. Für jede Schicht wurde ein eigener Data Lifecycle Azure Synapse punktete mit der Möglich- definiert, der beschreibt, wann Daten in den unter- keit, verschiedene Azure-Services wie Pipelines, schiedlichen Access Tiers verfügbar sind. Das ist Machine Learning Workbench, Azure Functions wichtig, um die Speicherkosten zu minimieren. Im etc. miteinander zu verbinden. Diese starke In- Raw Layer werden Daten beispielsweise nach 90 Ta- tegration in die Azure-Cloud ist aber gleichzeitig gen ohne Zugriff vom Hot Tier in den Cold Tier über- auch eines der Gegenargumente: Dadurch ent- führt und weitere 30 Tage später in den Archive Tier. stünde eine hohe Abhängigkeit von Microsoft. Abbildung 3 zeigt zusätzlich einen weiteren Das würde die Mi gration zu einem anderen Broker Storage in der Referenzumgebung. Damit Cloud-Anbieter in der Zukunft nahezu unmöglich lassen sich in einzelnen Satelliten-Umgebungen ei- machen. gene, externe Daten bereitstellen. Mit Hilfe des Azure Storage Explorer oder des Azure Storage Browser können Daten dort abgelegt und später in die entsprechenden Satelliten-Umge- bungen transferiert werden. Um die Abhängigkei- ten zwischen einzelnen Satelliten-Umgebungen zu minimieren, wurde im Broker Storage für jeden Sa- telliten ein eigener Container angelegt. Warum werden externe Daten nicht direkt in den Raw Storage eines Satelliten geladen, fragen Sie sich jetzt vielleicht. Die Antwort lautet: Aus Si- cherheitsgründen. Der Broker Storage ist das ein- zige Eingangstor für externe Daten, und das kann zentral überwacht werden. Welche Technologie für den Compute-Service? Die Auswahl der passenden Compute-Services ge- staltete sich etwas schwieriger. Aus den technischen Anforderungen ergaben sich bestimmte Notwendigkeiten: Es brauchte ein grafisches ETL-Tool und eine ganzheitliche Data- Science-Oberfläche. Die Oberfläche sollte sich mög- lichst für alle Disziplinen in Data Engineering und Data Science eignen. Dafür waren zwei Gründe maßgeblich: • Einzelne Entwicklerteams benötigten eine ein- heitliche Umgebung mit einem zentralen Ein- stieg. • Aus Security-Gründen sollte der direkte Zugriff Abb. 2: Storage-Account- auf das Azure-Portal vermieden werden. Struktur BI-SPEKTRUM 1/2023
4 TITELTHEMA Erste Satelliten heben ab Nachdem die zentralen technischen Entschei- dungen getroffen waren, konnte das Team damit beginnen, die Plattform sprintbasiert Schritt für Schritt aufzubauen. Eine skalierbare Infrastruktur Für eine möglichste effiziente Skalierung sorgte der Einsatz von Infrastructure as Code mittels Ter- raform. Dafür wurden unternehmensspezifische Terraform-Module entwickelt, die einzelne Azure- Ressourcen standardisiert und wiederholbar zur Verfügung stellen. Über umgebungsspezifische Konfigurationsdateien wurden die Referenzumge- bung sowie erste Satelliten-Umgebungen definiert. Neben einigen Metainformationen wie Umge- bungsnamen oder IP-Adressräumen beinhalten die Konfigurationsdateien auch die Azure-Services. So- mit kann für jede Umgebung frei entschieden wer- den, welche Komponenten in welcher Konfigurati- on deployt werden. Abbildung 4 zeigt vereinfacht die verwendete Gitlab-Deployment-Pipeline. Die Terraform-Modu- le sowie die Deployment-Pipeline befinden sich in einem eigenen Repository und sind getrennt von den Konfigurationsdateien, um eine Entkopplung der Umgebungskonfiguration und der Modulent- wicklung sicherzustellen. • Im ersten Schritt wird die passende Konfigura- tion geladen und in Terraform-Variablen über- setzt. Diese dienen als Input für den Terraform Abb. 3: Umgebungsdetails Die Funktionalitäten von Databricks standen plan und apply. denen von Azure Synapse in nichts nach. Hier ste- • Für die Qualitätssicherung der Deployments hen einige Funktionen, zum Beispiel neue Spark- wurde ein Test-Automation-Framework entwi- Features, teilweise sogar früher zur Verfügung, und ckelt, das auf Pytest basiert. theoretisch könnte Databricks auch bei einem an- • Nach jeder Ausführung der Pipeline finden Tests deren Cloud-Anbieter betrieben werden [Mic23; statt, die beispielsweise die korrekte Konfigura- Dat23]. Daher fiel die Entscheidung am Ende auf tion der Azure-Ressourcen überprüfen. Für das Databricks. Bereitstellen einer neuen Satelliten-Umgebung Natürlich wurden neben den zentralen Res- musste demnach nur eine neue Konfigurations- sourcen wie Storage-Accounts, Azure Data Fac- datei erstellt und die Deployment-Pipeline aus- tory und Databricks noch viele weitere benötigt. geführt werden. Hierzu gehörten unter anderem Azure Key Vault, Virtual Networks, MS SQL Server. Welche Ressour- Frontrunner-Satelliten cen jeweils benötigt werden, ist abhängig vom Um möglichst zeitnah erste Erfahrungen bei der Ver- Use-Case und somit für jede Satelliten-Umgebung wendung der Plattform zu sammeln, wurden schon anders. früh im Projekt erste Frontrunner-Satelliten bereit- gestellt. Für jeden Frontrunner gab es ein eigenes Projektteam, das erste Use-Cases umsetzte und die Plattform damit auf Herz und Nieren prüfte. Neben anderen Kleinigkeiten stellte auch das Redeployment der Plattform das Projektteam im- mer wieder vor Herausforderungen. So musste si- chergestellt werden, dass keine Storage-Accounts gelöscht werden und damit Daten verloren gehen. Dazu wurden beispielsweise für bestimmte Relea- ses Terraform-Skripte und Powershell bereitgestellt. Sie können alte Storage-Accounts im Terraform Sta- te bekannt machen oder vor dem Deployment ein Backup des Storage-Accounts erstellen. Die frühe produktive Nutzung hatte zur Folge, dass sich ebenfalls früh neue Anforderungen erga- Abb. 4: Deployment-Pipeline ben. Das konnten kleine, spezifische Anforderungen BI-SPEKTRUM 1/2023
TITELTHEMA 5 sein, wie das automatisierte Bereitstellen von Python- Mehr als 20 Satelliten waren zu der Zeit im Ge- Bibliotheken in einzelnen Databricks-Umgebungen, brauch. Darauf wurden also bereits Data-Science- aber auch komplexe Vorhaben, die zu mehr Flexibili- Use-Cases entwickelt. tät bei der Konfiguration führen, oder eine Komman- Bis die multinationale Datenplattform mit allen dozentrale, die für mehr Transparenz sorgen sollte. Funktionen bereitsteht, wird es aber noch etwas Zeit brauchen. Denn neben der Weiterentwicklung müssen auch noch grundlegende Weichen gestellt Mission geglückt? werden, um die Plattform aus einem Projektmodus Als dieser Artikel geschrieben wurde, war die Platt- in einen Betriebsmodus zu überführen. form teilweise schon produktiv. Das heißt, ein Dennoch – unser Team ist zufrieden: Ein span- Großteil der Hadoop-Daten befand sich nach ta- nendes Projekt zieht seine Kreise. Die ersten Sa- gelangen Kopieraktivitäten in der Cloud, und auch telliten befinden sich in der Umlaufbahn und die Teile der initialen Ladestränge wurden mittels ei- Nachfrage nach weiteren, fortschrittlicheren Umge- nes teilautomatisierten Frameworks von Hadoop bungen ist groß. Alle sind sich einig: Die Mission nach Databricks und Azure Data Factory migriert. ist geglückt! Quellen [Azu23] Microsoft Azure: Mit Clouddiensten aktuelle Herausforderungen meistern. https://azure.microsoft.com/de- de/explore/why-azure/, abgerufen am 31.1.2023 [Dat23] Databricks: Databricks runtime releases. 18.1.2023, https://docs.Databricks.com/release-notes/runtime/ releases.html, abgerufen am 31.1.2023 [Mic22-1] Microsoft: Overview of Azure Data Lake Storage for cloud-scale analytics. 22.4.2022, https://learn. microsoft.com/en-us/azure/cloud-adoption-framework/scenarios/cloud-scale-analytics/best-practices/data-lake- overview, abgerufen am 31.1.2023 [Mic22-2] Microsoft: Übersicht über die Connectors in Azure Data Factory und Azure Synapse Analytics. 29.11.2022, https://learn.microsoft.com/de-de/azure/data-factory/connector-overview, abgerufen am 31.1.2023 [Mic23] Microsoft: Azure Synapse-Runtimes. 26.1.2023, https://learn.microsoft.com/de-de/azure/synapse- analytics/spark/apache-spark-version-support, abgerufen am 31.1.2023
Sie können auch lesen