• Beitrags-Autor:
  • Beitrags-Kategorie:Data Mesh
  • Lesedauer:11 min Lesezeit

In diesem Artikel gehen wir genauer auf das Grundprinzip der Federated Computational Governance ein.

Motivation

Folgende Aspekte motivieren das Prinzip Federated Computational Governance:

  • Übergeordneten Nutzen aus korrelierenden, unabhängigen und doch kompatiblen Data Products ziehen
  • Den unerwünschten Nebenwirkungen einer Domain-orientierten Dezentralisierung wie Inkompatibilität und Abkapseln von Domains entgegenwirken
  • Das Einführen von globalen Richtlinien hinsichtlich beispielsweise Sicherheit, Datenschutz oder Compliance realisierbar machen
  • Das Überwachen von manuellen Synchronisationen zwischen Domain-Teams und von Kontrollfunktionen reduzieren

Systemdenken

Ein Data Mesh ist ein System interagierender, autonomer Domain-Teams, die unabhängige Data Products verwalten, von einer zentralen Datenplattform bedient werden und zusammen ein kompatibles Netz ergeben sollen. Die Aufgabe der Federated Computational Governance ist es, dieses System in einem dynamischen Gleichgewicht zu halten. Die zwei wesentlichen Pole kann man wie folgt benennen:

  • Dezentralisierung & lokale Optimierung: Die autonome Modellierung, Entwicklung und Verantwortlichkeit der Domains für ihre Data Products
  • Zentralisierung & globale Optimierung: Die Garantie für konsistente, kompatible und standardisierte Data Products im Hinblick auf das Data Mesh insgesamt

Wir befassen uns daher nun mit zwei Werkzeugen, die hierbei behilflich sind:

  • Feedback Loops: Jedes Data Product registriert sich selbst und ist über die Data Mesh Plattform beobachtbar und auffindbar. Anhand der verfügbaren Informationen über das Data Product kann kontinuierlich eine Bewertung durchgeführt werden. Dadurch können zwei Arten von Feedback Loops eingeführt werden:
    • negative Feedback Loop: Data Products mit einer schlechten Bewertung erhalten eine niedrigere Sichtbarkeit. Dies führt automatisch zu weniger Nutzung und einem Abbau solcher Data Products. Das Ziel ist hierbei, die Anzahl an duplizierten, qualitativ schlechten und wenig brauchbaren Data Products gering zu halten und ein Chaos zu verhindern, welches durch viele Domain-Teams und deren unabhängige Entscheidungen entstehen könnte.
    • positive Feedback Loop: Analog kann den Data Products mit guter Bewertung mehr Sichtbarkeit verliehen und damit deren Nutzung gefördert werden. Nützliche Data Products erhalten ein höheres Ranking in der Suchfunktion und werden dadurch noch erfolgreicher.
  • Leverage Points: Leverage Points sind Parameter, Metriken oder Aspekte, anhand derer schnelle und gezielte Veränderungen herbeigeführt werden können. Beispielsweise könnte man eine Obergrenze für die Zeit einführen, nach der ein Data Product verändert wird. Oder man betrachtet die change fail ratio, wie oft ein Änderungsversuch eines Data Products misslungen ist, in Kombination mit der Anzahl der Nutzer und den Abhängigkeiten stromabwärts, um einen Indikator zu erhalten, der problematische Data Products identifiziert.
    Dadurch wird dem durch positive Feedback Loops möglichen Nebeneffekt, dass erfolgreiche Data Products starke Abhängigkeiten erzeugen und schwerfällig für Veränderungen werden, entgegengewirkt.
    Eine besonders wichtige Art von Leverage Points sind die Ziele des Systems. Was zum Beispiel nicht geschehen soll ist, dass von Beginn an der Erfolg von Data Mesh an der Anzahl der Data Products gemessen wird. Dadurch würde der Fokus auf das Generieren von vielen Daten und nicht auf das Generieren von wertvollen Daten fallen. Die Rate, mit der neue Data Products erstellt werden, kann einer von vielen Leverage Points sein, die letztendlich definieren, wie ein erfolgreiches Data Mesh auszusehen hat.

Federated Governance

Per Design ist Data Mesh als Verbund organisiert. Das Data Mesh ist unterteilt in kleinere Bereiche, die Domains, die autonom ihre Data Products verwalten. Nichtsdestotrotz braucht es eine Ansammlung an Standards und globalen Richtlinien, an die sich die Domains halten müssen, um ein funktionierendes Ökosystem zu erhalten. Dafür dient das Prinzip der Federated Governance mit seinen Elementen:

Ein Team bestehend aus Vertretern der Domains sowie Plattformexperten und Experten der Bereiche Sicherheit, Compliance, etc. Das Team trägt die gemeinsame Verantwortung für das Entscheiden der Richtlinien, die von den Data Products befolgt werden müssen, und wie die Data Mesh Plattform das Einhalten der Richtlinien gewährleisten sollen. Die Aufgabenbereiche der Teammitglieder sehen wie folgt aus:

  • Domain-Vertreter: leisten einen Beitrag zur Definition der Richtlinien, die die Data Products auf dem Mesh regulieren.
  • Plattformexperten: So gut wie alle Governance Entscheidungen werden über die Data Mesh Plattform realisiert. Daher bedarf es Vertreter des Plattformteams, die sich mit der Umsetzung der Richtlinien befassen.
  • Fachexperten: Nehmen Einfluss auf das Design der Data Mesh Plattform, beispielsweise hinsichtlich Datenschutz, Sicherheit oder Compliance.
  • Manager: Unterstützen und erleichtern das Zusammenspiel zwischen den verschiedenen Fachgebieten.

Als Grundstein einer Federated Governance sollte ein Wertesystem definiert werden, welches sämtliche Entscheidungen in eine bestimmte Richtung leitet. Das Wertesystem besteht aus Leitfäden wie etwa:

  • Eingrenzen von Verantwortung, Entscheidungen und deren Ausführung auf Bereiche nahe der Quelle
  • übergreifende Probleme identifizieren, die eine globale Lösung erfordern
  • Entscheidungen global treffen, die Kompatibilität fördern
  • einheitliche Nutzererfahrungen identifizieren, die einen globalen Standard benötigen

Die Richtlinien sollen beschreiben, wie ein gutes Data Mesh auszusehen hat. Sie beschreiben, was beispielsweise Datensicherheit, Datenverfügbarkeit oder Datenqualität ausmacht und wie diese Eigenschaften aufrechterhalten werden sollen. Mit der Data Mesh Governance soll die Entscheidungsgewalt prinzipiell so nah wie möglich zu denjenigen gebracht werden, die am meisten betroffen sind. Beispielsweise sollen die Richtlinien für Datenqualität von denjenigen entschieden und auch ausgeführt werden, die die Daten produzieren. In diesem Fall sprechen wir von lokalen Richtlinien. Es gibt allerdings auch Fälle, bei denen die Zuordnung unklar ist, etwa bei den Aggregate Data Products. In so einem Fall muss entschieden werden, welche Domain die Verantwortung trägt oder ob gar eine neue Domain eröffnet werden soll. Hierfür werden also globale Richtlinien benötigt.
(Warnung) Hier ist zu beachten, dass eine hohe Anzahl an globalen Richtlinien als Anti-Pattern zu sehen ist, da dies einen hohen Grad an Zentralisierung zur Folge hat.

Bei den Anreizen spielen wiederum die Leverage Points eine Rolle. Das Ziel ist, den Domain-Vertretern beim Balancieren zwischen globalen und lokalen Prioritäten zu helfen. Hierbei wird wieder unterschieden zwischen globalen Anreizen, die ein stark verknüpftes Netz anstelle von Datensilos begünstigen sollen, und lokalen Anreizen, die Geschwindigkeit und Autonomie der Domains begünstigen sollen. Ein lokaler Anreiz ist etwa das Messen von Erfolg eines Data Products anhand Nutzerzahlen und der Nutzerzufriedenheit. Diese lokalen Anreize stehen jedoch im Konflikt mit dem Einhalten der globalen Richtlinien. Daher bedarf es der globalen Anreize, um die Data Product Owner für das Einhalten der globalen Richtlinien zu belohnen und dies in den Erfolg des Data Products mit einfließen zu lassen.

Computational Governance

In einem optimalen Zustand des Data Mesh ist die Governance-Funktion unsichtbar. Sie ist durch die Data Mesh Plattform automatisiert und in die Data Products eingebettet. Das Ziel ist also, die Data Mesh Governance als eine Computational Governance zu gestalten, die kontinuierlich und automatisch das Einhalten der Richtlinien überprüft und gegebenenfalls Benachrichtigungen verschickt. Im Folgenden sind einige Wege aufgelistet, um dies zu erreichen:

Viele Richtlinien fallen in die Standards-Kategorie – Verhalten, Interfaces und Datenstrukturen, die in allen Data Products konsistent implementiert sein sollen. Einige Beispiele für Standards, die als Code geschrieben und von der Plattform unterstützt werden können, sind:

  • Interfaces, die das Finden und Beobachten der Data Products ermöglichen oder die Daten des Data Products anzeigen
  • Datenmodellierung und Query Language
  • Modellierung der Datenherkunft
  • Modellierung der Polysem-Identifizierung

Alle Data Products müssen globale Richtlinien wie Compliance, Zugangskontrolle, Zugangsüberprüfung und Datenschutz implementieren. Die Plattform soll dies ermöglichen. Die Richtlinien werden in den Data Products als Code geschrieben und ausgeführt. Beispiele für Richtlinien, die mithilfe Plattform als Code konfiguriert und ausgeführt werden können, sind:

  • Datenschutz und Datensicherheit
  • Datenlokalisierung
  • Kontrolle und Überprüfung von Datenzugängen
  • Einverständnisse in Bezug auf Daten
  • Vorratsdatenspeicherung

Das Laufen von automatisierten Tests garantiert die Datenqualität und die Integrität. Automatisierte Tests werden wiederum von der Data Mesh Plattform unterstützt und in die Data Products implementiert, um schnelle Feedback Loops zu generieren.

Für das Aufrechterhalten von Richtlinien ist ein kontinuierliches Monitoring-System vonnöten, welches das Mesh und dessen Data Products zur Laufzeit beobachtet. Das Governance-Team kann beispielsweise ein Monitoring-System mit einer SLO-Compliance-Funktion konfigurieren, welche automatisch das Mesh scannt und Daten abfragt. Data Products, die sich zu weit von den globalen Richtlinien entfernt haben, werden erkannt und benachrichtigt.

Übergang zur Federated Computational Governance

Im Folgenden befassen wir uns mit wichtigen Veränderungen, die die Transformation zur Federated Computational Governance ermöglichen. Gerade für zentrale Governance-Modelle sind die folgenden Aspekte entscheidend:

Die Data Mesh Governance ist zuständig für die Definition und das Design von Richtlinien und Standards. Das Ausführen der Richtlinien wird der Data Mesh Plattform überlassen und die Domains sind verantwortlich für die Anwendung und das Einbetten der Richtlinien in die Data Products. Das Governance-Team ist also beispielsweise zuständig für die Definition von Datenqualität und nicht (mehr) für die Qualität der Data Products an sich. Um eine solche Umstrukturierung zu erreichen, können beispielsweise einige der bestehenden Data Stewards in die Domain-Teams verschoben und als Data Product Owners eingesetzt werden.

Mit der Data Mesh Governance und der einhergehenden Automatisierung sollen Fehler so früh wie möglich und so nah an der Quelle wie möglich entdeckt werden anstelle von kontinuierlichen Interventionen eines zentralen Daten-Teams. Die Domain-Teams sollen selbständig in der Lage sein ihre Fehler zu adressieren und zu beheben, unterstützt und automatisiert durch die Data Mesh Plattform.

Mit Data Mesh wird das Modellieren der Daten den Domains überlassen. Es ist jedoch für die Kompatibilität der Data Products und Zusammenarbeit der Domains sehr wichtig, dass Entitäten, wie etwa ein Kunde, erkannt und in den Domains auf eine konsistente Art und Weise modelliert werden. Derartige Polyseme zu modellieren, zu identifizieren und zuzuordnen ist eine Aufgabe der Data Mesh Governance.

Anstatt den Erfolg vom Data Mesh am Datenvolumen festzumachen, ist es die Aufgabe des Governance-Teams diesen anhand von Datennutzung zu demonstrieren. Der Erfolg der Governance wird gemessen an der Anzahl der Zwischenverbindungen im Data Mesh – zwischen Nutzer und Anbieter.

Konstanz mag sinnvollerweise ein zentraler Gesichtspunkt für kleinere Architekturen sein. Bei größeren Unternehmen steigt jedoch die Anzahl der Use Cases für die Daten und damit steigt die Wichtigkeit, flexibel mit Daten umgehen zu können. Neue Daten, veränderte Datenmodelle, schnelle Veränderungen in den Use Cases und den Nutzern der Daten sowie das Erstellen und Auslaufen von Data Products sind an der Tagesordnung und die Data Mesh Governance muss sich daran orientieren.

Zusammenfassung

Wir fassen nochmal den Kern der Federated Computational Governance zusammen. Es geht um ein Modell zur Datenkontrolle, welches eine Verbundkomponente, u.a. bestehend aus Vertretern der Domain-Teams, sowie eine Automatisierungskomponente besitzt. Der Ansatz der Federated Computational Governance ist es, ein dynamic equilibrium zu finden und herzustellen. Damit ist ein dynamisches Gleichgewicht zwischen lokalen Entscheidungen, um den Domain-Teams Schnelligkeit zu verleihen, und globalen Entscheidungen, um Skalierbarkeit zu gewährleisten, gemeint. Die Automatisierung und “Codifizierung” von Richtlinien via Self-serve Data Platform spielt hierbei eine zentrale Rolle. Die Federated Computational Governance ist das letzte Puzzleteil, um das Gesamtkonzept Data Mesh zu vervollständigen.