Microservices – Neue Geheimwaffe oder SOA-Remake?

Seite: 2/2

Anbieter zum Thema

Kleine Lösungen für große Probleme

Doch zurück zum entscheidenden Vorteil von Microservices: Da sie extrem klein und leicht veränderbar sind, verleihen sie Programmierern eine geradezu magische Gabe: Agilität. Programm-Code kann extrem schnell geschrieben, viele Technologien, Sprachen und Frameworks unterstützt werden.

Unternehmen, die auf Microservices setzen, werden innovativer, weil Neues schneller umgesetzt werden kann und nicht Monate vergehen, bis neue Software-Versionen fertig sind. Wenn ein Service einmal veraltet ist oder auf bestimme Veränderungen nicht adäquat reagieren kann, können einzelne Komponenten wie bei einer Puzzle-Kette entnommen, verändert oder umgeschrieben werden.

Alternativ schreibt man gleich einen neuen Service. Denn das ist ein weiterer elementarer Kerngedanke: entsprechend der Unix-Philosophie „Do One Thing and Do It Well“ lieber einen Service neu schreiben und ihn so auf aktuellsten Stand zu haben, als Altes zu verbessern.

Damit können auch die klassischen Probleme monolithischer – also großer und alter – Systeme gelöst werden. Viele Systeme sind über die Jahre weit über das hinausgewachsen, wofür sie ursprünglich konzipiert wurden. Und genau aus diesem Umfang erwachsen nun die Schwierigkeiten. Der Funktionsumfang ist zu groß, die operationelle Größenordnung und die Change-Frequenz passen nicht mehr.

Die Idee hinter Microservices ist, diese Monolithen durch eine Serie kleiner Code-Elemente zu ersetzen, die extrem dynamisch agieren können. Und damit steigt auch die Sicherheit, denn diese monolithischen Code-Blöcke waren letztlich nicht mehr überschaubar und damit besonders anfällig für Angriffe.

Trotz Hürden zur Balance

Allerdings: Microservices sind mehr als ein technologisches Architektur-Modell, sondern auch Sinnbild einer eigenen Kultur, die nicht jedermanns Sache ist. Der Ansatz kann nicht auf jeden Kontext und jede Umgebung bzw. Anforderungen eingehen. Auch gelten Verwaltung, Koordination und Kontrolle eines Microservices-Systems als sehr aufwändig. Und Dezentralisierung heißt letztlich auch, dass der Großteil der Arbeit im System nicht länger zentral gemanagt und kontrolliert wird.

Die Autonomie der Programmier-Teams macht die Veränderungen an der Software einfacher und schneller, setzt aber Vertrauen, gemeinsame Werte und Überzeugungen voraus. Dazu zählen eine offene Kommunikation, eine strikte Ausrichtung an einem gemeinsamen Ziel und das Zulassen von Innovationen und Veränderungen. Wenn diese Unternehmenskultur noch nicht gelebt wird, werden sich Entwickler-Teams mit Microservices schwer tun.

Tatsächlich steigen auch die Kosten für die Kontrolle und das Management des Outputs erheblich. In einer Microservice-Architektur werden die Services einfacher, aber die Architektur komplexer – eine Komplexität, die mit Tools, Automatisierung und Prozessen in den Griff zu bekommen ist. Es gilt also, die höheren Kosten für Kontrolle gegen den Vorteil schnellerer Änderungen abzuwägen – und dann seine Entscheidung für oder gegen den Ansatz zu treffen.

Georg Lauer
Georg Lauer
(Bild: CA Technologies)

Der eigentliche Wert aber auch die Herausforderung der Microservices liegt in der Balance zwischen Geschwindigkeit und Sicherheit. Geschwindigkeit ist die Möglichkeit der schnellen Veränderung und Anpassbarkeit. Es ist die Abkehr von den Major Releases, die in größeren Abständen heraus gegeben werden. Dass dabei Sicherheit immer eine große Rolle spielen muss, versteht sich von selbst - diese muss aber von Anfang an ins System eingebaut werden.

* Georg Lauer ist als Senior Principal Business Technology Architect bei CA Technologies tätig.

Dieser Artikel stammt von unserem Partnerportal dev-insider.de

(ID:45043363)