Stefan Zörner embarc Software Consulting GmbH

Heute machen mehr Entwickler Architektur. Eine Weiterentwicklung der Teams in diese Richtung ist eine logische Konsequenz.

Softwarearchitektur beschäftigt sich mit weitreichenden Entscheidungen, die später schwer zurückzunehmen sind. Aktuell liegen Microservices im Trend, die Applikationen in kleinere Einheiten mit eigenem Entwicklungsteam und individuellem Technologiestack aufbrechen. So klein, dass es billiger ist, sie bei Bedarf neu zu bauen. Wenn wir uns falsch entscheiden, werfen wir sie einfach weg. Verliert Softwarearchitektur in einem solchen Szenario an Relevanz?

In großen Konzernen wie Versicherungen sind Anwendungen oft nach dem immer gleichen Muster gestrickt. Insbesondere der Technologiestack ist überall gleich. Zum Beispiel eine relationale Datenbank, Java EE im Applikationsserver (JPA, EJB) und obendrauf eine Webapplikation mit JavaServer Faces. Die einzelnen Entwicklerteams konzentrieren sich auf Fachlichkeit und Funktionalität. Veränderungen im Technologiestack gleichen hier Eruptionen, gerne in großen Initiativen mit Namen wie „Neue Anwendungsarchitektur“. Es gibt die „Alte Welt“, Applikationen, die noch nach dem alten Muster gebaut sind, und die „Neue Welt“. Neue Applikationen werden nach dem neuen Muster gebaut, alte gegebenenfalls darauf migriert. In diesem Umfeld ist das Aufgreifen technologischer Trends schwierig. Entscheider bremsen Initiativen eventuell mit dem Argument, dass man ja noch nicht einmal alle alten Anwendungen auf die neue Welt migriert habe „und jetzt kommen Sie schon mit der Neuen Welt.“

Szenenwechsel: Der Megatrend Microservices verspricht schnelle Reaktion auf Veränderung durch kleine, unabhängige Einheiten. Unternehmen wie Netflix überlassen ihren Teams die individuelle Technologieauswahl bis hin zu Betriebssystem und Programmiersprache. Entwickler können freimütig Antworten geben auf Fragen, die sich im klassischen Großkonzern aus Szene 1 niemand stellt.

zoerner_entwicklerskill_1

Abb. 1: Trennung zwischen Makro- vs. Mikroarchitektur

 Makro- vs. Mikroarchitektur

Die beiden Szenen zeigen extreme Ausprägungen eines Phänomens, das manche als Makro- vs. Mikroarchitektur bezeichnen. Innerhalb eines Bezugsrahmens wie einer Systemlandschaft, einer Anwendung oder einer Microservice-Lösung sind bestimmte Dinge einheitlich geregelt und andere individuell zu entscheiden. Die Makroarchitektur legt einen Rahmen für alle fest, die Mikroarchitektur ist der Spielraum, in dem sich einzelne Teile unterscheiden. Sowohl Standardisierung als auch individuelle Lösungen haben ihren Reiz. Tabelle 1 listet jeweilige Vorteile und Potenziale auf. Diese lassen sich in der Regel in Nachteile für die andere Seite ummünzen, weswegen die Tabelle nur Positives zeigt.

Den vollständigen Artikel lesen Sie in der Ausgabe:

Java Magazin 9.16 - "Entwickler an die Macht!"

Alle Infos zum Heft
254471Microservices: Softwarearchitektur-Relevanz?
X
- Gib Deinen Standort ein -
- or -