Implementierung von Datenverträgen bei GoCardless
Bei GoCardless nutzen wir Datenverträge , um die Datenqualität und -zuverlässigkeit zu verbessern . Wir sind jetzt seit fast einem Jahr auf dieser Reise und obwohl wir einige Erkenntnisse gewonnen haben, machen wir große Fortschritte.
Heute möchte ich etwas darüber erzählen, wie wir Datenverträge bei GoCardless implementiert haben.
Eine kurze Einführung in Datenverträge
Wenn Sie sich mit Datenverträgen nicht auskennen, empfehle ich Ihnen, zuerst meinen Beitrag vom Dezember letzten Jahres zu lesen, in dem ich das Konzept und unsere Ziele bei GoCardless vorgestellt habe. Um es kurz zusammenzufassen: Es geht um die Art und Weise, wie wir Daten generieren, verbrauchen und verwalten unsere Daten. Wir gehen zu einem Modell über, bei dem wir viel bewusster mit den Daten umgehen, die wir für den Konsum produzieren – wir wollen, dass sie von guter Qualität sind, mit Schemata, Versionierung und Dokumentation.
Der Datenvertrag definiert die Struktur der Daten, ihre Eigenschaften und stellt die Schnittstellen für die Interaktion mit den Daten bereit – bei uns typischerweise GCP Pub/Sub und/oder BigQuery . Es ist praktisch eine API für unsere Daten .
Aufbauend auf unserer Infrastrukturplattform
Bei GoCardless verfügen wir über eine hervorragende Self-Service-Infrastrukturplattform, die wir Utopia nennen. Auf diese Weise verwalten wir unsere GCP-Ressourcen und stellen Dienste für unseren Kubernetes-Cluster bereit und zielen darauf ab, Autonomie und Eigenverantwortung zu fördern. Jede Konfiguration in Utopia sollte selbstverwaltbar, dokumentiert und überprüfbar sein.
Das passt perfekt zu unseren Zielen für Datenverträge! Daher war es eine Selbstverständlichkeit, unsere Implementierung auf Utopia aufzubauen. Es gab uns auch die Möglichkeit, alle Serviceressourcen bereitzustellen und zu verwalten, die wir benötigten, um unsere Benutzer bei der Verwaltung ihrer Daten zu unterstützen. Das brachte uns zum Nachdenken: Können wir angesichts eines Datenvertrags, der die Daten und ihre Eigenschaften ausreichend dokumentiert, alles einrichten und bereitstellen, was wir brauchen, um diese Daten im Einklang mit unseren Anforderungen an Benutzerfreundlichkeit, Sicherheit und Datenschutz zu verwalten? Nach einem kurzen Anstieg war die Antwort ja .
Weitere Informationen zu Utopia finden Sie in unserem Tutorial „Erste Schritte“ , das wir letztes Jahr als Open Source bereitgestellt haben .
Definieren eines Datenvertrags
So sieht ein Datenvertrag bei GoCardless aus:
{
contract: new() {
metadata+: {
name: 'bank_account_information',
description: 'Information on bank accounts used for ...',
},
schema+: {
versions: [
new_version('1', anonymisation_strategy.overwrite,
[
field(
'bank_account_id',
'Unique identifier for a specific bank account, following the standard GC ID format.',
data_types.string,
field_category.gocardless_internal,
is_personal_data.yes,
personal_data_identifier.indirect,
field_anonymisation_strategy.none,
required=true,
primary_key=true,
),
field(
'account_balance',
'Payer\'s account balance. May be positive or negative.',
data_types.double,
field_category.payer_confidential,
is_personal_data.yes,
personal_data_identifier.direct,
field_anonymisation_strategy.nilable
),
field(
'account_holder_name',
'Payer\'s account holder name, as entered by the payer.',
data_types.string,
field_category.payer_confidential,
is_personal_data.yes,
personal_data_identifier.direct,
field_anonymisation_strategy.hex
),
],
[ ddrSubject('bank_accounts', 'bank_account_id') ],
) + withPubSub() + withBigQuery(),
],
},
},
}
Bereitstellen des Datenvertrags
Sobald die Datenvertragsdefinition von den Dateneigentümern selbst in einem Git-Repository zusammengeführt wird, erstellen wir die folgenden Ressourcen, Dienste und Bereitstellungen.
All dies geschieht im Auftrag der Dateneigentümer. Die GCP-Ressourcen und Kubernetes-Dienste gelten pro Datenvertrag, sodass etwas, das sich auf eine Pipeline auswirkt, keine Auswirkungen auf eine andere hat.
Die GCP-Ressourcen sind Teil ihrer eigenen Dienste-GCP-Projekte und geben den Dateneigentümern ausdrücklich die Autonomie , sie zu verwalten, und die Verantwortung dafür. Warnungen von den Kubernetes-Diensten werden an die Dateneigentümer weitergeleitet, da diese in der Regel am besten in der Lage sind, sie zu bearbeiten. Wenn nicht, steht Ihnen das Data Infrastructure-Team jederzeit für Second-Line-Support zur Verfügung.
Unsere Implementierung von Datenverträgen ist flexibel gestaltet . Es ist uns egal, wie die Daten strukturiert sind, solange sie alle Informationen enthalten, die wir zum Erstellen und Bereitstellen der zur Verwaltung dieser Daten verwendeten Dienste und Ressourcen benötigen. Wir ermöglichen Benutzern die Auswahl der Dienste, die sie benötigen, und wir haben festgestellt, dass sich fast ein Drittel der Benutzer dafür entschieden hat, Pub/Sub nicht bereitzustellen, und viele entscheiden sich dafür, keine BigQuery-Tabelle zu erstellen, was es gut für die dienstübergreifende Nutzung geeignet macht Kommunikationsanwendungsfälle. Dies alles ist Teil unserer Förderung der Autonomie unserer Datengeneratoren.
Wir nutzen den Vertrag und die darin enthaltenen Metadaten auch zur Aktualisierung zentraler Dienste, beispielsweise unseres Datenkatalogs. Da wir außerdem Tools wie BigQuery und Looker verwenden, sind die Daten zwar getrennt, um Eigenverantwortung und Autonomie zu fördern, aber nicht isoliert – Sie können Daten aus verschiedenen GCP-Projekten ohne Kosten oder Einschränkungen abfragen, sodass Verbraucher beitreten können Nutzen Sie Datensätze und gewinnen Sie Erkenntnisse, unabhängig davon, wer die zugrunde liegenden Daten besitzt und verwaltet.
Es kommt nicht nur auf die Umsetzung an
Diese Umsetzung ist natürlich sehr spezifisch für uns. Wir verfügen über eine hervorragende Infrastrukturplattform, auf der wir aufbauen können und die perfekt zu dem passt, was wir mit Datenverträgen erreichen wollen. Es hat uns ermöglicht, das aufzubauen, was wir als unsere vertragsgesteuerte Dateninfrastruktur bezeichnen , in der wir aus einem Datenvertrag alle Tools und Dienste bereitstellen können, die zum Generieren, Verwalten und Nutzen dieser Daten erforderlich sind.
Aber die Umsetzung ist nicht der wichtigste Teil. Wie Tristan Handy kürzlich schrieb , kommt es darauf an, „das Problem zu identifizieren und sich auf die Arten von Garantien abzustimmen, die unsere Systeme uns bieten müssen“.
Letztendlich sehen wir Datenverträge als unser Mittel zur Verbesserung der Datenqualität bei GoCardless. Wir verändern die Datenkultur in der Organisation, unterstützt durch unsere erstklassige Dateninfrastruktur und garantiert durch einen Datenvertrag.
Wenn Sie das Gefühl haben, dass GoCardless Sie anspricht und Sie mehr über das Leben bei GoCardless erfahren möchten, finden Sie unsere Beiträge auf Twitter , Instagram undLinkedIn .
Sind Sie daran interessiert, GoCardless beizutreten? Sehen Sie sich hier unsere Stellenbörse an .

![Was ist überhaupt eine verknüpfte Liste? [Teil 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)



































