Rechtliche Herausforderungen bei der Umsetzung von Microservices

Mit Microservices umgesetzte Systeme bestehen aus jeweils unabhängig voneinander betriebenen und entwickelten Einzeldiensten. Dabei stellen sich neben neuen technischen und organisatorischen auch rechtliche Herausforderungen wie eine flexible Vertragsgestaltung und die Einhaltung des Datenschutzrechtes.

Know-how  –  10 Kommentare

(Bild: iX)

Microservices sind überschaubare, logisch und technisch voneinander unabhängige Einzeldienste, die jeweils nach fachlichen Kriterien beziehungsweise auf Use Cases zugeschnitten und von fachlich unabhängigen Teams entwickelt werden. Über standardisierte Schnittstellen und Netzwerke interagieren die einzelnen Microservices miteinander und bilden somit das Gesamtsystem. Im Idealfall kann ein Microservice seine Aufgabe ohne weitere (Micro-)Services erfüllen, sodass jedes Team in Bezug auf "seinen" Microservice eigene Technikentscheidungen treffen und ihn unabhängig von den anderen Systemkomponenten weiterentwickeln, skalieren und ausliefern oder austauschen kann.

Diese Merkmale haben verschiedene rechtliche Implikationen, die bei der Durchführung von Microservice-Projekten in den Blick genommen werden sollten. Zwar werfen solche Projekte aus IT-rechtlicher Sicht in der Regel keine völlig neuen Fragestellungen und Herausforderungen auf, die nicht schon aus anderen Kontexten bekannt sind. Sie können jedoch die bekannten (und teilweise ungelösten) rechtlichen Problemstellungen anders bündeln oder gewichten. Deswegen sind insbesondere bei Microservice-Projekten, die in einem Auftragnehmer-Auftraggeber-Verhältnis durchgeführt werden, klare vertragliche Regelungen notwendig, damit beide Parteien wissen, womit sie rechnen müssen.

Flexible Arbeitsweise erfordert agile Vertragsgestaltung

Die Flexibilität, die der Entwicklung und dem Deployment von Microservices innewohnt, legt nahe, dass der vertragliche Leistungsumfang nicht von Anfang an feststeht. Das kann zu Unsicherheiten oder sogar Missverständnissen hinsichtlich der Rechte und Pflichten der Vertragsparteien und im schlimmsten Fall zu zeit- und kostenintensiven Rechtsstreitigkeiten führen. Deshalb empfiehlt es sich, auch auf eine entsprechend flexible Vertragsgestaltung zu setzen statt auf starre Verträge des klassischen und eher schwerfälligen Wasserfallmodells, bei dem sich der Projektablauf etappenweise und quasi bis ins Detail vorzeichnen lässt.

In der Praxis ist es zudem häufig so, dass mehrere Teams simultan mit der Entwicklung unterschiedlicher Einzeldienste beschäftigt sind, was ebenfalls eine flexible Herangehensweise erfordert. Vertraglich (zwischen Auftraggeber und Auftragnehmer) sollte sich diese Flexibilität und Prozessorientiertheit auf jeden Fall widerspiegeln, um für eine gewisse Rechtssicherheit sorgen zu können.