© Excellent backgrounds/Shutterstock.com
Java Magazin
Architektur-Reviews in hoch dynamischen Anwendungen

Gesundheitscheck für Cloud-Apps

Moderne Cloud-Anwendungen erlauben es uns, Software auf äußerst dynamische Art zu entwickeln. Mithilfe von Continuous Deployment können wir Änderungen jederzeit produktiv nehmen. Moderne, flexible Architekturen à la Microservices [1] erlauben es schnell, Teile unserer Anwendungen anzupassen und zu ändern. Hat man sich erst einmal daran gewöhnt, entwickelt man Software auf der Überholspur. Manchmal sollte man sich aber auch die Zeit nehmen, einen Gang zurückzuschalten und einen Blick in den Rückspiegel zu werfen. Ein Health Check ist hier eine sehr gute Möglichkeit.

Martin Gutenbrunner, Alois Reitbauer


Moderne, Cloud-basierte Anwendungen werden in einem hoch dynamischen Umfeld entwickelt. Sei es, dass mittels eines effizienten Continuous-Deployment-Prozesses Änderungen im Tages- oder Stundentakt ins Produktivsystem überführt werden oder dass es stark entkoppelte Architekturen mit Microservices erlauben, Architekturkonzepte rasch an sich ändernde Anforderungen anzupassen.

Diese neu gewonnene Flexibilität ermöglicht es, moderne Anwendungen so agil zu entwickeln wie noch nie zuvor. Geht man in einem größeren Team so vor, kann man aber sehr leicht den Überblick verlieren. Das Anwendungsmodell, das man im Kopf hat, kann sich im letzten Deployment grundlegend geändert haben. Einige Abhängigkeiten sind hinzugekommen, und was einst als eine einzelne Instanz deployt wurde, läuft mittlerweile verteilt auf mehreren Systemen. Die Fragen „Wo läuft was?“ und „Wie geht es dem System?“ sind nun um einiges schwieriger zu beantworten. Das ist nicht zuletzt auf einen Paradigmenwechsel im Entwicklungsmodell zurückzuführen.

Das Ende von Design – Implement – Deploy

Dieser neue Ansatz, Anwendungen zu entwickeln, hat auch Auswirkungen darauf, wie man einen Architektur-Review durchführt. Im klassischen Architektur-Review steht die Frage im Vordergrund, wie eine Anwendung modularisiert wurde. Wie diese dann deployt und skaliert wird, steht auf einem ganz anderen Blatt geschrieben. Das soll nicht heißen, dass Architekten diese Überlegungen außen vor lassen – ganz im Gegenteil. Potenzielle Probleme vorherzusehen und mit Erfahrung zukunftssichere Konzepte zu implementieren, ist genau das, was einen guten Architekten ausmacht. Das mag in der Theorie auch gut funktionieren, in der Praxis ist das aber nicht sehr agil und auch nicht das, was man unter einer „Pragmatic Architecture“ versteht. Dieser Ansatz funktioniert so lange gut, wie man sich mit Standardproblemen herumschlägt.

Mehr Knöpfe zum Tunen

Weiß man also vorab noch nicht so genau, wohin die Reise geht, dann wird es schwierig, eine nachhaltige – ein sehr großes Wort! – Architektur zu bauen. Je starrer und monolithischer ein Softwaresystem ist, desto schwerer wird es, dieses zu verändern. Die Lösung liegt natürlich auf der Hand: Das Konzept von Microservices – also kleinen, modularen Komponenten – hilft, architektonische Änderungen flexibler und schneller durchzuführen. Leichter wird dadurch allerdings auch nichts. Microservices-Architekturen sind noch dazu mit Sicherheit nichts für Anfänger und bei Weitem komplizierter in der...

Java Magazin
Architektur-Reviews in hoch dynamischen Anwendungen

Gesundheitscheck für Cloud-Apps

Moderne Cloud-Anwendungen erlauben es uns, Software auf äußerst dynamische Art zu entwickeln. Mithilfe von Continuous Deployment können wir Änderungen jederzeit produktiv nehmen. Moderne, flexible Architekturen à la Microservices [1] erlauben es schnell, Teile unserer Anwendungen anzupassen und zu ändern. Hat man sich erst einmal daran gewöhnt, entwickelt man Software auf der Überholspur. Manchmal sollte man sich aber auch die Zeit nehmen, einen Gang zurückzuschalten und einen Blick in den Rückspiegel zu werfen. Ein Health Check ist hier eine sehr gute Möglichkeit.

Martin Gutenbrunner, Alois Reitbauer


Moderne, Cloud-basierte Anwendungen werden in einem hoch dynamischen Umfeld entwickelt. Sei es, dass mittels eines effizienten Continuous-Deployment-Prozesses Änderungen im Tages- oder Stundentakt ins Produktivsystem überführt werden oder dass es stark entkoppelte Architekturen mit Microservices erlauben, Architekturkonzepte rasch an sich ändernde Anforderungen anzupassen.

Diese neu gewonnene Flexibilität ermöglicht es, moderne Anwendungen so agil zu entwickeln wie noch nie zuvor. Geht man in einem größeren Team so vor, kann man aber sehr leicht den Überblick verlieren. Das Anwendungsmodell, das man im Kopf hat, kann sich im letzten Deployment grundlegend geändert haben. Einige Abhängigkeiten sind hinzugekommen, und was einst als eine einzelne Instanz deployt wurde, läuft mittlerweile verteilt auf mehreren Systemen. Die Fragen „Wo läuft was?“ und „Wie geht es dem System?“ sind nun um einiges schwieriger zu beantworten. Das ist nicht zuletzt auf einen Paradigmenwechsel im Entwicklungsmodell zurückzuführen.

Das Ende von Design – Implement – Deploy

Dieser neue Ansatz, Anwendungen zu entwickeln, hat auch Auswirkungen darauf, wie man einen Architektur-Review durchführt. Im klassischen Architektur-Review steht die Frage im Vordergrund, wie eine Anwendung modularisiert wurde. Wie diese dann deployt und skaliert wird, steht auf einem ganz anderen Blatt geschrieben. Das soll nicht heißen, dass Architekten diese Überlegungen außen vor lassen – ganz im Gegenteil. Potenzielle Probleme vorherzusehen und mit Erfahrung zukunftssichere Konzepte zu implementieren, ist genau das, was einen guten Architekten ausmacht. Das mag in der Theorie auch gut funktionieren, in der Praxis ist das aber nicht sehr agil und auch nicht das, was man unter einer „Pragmatic Architecture“ versteht. Dieser Ansatz funktioniert so lange gut, wie man sich mit Standardproblemen herumschlägt.

Mehr Knöpfe zum Tunen

Weiß man also vorab noch nicht so genau, wohin die Reise geht, dann wird es schwierig, eine nachhaltige – ein sehr großes Wort! – Architektur zu bauen. Je starrer und monolithischer ein Softwaresystem ist, desto schwerer wird es, dieses zu verändern. Die Lösung liegt natürlich auf der Hand: Das Konzept von Microservices – also kleinen, modularen Komponenten – hilft, architektonische Änderungen flexibler und schneller durchzuführen. Leichter wird dadurch allerdings auch nichts. Microservices-Architekturen sind noch dazu mit Sicherheit nichts für Anfänger und bei Weitem komplizierter in der...

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