© Excellent backgrounds/Shutterstock.com
Softwarearchitektur wird Entwickler-Skill

Bring your own Architecture


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?

Video: So sieht’s aus! Architekturüberblicke – Tipps und Tricks

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.tif_fmt1.jpgAbb. 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.

Standardisierung

Individuelle Lösungen

  • Entwickler können leicht zwischen Teams und Projekten ­wechseln

  • Konzentration auf Applikationsspezifika (z. B. Fachlichkeit) leichter möglich

  • Vermeidung von Fehlern in kritischen Bereichen durch ­erprobte Konzepte

  • Geringere Kosten durch weniger Produkte (Lizenzen, Ausbildung von Spezialisten)

  • Wiederverwendung von Lösungsideen über Applikationsgrenzen hinweg leichter

  • Einsatz optimaler Lösungen für spezifische Probleme möglich

  • Neue Trends lassen sich schneller aufgreifen

  • Fehlentscheidungen haben geringere Re...

Neugierig geworden? Wir haben diese Angebote für dich:

Angebote für Gewinner-Teams

Wir bieten Lizenz-Lösungen für Teams jeder Größe: Finden Sie heraus, welche Lösung am besten zu Ihnen passt.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang