Lesezeit: 2 Minuten

 

Teil 5 - Einfluss von Cloud-native auf die Architekturarbeit


Wie wir gesehen haben, bieten Cloud-native Architekturen neue Möglichkeiten Dinge zu tun, bzw. anders zu tun, als dies bislang möglich war und unterliegen einer eigenen Philosophie bezüglich des Designs und bei der Umsetzung passender Software-Architekturen. Dafür betrachten wir zum einen die technischen Aspekte, müssen uns andererseits aber auch um fachliche und organisatorische Facetten kümmern, um die neuen Möglichkeiten auch wirklich gewinnbringend nutzen zu können.

Verteilte Architekturen auf dem Vormarsch

Dank des zwischenzeitlich erreichten Reifegrads in Bezug auf die Technologien, haben Softwarearchitekten einen wesentlich größeren Werkzeugkoffer zur Hand, um die Qualität eines Systems beeinflussen zu können. Aufgrund der Betriebsaufwände früher noch undenkbar, werden in diesem Umfeld zunehmend verteilte Systeme entworfen, um einzelne Systembestandteile hinsichtlich besonderer nicht-funktionaler Anforderungen optimieren zu können.

Neben der klassischen, monolithisch geprägten Architektur entstehen mehr und mehr verteilte Architekturen (Microservice Architecture) bzw. ereignisbasierte Architekturen (Event Driven Architecture).

Man wählt diese Architekturen, um sowohl neue Systeme zu implementieren, als auch um bestehende Legacy-Systeme schrittweise zu modernisieren. Letzteres erreicht man z.B. durch den Einsatz des Strangler-Fig Pattern, um einzelne Systembestandteile zu separieren und neu entwickelte Cloud-native basierte Systeme zu ersetzen.
Dabei hat sich die Vorgehensweise etabliert, bei der Modernisierung im ersten Schritt Cloud-tauglich (Cloud-ready) und im zweiten Schritt Cloud-native zu werden.

Keine Scheu vor einem Re-Design

Die Architekturarbeit birgt allerdings auch diverse Tücken, wie der zunehmende Einfluss von Lean Product Management als Vorgehensmodell zeigt.

So macht es keinen Sinn, sich in frühen Phasen des Systemdesigns (Walking Skeleton, Prototyping) zu intensiv mit der Performance und der Skalierung zu beschäftigen, wenn damit die funktionale Reifung des Produkts verlangsamt wird.

Nach dem Initial Product Release bzw. in der MVP Phase ergeben sich in der Regel aber viele neue Erkenntnisse, die häufig ein Überdenken der Architektur (und ggf. auch Technologieänderungen) unumgänglich machen.

Die Rolle des Softwarearchitekten

Früher waren Softwarearchitekten ggf. noch vorrangig mit der Modularisierung und Strukturierung monolithischer Codebasen beschäftigt (u.a. durch Einsatz des UML-Standards). In einer zunehmend agilen Umgebung und damit einhergehend mit der sich stetig verändernden fachlichen Realität, müssen sich Softwarearchitekten weiterentwickeln und sich neuer Methoden bedienen. Oft gilt es, den idealen Service-Schnitt zu finden, den der auf Cloud-Technologien ausgerichtete Softwarearchitekt mit Hilfe von folgenden Kriterien und Methoden abwägen sollte:

  • Domain-Driven-Design und Event-Storming Ziel des DDD ist der fachliche Schnitt des zu entwickelnden Softwaresystems. Damit ist in der Regel auch ein IT/Business-Alignment verbunden, dass man auch als Inverse Conway Manöver bezeichnet. Die Methode des Event-Storming dient dazu die Gemeinsame Sprache der Fachdomäne zu erschließen und wird auch dafür genutzt Subdomänen und Bounded Contexts zu identifizieren.
  • Organisatorischer Schnitt
  • Der oder die Serviceschnitte müssen zu den Teamgrößen passen. Hier lohnt es sich, sich mit Team-Topologien zu beschäftigen, um die Kognitive Last der Teams nicht zu überschreiten und sich zu überlegen, wie diese Teams dann zusammenarbeiten sollen.
  • Sonstige Rahmenbedingungen
  • Limitierungen durch die Technologiewahl, die Auswahl von 3rd Party Vendoren oder das Outsourcing mit Hilfe von APIs, usw. sind weitere Aspekte, die es abzuwägen gilt.

Die richtige API-Verwaltung

Neben dem optimalen Service-Schnitt spielt auch die Wahl der passenden Kommunikationsstile (synchron vs. asynchron) und der eingesetzten Protokolle eine wichtige Rolle.

Um Kommunikationsbeziehungen stabil zu halten, ist es sinnvoll, die entsprechenden APIs und deren Lebenszyklen bewusst zu verwalten (Provider und Consumer Prozess) und Änderungen der APIs angemessen zu kommunizieren.

Die Steuerung des API-Lebenszyklus, das Exponieren der Services über Gateways, aber auch das Provisionieren von API Keys sollten ohne manuelle Aufwände innerhalb von CI/CD Toolchains erfolgen. Für komplexe Service-Landschaften gibt es den Ansatz des Service Mesh (wie z.B. Consul, Linkerd oder Istio), mit denen sich die Verwaltung deutlich vereinfachen und vor allem gut dokumentieren lässt.

Der richtige organisatorische und prozessuale Umgang mit APIs ist das A und O beim Aufbau von verteilten Systemen und ein Garant für ein schnelles Wachstum des sinnvoll genutzten Portfolios an Services.

Das sechste und letzte Kapitel "Die Architektenrolle in DevOps-Teams/Organisationen" gibt es im nächsten Blogbeitrag am 5. Januar 2023 zu lesen.

Blogautor

Peter Diefenthäler
Senior Softwarearchitekt 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 10.11.22

Architekturarbeit im Zeitalter Cloud-nativer Architekturen 2

Aufgaben von Softwarearchitekten im Cloud-native-Umfeld, benötigte Skills und ihr Arbeitsalltag zwischen Kundenanforderungen, Zieldefinition und Deadlines.

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

Kompetenz 25.02.25

Cloud-native Architektur

Digitale Services erfordern einen hohen Reifegrad in der Architekturarbeit! Service-Qualität, Verfügbarkeit, Stabilität und Vernetzung mit angrenzenden Ökosystemen sind die Spitze des Eisbergs, der von Ihren Kunden in der Verwendung Ihrer Services maßgeblich wahrgenommen wird.

Blog 15.04.23

Die vielfältigen Bestandteile API-basierter Produkte

API ist technisch betrachtet ein System mit Schnittstellen, z.B. REST. Was gehört zu einem guten API-Design? Wie wird ein API-Produkt erfolgreich?

Blog 27.02.25

Cloud-Native Architektur

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

Kompetenz 25.02.25

API Economy & API Management

Eine beschleunigte und sichere Bereitstellung von Daten und Services eröffnet neue Geschäftsmodelle z.B. im Kontext B2B, B2C. Daneben sind interne API Ökosysteme" im Kontext von Cloud- native Architekturen, Microservices, Internet of Things und Mobile Use Cases nicht mehr Wegzudenken.

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

Glühbirnen vor Wolken zur Visualisierung der Cloud
Wissen

SaaS & Cloud Integration in 5 Minuten

Ist die Integration von SaaS und Cloud Lösungen in die unternehmensinternen IT-Landschaften eine der größten Hürden für den vollständigen Durchbruch dieser Technologien in Unternehmen? Erfahren Sie unsere Erkenntnisse in diesem Artikel.

Service 25.02.25

Eventreihe: KI Governance

Die EU hat sich auf schärfere Regeln zur Nutzung von Künstlicher Intelligenz geeinigt. Ihre Auswirkungen und weitere wichtige Aspekte von "KI Governance" beleuchten wir in unserer Eventserie.

Service

Digitalisierung und Cloud-Transformation

Wir justieren die Stellschrauben Ihrer individuellen Digitalisierungsinitiative auf Geschwindigkeit, Anpassungsfähigkeit, Sicherheit und Compliance!

Wissen

Filetransferlösungen Teil 5 - Neuerungen in V7.0.1

Mittlerweile existiert bereits ein neueres Release von WebSphere MQ FTE. In diesem Blogartikel sind alle Funktionen in WebSphere MQ FTE 7.0.1 aufgelistet.

Referenz

Digitale Transformation: HUK ersetzt Papier durch Cloud

ARS unterstützte HUK-COBURG dabei, Papierprozesse durch moderne Cloud-Microsites zu ersetzen, um fehlende Versicherungsdaten effizient zu erfassen.

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.

Leistung

Cloud Native

Mit Cloud Native auf dem Weg zum modernen Unternehmen: Der Cloud-Native-Ansatz ermöglicht die Entwicklung und den Betrieb in der Cloud. Dein Vorteil: Einfache Skalierung und schnelle Deployments.

Kompetenz 25.02.25

Softwarearchitektur

Architekten sind in der Verantwortung für die Qualität der Software. Mit dem Kunden, dem Business arbeitet er die Qualitätsanforderungen heraus und ermittelt belastbare Kriterien und Maßstäbe für die Qualität.

Insights

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 soll vor allem Wertschöpfung schaffen

Bleiben Sie mit dem TIMETOACT GROUP Newsletter auf dem Laufenden!