Rechtliche Herausforderungen bei der Umsetzung von Microservices

Seite 4: Microservices und Edge Computing gehen Hand in Hand

Inhaltsverzeichnis

Microservices sind prädestiniert für das sogenannte Edge Computing, also für die Datenverarbeitung direkt bei den betreffenden Geräten und Sensoren oder zumindest in unmittelbarer Nähe derselben. Gleichermaßen begründet dieser Umstand aber häufig einen Personenbezug (man denke nur an Fitnesstracker). Werden personenbezogene Daten verarbeitet, sind jedoch immer auch die Regelungen der Datenschutz-Grundverordnung (DSGVO) zu beachten.

Von besonderer Bedeutung ist die Beantwortung der Frage nach der datenschutzrechtlichen Verantwortlichkeit: In der Regel ist das den jeweiligen Microservice verwendende Unternehmen Verantwortlicher im Sinne der DSGVO. Es bestimmt schließlich allein über den Einsatz und die Nutzung des Service und somit über die Verarbeitung personenbezogener Daten.

Anders läge der Fall, wenn ein Microservice als Plug-in genutzt wird, das sich auf dem Server der Entwickler oder von Dritten befindet und ein entsprechendes Nutzungsrecht erworben wird. In diesem Fall läge eine klassische Auftragsverarbeitung im Sinne des Artikels 28 der DSGVO vor. Verantwortliche (Auftraggeber) und Auftragsverarbeiter (Auftragnehmer) müssten demnach eine Auftragsverarbeitungsvereinbarung (AVV) abschließen.

Die Haftung für Datensicherheitspannen liegt regelmäßig bei den Verantwortlichen: Sie entscheiden über Zwecke und Mittel der Verarbeitung personenbezogener Daten, unterliegen daher der Rechenschaftspflicht aus Art. 5 Abs. 2 der DSGVO und tragen damit die Beweislast für die Rechtmäßigkeit der Datenverarbeitung. Auch der Schutz der Endpunkte ist aufgrund der dezentralen Verarbeitung der Daten – wie bei klassischen IoT-Geräten – wichtig. Eine geteilte IT-Infrastruktur mit vielen Zugangspunkten bietet schließlich auch eine große Angriffsfläche für Sicherheitsrisiken. Über die Umstände der Verarbeitung personenbezogener Daten sowie etwaiger Risiken müssen Verantwortliche zudem die betroffenen Personen umfassend informieren.

Was geschieht, wenn Bugs im Code die Bedienung oder einzelne Funktionen eines Microservices beeinträchtigen? Wer haftet, wenn aufgrund eines grob fahrlässigen Programmierfehlers wichtige Dokumente verschwinden? Erneut wird hier die Einordnung des Vertrags beziehungsweise seiner einzelnen (abgrenzbaren) Teile maßgeblich: Während es im werkvertraglichen Kontext ein umfassendes und für Auftraggeber oftmals vorteilhaftes Gewährleistungsrecht gibt, gilt im Rahmen eines Dienstvertrags lediglich das allgemeine Schuldrecht. Fristen, Mitwirkungspflichten sowie etwa feste Hardware- und Softwareumgebungen sollten unbedingt vertraglich geregelt werden. Gleiches gilt für die Aufnahme der Pflicht zur Dokumentation der Software (z. B. Bug-Listen) und die Durchführung von Tests etwa zur Überprüfung der Belastbarkeit oder der Konsistenz eines Microservices beziehungsweise des Gesamtsystems. Die Vertragsparteien sind gut beraten, solcherlei Fragen nach Möglichkeit bereits im Rahmen der Vertragsgestaltung zu beantworten. Zwar lassen sich Haftungsbeschränkungen leicht über die Allgemeinen Geschäftsbedingungen (AGB) integrieren, ein genereller Haftungsausschluss ist jedoch nach deutschem Recht unzulässig.

Auch sollte die Verfügbarkeit einzelner Module geregelt werden, insbesondere wenn Microservices aufeinander aufbauen und dadurch die Verwendbarkeit der gesamten Anwendung wegen Weiterentwicklung einzelner Module gefährdet ist.

In der Leistungsbeschreibung könnte daher zum Beispiel eine Verfügbarkeit von Modul A von 99 Prozent im Jahresmittel vereinbart werden, da sich eine hundertprozentige Verfügbarkeit möglicherweise nicht gewährleisten lässt. Gleiches gilt für Modul B und C etc. Auch eine Regelung hinsichtlich der Verfügbarkeit des Gesamtsystems kann sinnvoll sein.

Bei auf Microservices basierenden Smart Products, die autonom – also ohne menschliche Handlung – agieren, richtet sich die Haftung danach, ob die Datenverarbeitung automatisch erfolgt oder sich als bewusste Entscheidung der Nutzer durch Abgabe eines Befehls einordnen lässt. Roboter sind keine eigene Rechtspersönlichkeit und können daher (noch) nicht selbst haften.

Die Zurechnung des Prozesses muss gegenüber denjenigen erfolgen, die die letzte Verursachungshandlung vorgenommen haben: Bei Microservices können das entweder Entwickler oder Verkäufer einer Anwendung für deren Fehlerhaftigkeit sein. Daneben kommt zum Beispiel auch eine Haftung der Betreiber zusammen mit den Entwicklern in Betracht, bei der beide Seiten gleichermaßen zum Schadensersatz verpflichtet wären.