CGS ITSolutions

Blog / Software Architektur

Software-Architektur: Die 5 Entscheidungen, die alles bestimmen

Architektur-Entscheidungen sind schwer rückgängig zu machen. Welche fünf Weichenstellungen den größten Einfluss auf Ihr Projekt haben.

· CGS IT Solutions

Architektur ist kein Diagramm

Software-Architektur wird oft mit Boxen und Pfeilen gleichgesetzt. Aber Architektur sind die Entscheidungen, die schwer rückgängig zu machen sind — und die den Rahmen für alles Weitere setzen.

Hier sind die fünf Entscheidungen, die den größten Einfluss auf den Erfolg eines Softwareprojekts haben.

1. Synchron oder Asynchron?

Die fundamentalste Entscheidung: Kommunizieren Ihre Komponenten synchron (Request/Response) oder asynchron (Events/Messages)?

Synchron (REST, gRPC):

  • Einfacher zu verstehen und zu debuggen
  • Direkte Fehlermeldung an den Aufrufer
  • Enge Kopplung zwischen Sender und Empfänger

Asynchron (Kafka, RabbitMQ, SQS):

  • Lose Kopplung, höhere Resilienz
  • Natürliche Skalierbarkeit durch Queues
  • Komplexeres Fehlerhandling, Eventual Consistency

Empfehlung: Starten Sie synchron und führen Sie Asynchronität gezielt ein, wo sie Probleme löst — nicht als Grundsatzentscheidung.

2. Datenhoheit: Shared Database oder Database per Service?

Teilen sich Ihre Services eine Datenbank — oder hat jeder Service seine eigene?

Aspekt Shared DB DB per Service
Konsistenz Einfach (Transaktionen) Komplex (Sagas)
Kopplung Hoch (Schema-Änderungen betreffen alle) Niedrig
Performance Joins möglich Kein Cross-Service-Join
Betrieb Ein Cluster Mehrere Cluster

Die Wahrheit: Die meisten Systeme brauchen einen Mittelweg. Logische Trennung (eigenes Schema pro Service) mit physisch geteilter Infrastruktur ist oft der pragmatische Start.

3. Deployment-Einheit: Monolith, Modulith oder Microservices?

Diese Entscheidung bestimmt Ihre gesamte Infrastruktur, CI/CD-Pipeline und Team-Organisation:

  • Monolith: Ein Artefakt, einfaches Deployment, ein Team
  • Modulith: Ein Artefakt mit klaren internen Grenzen, mehrere Teams möglich
  • Microservices: Mehrere Artefakte, unabhängiges Deployment, Team-pro-Service

Die Entscheidung hängt weniger von der Technik ab als von der Teamgröße und -struktur (Conway’s Law).

4. Frontend-Architektur: Server-Rendered oder SPA?

Oft unterschätzt, aber schwer zu ändern:

Server-Side Rendering (Thymeleaf, JSF, HTMX):

  • Weniger Komplexität, kein separater Build-Prozess
  • SEO-freundlich out of the box
  • Gut für content-lastige Anwendungen

Single Page Application (React, Angular, Vue):

  • Reichere Interaktivität
  • Eigenes Team für Frontend möglich
  • API-first ermöglicht mehrere Clients (Web, Mobile)

Trend: HTMX und Server Components (React) bringen die Welten zusammen.

5. Fehlerbehandlungsstrategie

Die am häufigsten vergessene Architekturentscheidung: Was passiert, wenn etwas schiefgeht?

Definieren Sie frühzeitig:

  • Circuit Breaker: Wann wird ein abhängiger Service als „down“ betrachtet?
  • Retry-Strategie: Wie oft, mit welchem Backoff?
  • Fallback-Verhalten: Degraded Mode oder Fehlerseite?
  • Timeout-Budgets: Wie lange darf ein Request maximal dauern?

Ohne diese Entscheidungen wird Ihr System bei der ersten Störung kaskadierend ausfallen.

Architektur-Entscheidungen dokumentieren

Nutzen Sie Architecture Decision Records (ADRs) — kurze Dokumente, die festhalten:

  1. Kontext: Welches Problem lösen wir?
  2. Entscheidung: Was haben wir entschieden?
  3. Konsequenzen: Was folgt daraus (positiv und negativ)?
# ADR-001: Asynchrone Kommunikation für Bestellprozess

Kontext

Der Bestellprozess muss 5 nachgelagerte Systeme benachrichtigen. Synchrone Aufrufe führen zu Timeouts bei Last.

Entscheidung

Wir verwenden Apache Kafka für die Event-basierte Kommunikation im Bestellprozess.

Konsequenzen

+ Lose Kopplung, keine kaskadierenden Fehler + Natürliche Skalierbarkeit - Eventual Consistency, kein sofortiges Feedback - Zusätzliche Infrastruktur (Kafka Cluster)

Fazit

Gute Architektur entsteht nicht durch die Wahl des richtigen Frameworks, sondern durch bewusste Entscheidungen an den richtigen Stellen. Nehmen Sie sich Zeit für diese fünf Weichenstellungen — sie bestimmen den Erfolg Ihres Projekts mehr als jede Technologiewahl.

Bei CGS IT Solutions unterstützen wir Sie als Software-Architekten bei genau diesen Entscheidungen — pragmatisch, erfahrungsbasiert und technologieneutral.

Alle Beiträge

Fragen zum Thema?

Wir unterstützen bei Architektur, Cloud und Umsetzung. Schreiben Sie uns.