Mit <kes>+ lesen

DataOps und DevOps Hand in Hand : Wie man mit Daten so flexibel wie mit Code umgehen und dabei sicher arbeiten kann

Unternehmen konzentrieren sich bei DevOps vor allem auf die Automatisierung von Infrastruktur und Code. Was noch fehlt, ist häufig die automatisierte Bereitstellung von Daten, um sie nahtlos in Prozesse zu integrieren – und sie gleichzeitig sicher zu verarbeiten.

Sanjeev Sharma
Lesezeit 7 Min.

Jedes Unternehmen erhebt Daten in irgendeiner Form – ob von Kunden, Transaktionen oder Sensoren. Die Fähigkeit, sie richtig zu nutzen und auf ihrer Basis Entscheidungen zu treffen, macht den Unterschied zwischen Erfolg und Misserfolg aus.

Der Weg zum datengetriebenen Unternehmen birgt jedoch Herausforderungen, vor allem im Datenmanagement – die größten Schwierigkeiten liegen dabei im Bereich Security: Das Dilemma besteht darin, dass Unternehmen einerseits für einen agilen Entwicklungsprozess qualitativ hochwertige Daten benötigen. Andererseits birgt es ein großes Risiko, Informationen nicht sicher zu verarbeiten (vgl. [2]) – das kann aber wiederum die umgehende Lieferung von Daten verzögern. Ein Teufelskreis, oder? Das Problem lässt sich jedoch effektiv lösen, und das bringt weitere Vorteile mit sich.

Flaschenhals Datenbereitstellung

Ursache vieler Schwierigkeiten ist, dass sich Unternehmen bei DevOps bislang vor allem auf die Automatisierung von Infrastruktur und Software-Development-Life- Cycle (SDLC) konzentrieren: Teams können damit innerhalb von Minuten Server erstellen und verwerfen, Entwicklungspipelines automatisieren und Releases noch schneller zur Verfügung stellen. Was oft fehlt, ist eine automatisierte Bereitstellung der Daten, um sie nahtlos in die DevOps-Prozesse integrieren zu können. Denn wenn Entwickler zu lange auf Testdaten warten müssen, bremst das den gesamten Prozess aus.

Die Gründe für dieses Manko sind vielfältig: Auf technischer Seite besteht ein Problem darin, dass Daten heute auf diverse Speicher und Plattformen verteilt sind – sie liegen etwa auf Legacy-Systemen, externen Datenquellen und bei Cloud-Services. Hinzu kommt eine Vielzahl an Datenbankplattformen in unterschiedlichen Umgebungen und Systemen, die zusammengebracht werden müssen, um sie Entwicklern, Data-Scientists und Anwendern schnell und genau dort zur Verfügung zu stellen, wo diese sie brauchen.

Außerdem muss es sich dabei um qualitativ hochwertige Informationen handeln – mit schlechten Daten zu arbeiten, ist schlimmer als gar keine Daten zu haben, denn es führt zu falschen Entscheidungen. Das kann beispielsweise aufgrund veralteter Informationen passieren, wenn sich ein Unternehmen etwa von einer Business-Unit getrennt hat, deren historische Daten aber immer noch in Modelle einfließen – das verfälscht die Ergebnisse, aber Referenzen auf ungültige Datenquellen einzeln zu entfernen ist extrem aufwendig. Häufig spiegeln zudem Kopien unterschiedlicher Test- und Entwicklungsumgebungen unterschiedliche Zustände von Informationen wider, es gibt verschiedene Kopien zu jeweils anderen Zeitpunkten – werden sie nicht synchronisiert, arbeiten Entwickler mit alten Daten.

Auf organisatorischer Seite behindern veraltete Prozesse häufig eine Entwicklung hin zum datengetriebenen Unternehmen: Datenbank-Administratoren arbeiten zum Beispiel unabhängig von den Menschen, welche die Informationen benötigen. Entwickler und Data-Scientists müssen Daten speziell anfordern und dann womöglich tage- oder wochenlang auf sie warten.

Herausforderung Datensicherheit

Unternehmen schützen ihre Produktivdaten heute meist gut: Innerhalb einer Produktionskette wird es wahrscheinlich sehr strenge Sicherheitskontrollen geben. Die Produktion wird überwacht, um Zugriffe, Veränderungen oder unbefugtes Eindringen festzustellen. Aber im Bereich der Test- und Entwicklungsdaten entstehen neue Risiken, da deren Systeme meist nicht dieselben Sicherheitskontrollen aufweisen. Es gilt oft als zu teuer und zu unpraktisch, hunderte von Entwicklungssystemen mit denselben Kontrollebenen wie die Produktionssysteme auszustatten.

Dank DevOps laufen viele Entwicklungsprojekte und -prozesse parallel ab – viele Teams benötigen gleichzeitig dieselben Datensätze. So entstehen aus Produktivdaten viele Instanzen oder Kopien von Nichtproduktivdaten, oft in verschiedenen Umgebungen. Insgesamt liegen in solchen NichtproduktionsUmgebungen häufig über 90 % des gesamten Datenpools. Die Folge: Die Angriffsfläche vergrößert sich erheblich, da der Großteil der empfindlichen Daten in nichtproduktiven Umgebungen liegt und es viel komplexer ist, eine solche Masse verteilter Daten effektiv zu schützen. Mit der zunehmenden Verbreitung von Cloud-Computing sind sie überdies von außen angreifbar geworden.

Um Security und Compliance (nicht zuletzt im Hinblick auf die Vorgaben der DSGVO) sicherzustellen, setzen viele Unternehmen auf stark restriktive Richtlinien für alle Daten – ihre Prozesse sind demnach in erster Linie darauf ausgerichtet, Informationen sicher zu verarbeiten. Hier zeigt sich wieder das eingangs skizzierte Dilemma: Sicherheit darf nicht auf Kosten der Innovationskraft gehen. Unternehmen müssen herausfinden, wie sie optimale Sicherheit gewährleisten und trotzdem dem hohen Innovationstempo folgen können.

Lösungsansätze

Der erste Schritt besteht für Unternehmen darin, unterschiedliche Arten von Daten zu klassifizieren und segmentieren. Nicht alle Informationen sind schließlich gleich stark schutzbedürftig: Sensible personenbezogene Daten benötigen eine andere Sicherheitsstufe als relativ unkritische Telemetriedaten aus Applikationen. Transaktionsdaten enthalten in jedem Fall Informationen, über die ein Nutzer identifiziert werden kann – auf Servicestatusupdates trifft das nicht zu, außer sie enthalten zusätzlich Standortdaten. Unkritische Informationen sind meist in viel größerer Anzahl vorhanden als wirklich sensible Daten. Wenn Unternehmen wissen, welche Daten sensibel sind und welche nicht, können sie jeweils verschiedene Sicherheitsstufen festlegen – und strenge (ggf. hinderliche) Richtlinien nur für die kritischen Daten definieren.

Der zweite Schritt ist die sogenannte Maskierung kritischer Daten, was den effektivsten Weg darstellt, um ihre sichere Verarbeitung, Speicherung und Bereitstellung zu gewährleisten. Vertrauliche Informationen werden dabei so anonymisiert, dass die Identifizierung einer bestimmten Person nicht mehr möglich ist. Sensible Werte werden identifiziert und mit fiktiven, aber dennoch gültigen Äquivalenten ersetzt. So verwandelt sich „Josef Mayer“ in „Erika Mustermann“ – eine Kreditkartennummer sieht immer noch aus wie eine Kreditkartennummer, ist aber nicht die eines Kunden.

Dementsprechend können Entwickler, Tester oder andere Personen keine Rückschlüsse ziehen, zu wem die Daten gehören. Gleichzeitig haben sie Zugriff auf aussagekräftige Informationen. Die maskierten Daten sind konsistent und die referenzielle Integrität wird beibehalten. Das bringt Entwicklern einen großen Nutzen: Denn sie brauchen im Idealfall Produktivdaten, um realistische digitale Angebote zu entwickeln oder Analysen durchzuführen. Aber wenn Daten nicht maskiert, sondern nur bestimmte sensible Informationen entfernt werden, funktioniert eine Applikation womöglich nicht mehr, weil Struktur und Form der Daten nicht zusammenpassen. Mit maskierten Daten ist das kein Problem, weil die Merkmale nicht gelöscht, sondern nur verfremdet wurden.

Abbildung 1: DataOps-/Datenmanagement-Plattformen können Daten aus verschiedensten Systemen verbinden, verwalten und individuell (ggf. virtualisiert) bereitstellen – dabei kann auch eine automatische Maskierung sensibler Daten erfolgen.
Abbildung 1: DataOps-/Datenmanagement-Plattformen können Daten aus verschiedensten Systemen verbinden, verwalten und individuell (ggf. virtualisiert) bereitstellen – dabei kann auch eine automatische Maskierung sensibler Daten erfolgen.

DevOps-Anforderungen an DataOps-Plattformen

Eine für DevOps optimierte Datenmanagement-Plattform sollte folgende Kriterien erfüllen:

  • Entwickler sollten die Möglichkeit haben, sich jederzeit und überall im Self-Service die Daten zu besorgen, die sie benötigen. Dafür sollte die DataOps-Plattform virtuelle Kopien von beliebigen Datenquellen und Datenbanktypen erstellen können.
  • Die Plattform sollte sich über Programmierschnittstellen (APIs) und Kommandozeilenumgebungen (CLI) vollständig in das ausgewählte CI/CD-Automatisierungssystem (Continuous Integration, Delivery and Deployment) integrieren lassen.
  • Alle Dateninstanzen sollten sich zentral kontrollieren und verwalten lassen.
  • Um bei der Datenbereitstellung für Sicherheit und Compliance zu sorgen, sollte die Plattform schon während der Virtualisierung automatisiert eine Maskierung unterstützen.

Vorteile von DataOps

Der Begriff „DataOps“ als Kurzform für Data-Operations kam vor einigen Jahren im Umfeld der Big-Data-Diskussion auf und beschreibt eine automatisierte prozessorientierte Methodik, die dazu dient, Datenqualität zu erhöhen und Durchlaufzeiten zu verkürzen. Was als Best-Practice begann, hat sich mittlerweile zu einem unabhängigen Ansatz der Data-Analytics entwickelt (vgl. https://en.wikipedia.org/wiki/ DataOps), der mit 18 Prinzipien eines DataOps-Manifests [3] umschrieben wird.

Eine DataOps-/Datenmanagement-Plattform kann die beschriebene Aufgabe der Maskierung selbstständig übernehmen. Sie bietet darüber hinaus weitere Vorteile, die letztlich alle dazu beitragen, die sichere Entwicklung von höherwertigem Code zu ermöglichen:

  • Daten werden bereits während des Extraktionsprozesses maskiert, also wenn sie die Produktion verlassen und übertragen werden.
  • Algorithmen erkennen vertrauliche Informationen idealerweise automatisch – Daten werden somit problemlos segmentiert.
  • Der Maskierungsvorgang ist irreversibel.
  • Maskierte Daten bleiben in ihrer Qualität produktionsnah, sodass sie voll funktionsfähig und realistisch sind.
  • Alle Entwickler und Nutzer der Daten erhalten maskierte Daten – egal, wo sie sich befinden. So ist der Datenschutz jederzeit gewährleistet.
  • Veraltete Datenquellen lassen sich mit einer DataOps-Plattform schnell identifizieren und filtern.
  • Iterationen von Daten können kontinuierlich mit den Quellen synchronisiert werden, sodass alle Anwender stets mit demselben, aktuellen Datenstand arbeiten.
  • DataOps-Plattformen können virtuelle Kopien von Daten erstellen und so mit einem Bruchteil des ursprünglichen Speichervolumens auskommen. Sie benötigen teils 90 % weniger Speicherplatz und sorgen so auch für einen erheblich schnelleren Transport.
  • Die Bereitstellung virtueller Datenvarianten erfolgt idealerweise automatisiert – Entwickler müssen Daten nicht beantragen und warten, dass Administratoren diese Anfrage beantworten, sondern besorgen sich eigenständig die Informationen, die sie brauchen.

Von diesen Vorteilen profitieren nicht nur Unternehmen bestimmter Branchen, die besonders hohe Datenschutzstandards einhalten müssen – im Finanz- und Gesundheitswesen ist eine Datensegmentierung und -Maskierung etwa unverzichtbar. Aber auch alle anderen können einen hohen Datenschutz als Wettbewerbsvorteil nutzen: Zwei Drittel der in einer von Delphix beauftragten Studie [1] befragten Firmen sagten, dass sich durch den Einsatz von DataOps jeweils Security und Compliance erhöht hätten. Heutige Technik ermöglicht es, mit Daten genauso flexibel umzugehen wie mit Code. Damit haben die Unternehmen ihr Ziel erreicht: gleichzeitig agil und sicher mit ihren Daten zu arbeiten.

Sanjeev Sharma ist Vice President und Global Practice Director for Data Modernization bei Delphix.

Literatur

[1] 451 Research, DataOps Lays the Foundation for Agility, Security and Transformational Change, Whitepaper, Januar 2019, verfügbar über www.delphix.com/white-paper/dataops-451 (Registrierung erforderlich)
[2] Dr. Stefan Beißel, DevOps aus Sicherheitsperspektive, <kes> 2014#6, S. 6, online verfügbar auf www.kes.info/archiv/leseproben/2014/devops/
[3] DataOps Manifest, www.dataopsmanifesto.org/dataops-manifesto.html?lang=de

Diesen Beitrag teilen: