Motivation

Die neue Datenschutzregelung der EU regelt u.a. die Auskunftspflicht eines Produktherstellers gegenüber den Endkunden. Nach Eingang einer Anfrage durch einen Kunden ist der Produkthersteller verpflichtet, innerhalb von 72 Stunden gewisse Auskünfte zu gespeicherten personenbezogenen Daten zu liefern.

In der Vergangenheit wurden solche Anfragen im hier beschriebenen Fall manuell bearbeitet und erforderten daher einen hohen Aufwand. Novatec entwickelte aus diesem Grunde eine Microservice-basierte Lösung mit grafischer Benutzerschnittstelle, der die personenbezogenen Daten aus den betroffenen Anwendungen abfragt und die Ergebnisse automatisiert zur Verfügung stellt.

Beitrag der Novatec

Projektteam

Für die Entwicklung des Services nutzen wir eine klassische Vorgehensweise nach Scrum: Das Team besteht aus 6 Entwicklern, einem Scrum-Master, einem Proxy-Product Owner (PO) und einem Fach-Product Owner von Kundenseite. Das Team arbeitet eigenständig, steht aber in ständigem Kontakt mit dem zuständigen PO auf Kundenseite. Durch regelmäßige Abstimmungen wird gewährleistet, dass immer die richtigen und notwendigen Funktionalitäten gebaut werden. Vom Team wird ein agiler Softwareentwicklungsprozess gelebt, welcher auch vom Kunden mitgetragen wird. Das Team ist verantwortlich sowohl für die Entwicklung als auch den Betrieb des Services.

Architektur der Anwendung

Um den Benutzern einen möglichst einfachen Einstieg zu ermöglichen, entwickeln wir in einem agilen Design-Prozess – UX Design – Interaktionskonzepte und dazu passende Benutzeroberflächen für eine möglichst intuitive Bedienung. Die Webanwendung wird in Angular mit Type Script entwickelt.

Eine Gesamtübersicht der Architektur zeigt nachfolgende Abbildung:

Architektur der GDPR-Lösung.Quelle: eigene Darstellung

Zentral ist der GDPR-Service zu sehen. Dieser kann entweder mit dem eigens entwickelten Front-end verwendet werden, stellt aber darüber hinaus auch eine API bereit, mit dem eine Integration in einen größeren Kontext erfolgen kann. Der GDPR-Service selbst spricht eine Reihe von Anwendung an und kann von dort die personenbezogenen Daten abfragen. In der von uns entwickelten Lösung waren das die 5 Anwendungen Auftragsmodul, Schadensmodul, Kommunikationsmodul, Inspektionsmodul sowie Angebotsmodul. Jede dieser Anwendungen hat eigene Datenhaltungen in unterschiedlichen Datenbanksystemen.

Das Backend des GDPR-Moduls wurde auf Basis einer Microservice-Architektur mit Spring Boot realisiert. Da verschiedene Teams an der Entwicklung beteiligt waren, erfolgte innerhalb des Kubernetes-Cluster eine weitere Unterteilung mithilfe von Namespaces. So waren projektspezifische Einstellungen für beispielsweise Ressourcen oder Konfigurationen möglich. Alle Services laufen in der IBM-Cloud auf mehreren Kubernetes-Clustern für die Entwicklung, den Test sowie die Produktion. Für das Monitoring sind Instana und Kibana im Einsatz. Dies unterstützt uns beim Betrieb der Anwendung für den unser Team im DevOps-Sinne ebenfalls verantwortlich ist.

Automatisiertes Deployment

Der Service wird durch von uns entwickelte Pipelines automatisiert und kontinuierlich gebaut und ausgeliefert (Continous Integration/Continous Deployment). Änderungen am Code der Software starten nach der Freigabe des Pull-Requests in git die Pipeline. Dort erfolgen anschließend automatisiert Unit-Tests, Integration-Tests sowie der Systemtest. Bei erfolgreichem Durchlaufen aller Tests erfolgt ein automatisches Deployment in den Kubernetes Entwicklungs-Cluster in die Cloud.

Für das Deployment in den Test- und in den Produktions-Cluster haben wir gemeinsam mit dem Kunden ein Verfahren entworfen, welches neue Features nach jeweils zwei Wochen in die nächste Stufe überführt. So werden neue Entwicklungen nach zwei Wochen im Entwicklungs-Kubernetes in das Test-Kubernetes übertragen. Dort erfolgen weitere Tests, beispielsweise werden nun die Regression-Tests durchgeführt. Nach weiteren zwei Wochen erfolgt das Deployment in die Produktionsumgebung.

Ergebnis

Durch den entwickelten Service konnte manuelle Arbeit automatisiert werden, was eine enorme Erleichterung und Kostenersparnis für unseren Auftraggeber bedeutet. Der modulare Aufbau des Service erlaubt darüber hinaus eine einfache Anbindung weiterer Anwendungen, die personenbezogene Daten speichern, sowie eine schnelle Reaktion auf zukünftige Änderungen in der entsprechenden Gesetzgebung.

Die Bereitstellung der alternativen Nutzung des Services über eine API ermöglicht die Integration der GDPR-Abfrage in einen größeren Kontext, beispielsweise für die Anbindung an ein Self-Service-Portal.

Mit der aufgebauten Deployment-Pipeline haben wir ein hochautomatisiertes Continous Integration/Continous Deployment etabliert. Neue Features kommen so sehr schnell und gleichzeitig in einer maximalen Qualität in die Produktion.

Ihr Ansprechpartner

Novatec_Markus-Mueller

Markus Müller

Director Software Engineering
Inhaltsverzeichnis
Ihr Ansprechpartner Markus Müller Director Software Engineering
Novatec_Markus-Mueller