Hinweis: Dieser Blogbeitrag stammt aus der Zeit vor dem Zusammenschluss und wurde von ARS realisiert – heute Teil von ATVANTAGE. Unsere Erfahrung bleibt – nur unser Name hat sich geändert. Hier finden Sie weitere Informationen rund um die Fusion.

Lesezeit: 2 Minuten

 

Architekturarbeit im Zeitalter Cloud-nativer Architekturen und DevOps Teams - Teil 2


Allgemeine Aufgaben eines Softwarearchitekten

Bevor wir uns mit den Aufgabenstellungen der Softwarearchitekten im Cloud-native-Umfeld auseinandersetzen, lohnt sich ein Blick auf die Lehrmeinung bzgl. der Aufgaben eines Softwarearchitekten.

Softwarearchitekten sind verantwortlich für die Erreichung der Qualität und der gewünschten Funktionalität eines softwarebasierten Systems. Zwar ist diese Rolle in allen Phasen des Software Lifecycles beteiligt, i.d.R. aber nicht für die Umsetzung der Funktionalität verantwortlich.

System- und Schnittstellenentwurf

Ein wichtiger Bestandteil des Aufgabenspektrums befasst sich logischerweise mit dem abstrakten high-level Entwurf der Systemkomponenten und deren Beziehungen (in Form von Schnittstellen) zueinander. Es geht darum, eine Abstraktion mit einem geeigneten Modul-Schnitt zu finden, der einerseits möglichst verständlich und fachlich getrieben sein sollte, andererseits im Sinne von 'divide et impera' die Gesamtkomplexität des Zielsystems in verdaubare Häppchen zerlegt, denen sich einzelne Entwicklungsteams parallel und möglichst unabhängig voneinander widmen können.

Qualitätsziele

Die Architektur eines Systems sollte dabei nachweislich von den für das Produkt relevanten Qualitätszielen (siehe ISO 25010) beeinflusst werden (z.B. über den Aufbau von Qualitätsbäumen bzw. CTQ Analysen).

Dabei muss der Architekt anhand der Anforderungen und Gespräche mit den Stakeholdern entscheiden, welche Qualitätsziele priorisiert werden. Es gibt durchaus komplementäre, unverträgliche Ziele, für die es einen geeigneten Trade-Off zu finden gilt.

Qualitätsszenarien & Fitness Functions

Mit Hilfe von messbaren, konkreten Qualitätsszenarien ("das System sollte performant sein" vs. "die Antwortzeit bei 100 parallel arbeitenden Benutzern sollte im Schnitt unter 100 ms liegen") kann die Systemarchitektur jederzeit hinsichtlich Tragfähigkeit überprüfbar sein. Am Ende werden diese Entscheidungen pragmatisch in einer zielgruppengerechten Architekturdokumentation erfasst.

Für die kontinuierliche Einhaltung von Architekturzielen und -vorgaben haben sich Fitness Funktionen bewährt. Dabei handelt es sich um statische Analysen, eine Menge an Regeln und Tests auf Architekt-Ebene, die idealerweise als fester Bestandteil der CI/CD Pipelines verankert sein sollten und ergo immer mitlaufen.

Arbeitsalltag eines Architekten

Einen großen Teil ihrer Arbeitszeit verbringen Softwarearchitekten allerdings in der Funktion als Ansprechpartner oder Advokat bzw. Vermittler für die unterschiedlichsten Zielgruppen. Ein Softwarearchitekt kommuniziert u.a. „das (nicht) Mögliche“ (Realitätscheck, Erwartungs-Management), macht versteckte Risiken sichtbar und verhandelt notwendige technische/architektonische Investments in das System mit Sponsoren, Projektleitern,

Auftraggebern und Fachbereichen. Zusätzlich wird durch eine enge Zusammen- und Mitarbeit mit den Entwicklungs-, Qualitätssicherungs- und Betriebsteams dafür gesorgt, dass die Architekturvision in der Realität auch die gewünschten Ziele erfüllt. Dabei wird der Sinn der Architektur vermittelt, gegen die Erosion der Architektur gekämpft, es werden technische Hypotheken dokumentiert, neue und bessere Feedbackmechanismen (Logging, Monitoring, Alerting) etabliert und vieles mehr. Und manchmal werden auch naturwissenschaftliche Gesetze ausgehebelt, wenn der Auftraggeber sich das so gewünscht hat.

Soft Skills & Verhalten

Neben den oben aufgeführten, formaleren Kriterien hat sich noch zusätzlich und ergänzend ein "Knigge" für Architekten etabliert, der aus der Praxis gute und weniger gute Verhaltensweisen von Architekten widerspiegelt und kritisch reflektiert. So ist z.B. eine dogmatische, belehrende Haltung beim Umgang mit Entwicklerteams wenig zuträglich. Der Architekt sollte für Ideen und Impulse aus den Entwicklungs-Teams ein offenes Ohr haben - Stichwort Schwarm-Intelligenz: Hive Minds kommen schließlich meistens zu besseren Ergebnissen als einzelne Personen.
 

Ausblick

Welchen Einfluss haben Cloud-native Technologien und die daher eingehenden neuen Arbeitsweisen auf das Rollenverständnis, die Aufgaben und Arbeitsweisen eines Software-Architekten? Wie gestaltet sich die Zusammenarbeit insbesondere mit DevOps Teams, die zunehmend mehr Autonomie haben und was gibt es da zu beachten?

Das nächste Kapitel "Cloud-native Technologie schafft neue Möglichkeiten" liest du im nächsten Blogbeitrag am 25. November 2022.


 

 

Blogautor

Dr. Edgar Stoffel
Software Architect ARS Computer und Consulting GmbH

Ihr Erfolg ist unser Ziel

Stehen Sie vor komplexen IT-Projekten? Mit unserer Expertise bieten wir Ihnen maßgeschneiderte Lösungen. Erfahren Sie mehr.

Werde Teil unseres Teams

Wir suchen ständig nach neuen Talenten. Für dich haben wir genau die richtige Stelle. Schau dir unsere offenen Positionen an.

Noch Fragen? Wir helfen Ihnen gerne!

Blog 27.10.22

Architekturarbeit im Zeitalter Cloud-nativer Architekturen 1

Die beschleunigte Digitalisierung und ihr Einfluss auf Softwarearchitekturen und IT-Teams beschreibt der Autor. Sind Cloud-native-Strategien sinnvoll?

Blog 24.11.22

Architekturarbeit im Zeitalter Cloud-nativer Architekturen 3

Gedanken zu Möglichkeiten von Cloud-native-Architekturen und Kriterien zur Auswahl der Technologie: Standard nehmen oder sich dem Cloud-Anbieter ergeben?

Blog 22.12.22

Teil 5 - Einfluss von Cloud-native auf die Architekturarbeit

Wir beleuchten technische Aspekte von cloud-native Architekturen, die Vorteile verteilter Systeme und wie wichtig API-Management-System ist.

Blog 08.12.22

Teil 4: Eigenschaften einer Cloud-native Architektur

Beitrag zu Cloud-native Architekturen, ihre Möglichkeiten und Zielsetzungen sowie die Philosophie und Arbeitsweise, die daraus folgt.

Blog 18.04.24

Cloud-Native Netzwerksouveränität mit Cilium und Kubernetes

Erfahren Sie alles über die revolutionäre Cloud-Native Netzwerksouveränität mit Cilium und Kubernetes. Optimieren Sie Ihre Netzwerkinfrastruktur für mehr Sicherheit und Leistung.

Blog 02.02.23

Computer Aided Cloud Transformation

Was bedeutet Computer aided cloud transformation? Warum ist Enterprise Architecture Management wichtig? Wie gelingt das Asset- und Ressourcenmanagement?

Blog 19.09.24

Die Zukunft datenbankzentrierter IT-Architekturen

Datenbankzentrierte IT-Architekturen prägen viele Unternehmen. Doch ist dieser Ansatz noch zukunftsfähig? Dieser Artikel beleuchtet die Herausforderungen und Alternativen.

Blog 14.12.20

Cloud-Native Architektur

Cloud Technologien haben auch in der Welt der Anwendungsentwicklung Änderungen mit sich gebracht - aber was steckt hinter dem Begriff "Cloud-Native"?

Blog 14.12.20

Cloud-Native Architektur

Cloud Technologien haben auch in der Welt der Anwendungsentwicklung Änderungen mit sich gebracht - aber was steckt hinter dem Begriff "Cloud-Native"?

Blog 05.01.23

Teil 6 - Die Architektenrolle in DevOps-Teams/Organisationen

Erfahren Sie in diesem Blogbeitrag mehr über die Rolle der Architekten in DevOps-Teams und wie sich die Architekturarbeit im cloud-native Umfeld verändert hat.

Blog 16.02.23

Keine Angst vor Komplexität

Wie kann man die Komplexität der Organisation u. Technologie, die neue Plattformen, Architekturen und neue Entwicklerkultur mit sich bringen, beherrschen?

Blog 16.03.23

Bedeutung von APIs als Interaktionsmodell

APIs sind mehr als Schnittstellen, sie sind Teil der Interaktion zwischen Geschäftspartnern. Eine API First Strategie schafft echte Wertschöpfung.

Blog 30.03.23

Eine API kommt selten allein - APIs in der freien Wildbahn

API's als Produkt zu verstehen ist ein Merkmal agiler Arbeitsweise. API's sind immer im Kontext des geplanten Services und des Ökosystems zu betrachten.

Blog 19.01.23

Digitalisierung und das richtige Mindset

Digitalisierung erfordert Umdenken weg von Projekten hin zu Produkten. DevOps und offene Fehlerkultur bestimmen moderne IT-Organisationen - auch bei Ihnen?

Blog 01.08.24

Migration von HOST-Anwendungen zu AWS: Modernisierung

Lernen Sie, wie moderne AWS-Services nahtlos in bestehende Host-Landschaften integriert werden und profitieren Sie von den Vorteilen von Serverless-Technologien.

Blog 28.02.24

DynamoDB starten: Einblicke in AWS Key-Value Datenbank 2

Erfahren Sie in diesem Blogartikel mehr über fortgeschrittene Techniken zur Modellierung von Datenbeziehungen in DynamoDB.

Blog 22.06.23

Cloud Landing Zones: Sicher landen in der Public Cloud

Was sind Cloud Landing Zones? Lesen Sie, wie Sie mit Hilfe von CLZ Ihre Cloud-Strategie definieren und wichtige Learnings für die Transformation gewinnen.

Blog 08.06.23

Fünfzehn vor zwölf: Der Gang in die Cloud

Was sind die Erfolgsfaktoren einer Cloud-Transformation? Diese 15 Punkte von A wie Abhängigkeiten bis T wie Telemetrie - von Praktikern für IT-Entscheider.

Blog 26.04.24

Team Topology: Ein Wegweiser für effektive DevOps-Kultur

Erfahren Sie, wie Team Topology und effektive Kommunikationsmodi die DevOps-Kultur fördern und die Softwareentwicklung revolutionieren. Ein Wegweiser für erfolgreiches Teammanagement.

Blog 12.01.24

Infrastructure as Code (IaC)

Infrastructure as Code (IaC) und die neuesten Entwicklungen in der Cloud-Infrastrukturverwaltung mit Tools wie Terraform und Crossplane. Ein Blick auf die Zukunft des Infrastrukturmanagements.