Anzeige

Microservices

Microservices haben erst vor wenigen Jahren ihren Weg in die Softwareentwicklung gefunden. Auf Basis einer Microservice-Architektur erstellen Entwickler Softwareanwendungen, die sich einfacher aktualisieren und skalieren lassen.

Vor der Zeit der Mikrodienste verfolgten Entwickler einen monolithischen Ansatz. Dabei werden sämtliche Funktionen einer Software-Applikation in einer einzelnen, unteilbaren Einheit erstellt. Wenn Anwendungen umfangreicher und komplexer werden, wirft dieser Ansatz Probleme auf. Stößt man beispielsweise in einer Anwendung auf einen Fehler und will ihn beheben, müssen die übrigen Funktionen der Applikation ebenfalls offline geschaltet werden. Microservices lassen sich unabhängig voneinander entwickeln, und man kann jede Funktion separat erstellen und freigeben. Dienste funktionieren dabei unabhängig voneinander, und sie können auch ausfallen, ohne andere zu beeinträchtigen.

Innerhalb einer Microservices-Architektur unterteilt man eine komplexe Anwendung in viele kleinere Bausteine. Jeder einzelne von ihnen ist eine ausführbare Software, und die Gesamtheit dieser Komponenten bietet die volle Funktionalität einer einzelnen, monolithischen Anwendung.

Ein weiterer Vorteil, neben der Größe von Microservices ist, dass man sie in kleinen Teams mit klar abgegrenzten Verantwortlichkeiten, aber unabhängig voneinander, managen kann.

Beide Ansätze, die Microservices-Architektur und der monolithische Ansatz, haben ihre eigenen Vor-und Nachteile bei der Applikationsentwicklung. Heutzutage verabschieden sich allerdings viele Entwickler vom traditionellen monolithischen Ansatz. Die Funktionen von Microservices passen einfach besser zu den schnell wachsenden und heterogenen Umgebungen eines modernen Unternehmens.

Bevor man sich an die Einführung einer Microservices-Architektur macht, sollte man sich allerdings die damit verbundenen Sicherheitsrisiken genauer ansehen: Welche sind die wichtigsten Vorteile von Microservices und welche Sicherheits- und Datenschutzprobleme bringen sie mit sich?

Vorteile von Microservices

Für Entwickler liegt der größte Vorteil von Microservices darin, Komponenten zu aktualisieren und zu entwickeln, ohne eine komplette Anwendung offline zu nehmen. Diese Eigenschaft verhindert auch, dass Teams kollidieren, die ebenfalls Updates durchführen oder einen Service komplett neu aufbauen. Je umfassender und komplexer eine einst simple Anwendung wird, desto mehr Entwicklungsteams führen gleichzeitig Updates durch. Bei einem monolithischen Ansatz ein großes Problem! Wenn die Anwendung auf einer einzigen Einheit basiert, gibt es häufig Überschneidungen zwischen den Teams. Das führt nicht selten dazu, dass Änderungen am Code ebenfalls kollidieren. Das wiederum erschwert Updates und wirkt sich in der Folge auf Qualität, Verfügbarkeit und Leistungsfähigkeit der Anwendung aus. Demgegenüber bieten Microservices einen strukturierten Ansatz. Weil sie so klein sind, können sie nicht nur in relativ kurzer Zeit neu erstellt und ersetzt werden, sondern es ist auch möglich, das voneinander unabhängige Teams an den einzelnen Komponenten/Funktionen arbeiten. Dank dieser Architektur arbeiten Teams gleichzeitig an unterschiedlichen Bereichen einer Anwendung. Jedes Team führt eigene Updates und Entwicklungszyklen durch, ohne andere zu beeinträchtigen. Das gilt auch für Änderungen am Code.

Ohne Frage beschleunigen die Möglichkeiten eines auf Microservices aufbauenden Designs die Entwicklung und Bereitstellung ganz erheblich. Man kann einzelne Komponenten aktualisieren, während andere Teams entwickeln und testen, ohne dass gleich das gesamte Anwendungsframework oder der Dienst aktualisiert werden müssen.

Microservices haben ganz offensichtlich viele Vorteile. Entwickler sollten dabei aber die Sicherheits- und Datenschutzprobleme nicht außer Acht lassen, die sich aus genau diesen ergeben.

Sicherheitsüberlegungen für Microservices

Microservices vereinfachen und beschleunigen die Anwendungsentwicklung. Genau diese Funktion hat aber einige Sicherheitsherausforderungen im Gepäck. Unterschiedliche Teams bearbeiten unabhängig voneinander unterschiedliche Funktionen. Dabei kann der Datenschutz leicht ins Hintertreffen geraten.

Wenn eine Anwendung Zugriff auf personenbezogene Daten hat – egal, ob es sich um Kunden- oder Unternehmensdaten handelt – muss sichergestellt werden, dass die Daten nicht in falsche Hände geraten. Das erreicht man, indem nur die dazu autorisierten Personen auf diese Daten zugreifen können. Zudem muss gewährleistet sein, dass die Sicherheit nicht durch Entwicklungs-Updates beeinträchtigt wird. Alles, was mit personenbezogenen Daten zu tun hat, muss einem " Privacy by Design"-Konzept, beziehungsweise dem CIA-Dreieck folgen. Hier sind Vertraulichkeit, Integrität, und Verfügbarkeit (Confidentiality, Integrity, Availability, CIA) gleichberechtigt vertreten.

Es gibt noch ein weiteres Sicherheitsproblem. Durch die Zerlegung von Anwendungen in mehrere Komponenten kann sich die Angriffsfläche eines Unternehmens vergrößern. Wenn man das Thema Sicherheit ernst nimmt, muss man Grenzen ziehen, was die einzelnen Teams genau verwalten, was sie tun dürfen und was nicht und vor allem worauf sie zugreifen dürfen und worauf besser nicht. Jede Anwendungskomponente muss ausreichend geschützt sein, die Sicherheitsmaßnahmen verwaltet und regelmäßig aktualisiert werden. Wir werden täglich mit neuen Angriffstechniken und Bedrohungen konfrontiert. Sicherheit ist hier wie sonst auch ein kontinuierlicher Prozess. Patches müssen so schnell wie möglich eingespielt und Schwachstellen behoben werden.

Dazu kommen die unterschiedlichen regulatorischen Anforderungen für Dienstleistungsbranchen wie PCI-, DSS- oder SOX-Compliance und die EU-Datenschutz-Grundverordnung, DSGVO. Unternehmen sind angehalten, sämtliche Umgebungen mindestens intern zu auditieren, um sicherzustellen, dass sie die Auflagen erfüllen. Sonst drohen die bekannten hohen Geldstrafen und andere Sanktionen.

DevSecOps erfreut sich in letzter Zeit wachsender Beliebtheit. Ein Trend, der dafür sorgt, Sicherheitsbelange gleich zu Beginn eines Entwicklungslebenszyklus zu berücksichtigen. Deshalb ist DevSecOps ein Verfahren, das sich für Microservices besonders empfiehlt. Sicherheit sollte bei jedem Anwendungsupdate berücksichtigt werden. In komplexen Umgebungen sollte jedes Team nicht nur für die verschiedene Anwendungskomponenten verantwortlich sein, sondern gleichermaßen für die damit verbundenen Sicherheitsaspekte. Datenschutz und Sicherheit sollten in jeden Entwicklungsschritt eingebettet werden.

Fazit

Microservices bieten die Möglichkeit Applikationen und Dienste wesentlich schneller zu entwickeln und zu aktualisieren als bei einem traditionellen monolithischen Ansatz. In einer Microservices-Architektur lässt sich jeder Teil von einem einzelnen Team managen, oder ein Team übernimmt mehrere Komponenten. Wer sich als Unternehmen entscheidet, von den Vorteilen der Architektur zu profitieren, der muss die mit ihr einhergehenden Sicherheits- und Datenschutzherausforderungen zunächst verstehen. Hilfreich sind die Prinzipien des "Privacy and Security by Design". Auch die Arbeit von vielen verschiedenen Teams an unterschiedlichen Komponenten, darf nicht auf Kosten der Sicherheit gehen.

Generell muss man sich fragen, ob Microservices die geeignete Technologie zum Management personenbezogener Daten sind, welche Grenzen zum Schutz sensibler Daten man ziehen kann und welche Prozesse sicherstellen, dass alle Teams mit verantwortlich für die Sicherheit sind.

Sind alle Fragen zufriedenstellend beantwortet, sollten Entwickler in der Lage sein, Microservices sicher zu benutzen und von deren Vorteilen ohne Abschnitte beim Thema Security zu machen.

Robert Meyers, Compliance- und Datenschutzexperte
Robert Meyers
Compliance- und Datenschutzexperte, One Identity
Robert Meyers ist  Compliance- und Datenschutzprofi und Channel Program Solutions Architect bei One Identity. Seit 30 Jahren beschäftigt er sich mit Identity und Access Management sowie Informationssicherheit. Seit mehr als 10 Jahren konzentriert er sich auf die Planung, Unterstützung und Verwaltung von Datenschutzprogrammen wie FERPA, HIPAA, GDPR und CCPA. Er führte federführend fast hundert Fusionen und Übernahmen durch. Robert spricht regelmäßig bei Veranstaltungen über Datenschutzthemen. Zu seinen umfangreichen Zertifizierungen gehören IAPP Fellow of Information Privacy, CIPP / E, CIPT und ISACA CISM.

Newsletter Anmeldung

Smarte News aus der IT-Welt

Sie möchten wöchentlich über die aktuellen Fachartikel auf it-daily.net informiert werden? Dann abonnieren Sie jetzt den Newsletter!

Newsletter eBook

Exklusiv für Sie

Als Newsletter-Abonnent erhalten Sie das Booklet „Social Engineering: High Noon“ mit zahlreichen Illustrationen exklusiv und kostenlos als PDF!

 

Artikel zu diesem Thema

Glückliche Entwickler
Apr 08, 2020

Ausgereifte DevSecOps-Verfahren beeinflussen Entwicklerzufriedenheit

Sonatype veröffentlicht die Ergebnisse seiner siebten jährlichen DevSecOps Community…
Container für die Zukunft der IT
Mär 18, 2020

Checkliste für den Container-Einsatz

Worauf muss man bei der Entwicklung gebündelter Anwendungen achten? Eine breite und…
Microservices
Feb 19, 2020

Sicherheit in Zeiten der Microservices

Wenn es um die Bereitstellung Cloud-basierter Anwendungen über Microservices geht,…

Weitere Artikel

Business

Innovative Recruiting-Plattform für IT-Spezialisten

In der IT-Branche werden so viele Fachkräfte gesucht wie nie. Nicht zuletzt hat die Corona-Pandemie die Suche nach geeigneten Arbeitgebern und -nehmern weiter erschwert, da ein persönlicher Austausch nur selten aufgrund der Social-Distancing-Regelungen…
Corona Wert

Expertise für amerikanische und deutsche Corona-Websites

Sie steht seit Beginn der Corona-Pandemie im Zentrum des Interesses: die Reproduktionszahl, auch R-Wert oder R-Zahl genannt. Sie gibt an, wie viele Menschen eine infizierte Person in einer bestimmten Zeiteinheit im Mittel mit dem Virus ansteckt.
SQL

Schweizer Taschenmesser für SQL-Datenbanken

Per Drag & Drop intuitiv und flexibel Anwendungen für SQL-Datenbanken gestalten: Die Low-Code-Plattform GAPTEQ unterstützt den Aufbau vom einfachen Web-Formular bis hin zur komplexen Business-Applikation und Extranet-Lösung.
Programmieren

Gefährliche Designfehler und Schwachstellen in Legacy-Programmiersprachen für Industrieroboter

Trend Micro stellt neue Forschungsergebnisse vor, die auf Designschwächen in Legacy-Programmiersprachen hinweisen, welche in industriellen Systemen zum Einsatz kommen. Die Sicherheitsforscher veröffentlichen zudem neue Richtlinien für sicheres Programmieren,…

Anzeige

Newsletter Anmeldung

Smarte News aus der IT-Welt

Sie möchten wöchentlich über die aktuellen Fachartikel auf it-daily.net informiert werden? Dann abonnieren Sie jetzt den Newsletter!

Newsletter eBook

Exklusiv für Sie

Als Newsletter-Abonnent erhalten Sie das Booklet „Social Engineering: High Noon“ mit zahlreichen Illustrationen exklusiv und kostenlos als PDF!