Ein produktives System muss genaue Ziele erreichen: Leistung, Zuverlässigkeit, Sicherheit und Compliance, Nachvollziehbarkeit, Betriebsfähigkeit, Flexibilität, Kosten. Dafür wird auf zwei Ebenen gearbeitet, noch bevor es um die Funktionen der Anwendung geht.
Der Solution Architect legt die Architektur der Dienste fest: welche Cloud-Dienste eingesetzt und wie sie verbunden werden, um diese Ziele zu erreichen. Microsoft beschreibt ihn als jemanden, der Stakeholder berät und Geschäftsanforderungen in technische Entwürfe übersetzt, gemeinsam mit Entwicklern, Administratoren sowie Sicherheits- und Datenfachleuten.
Der Softwarearchitekt legt die gemeinsamen Softwareregeln fest, die diese Entscheidungen wirksam machen: wie jede Komponente Protokolle schreibt und die Monitoring-Werkzeuge nutzt, wie sie die Dienste verwendet, wie sie mit Fehlern und Konfiguration umgeht.
Keine der beiden Ebenen reicht ohne die andere. Das Monitoring muss in der Architektur vorgesehen sein, aber nützliche Daten entstehen nur, wenn auch die Entwicklung genauen Regeln folgt. Bei eingeschränktem Produktionszugriff wird das deutlich: Bei einer Anomalie kann man sich nur auf das verlassen, was vorher vorgesehen wurde.
Cloud-Erfahrung →
Für beide Rollen sind diese Dienste und Regeln fast immer zu bewerten: Sie bilden eine Grundlage, fast ein eigenes Framework, für ein Projekt, das die Cloud-Umgebung nutzt, wachsen kann und sich überwachen lässt.
Danach geht es um das einzelne Projekt und darum, was es wirklich braucht. Der Softwarearchitekt entscheidet, welche Architektur entwickelt wird, etwa ob Clean Architecture zum Einsatz kommt, und legt die Entwicklungsregeln fest; gemeinsam werden die passenden Dienste und Cloud-Patterns gewählt. Je nach Situation beginnt man mit einem Prototyp (Proof of Concept), der die Einhaltung dieser Regeln prüft, und geht dann in die eigentliche Entwicklung.
Wie ich den Code organisiere →
Auch die Anforderungen des Projekts können die Grundlage verändern: Regulierte Daten oder hohe Volumina können andere Dienste erfordern.
Das sind keine standardisierten Titel. In großen Organisationen kommt der Enterprise Architect hinzu, der an der Gesamtheit der Systeme und an der Technologiestrategie arbeitet, nicht am einzelnen Projekt.
Die Rolle ist nicht mit der Cloud entstanden, doch heute treffen beide Themen fast immer zusammen. In der Cloud kauft man Infrastruktur nicht einmalig: Man wählt aus vielen Diensten, beschreibt sie in versionierten Dateien und zahlt jeden Monat. Eine Architekturentscheidung wird damit auch zu einer Entscheidung über Kosten, Risiken und die Abhängigkeit von einem Anbieter.