© Liashko/Shutterstock.com
Entwickler Magazin
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?

Stefan Zörner


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.

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.

StandardisierungIndividuelle LösungenEntwickler können leicht zwischen Teams und Projekten ­wechselnKonzentration auf Applikationsspezifika (z. B. Fachlichkeit) leichter möglichVermeidung von Fehlern in kritischen Bereichen durch ­erprobte KonzepteGeringere Kosten durch weniger Produkte (Lizenzen, Ausbildung von Spezialisten) Wiederverwendung von Lösungsideen über Applikationsgre...

Entwickler Magazin
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?

Stefan Zörner


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.

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.

StandardisierungIndividuelle LösungenEntwickler können leicht zwischen Teams und Projekten ­wechselnKonzentration auf Applikationsspezifika (z. B. Fachlichkeit) leichter möglichVermeidung von Fehlern in kritischen Bereichen durch ­erprobte KonzepteGeringere Kosten durch weniger Produkte (Lizenzen, Ausbildung von Spezialisten) Wiederverwendung von Lösungsideen über Applikationsgre...

Neugierig geworden?


   
Loading...

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang