Edgerunners

Codebasis & Architektur

Die Architektur, die Ihr Team heute betreiben kann – mit Raum, später aufzuteilen

Microservices, modularer Monolith oder eine einzige Codebasis: Wir entscheiden anhand Ihres Teams, Budgets und Ihrer Wachstumspläne und schreiben auf, warum.

Sie erhalten eine schriftliche Empfehlung, Ihr aktuelles System beizubehalten, umzustrukturieren oder aufzuteilen – mit den Kosten jeder Option.

Kommt Ihnen das bekannt vor?

  • 01

    Sie haben früh auf Microservices umgestellt, und jetzt betrifft ein einfaches Feature fünf Services und drei Deployments.

  • 02

    Ihr Monolith ist zu einem verworrenen Block geworden, in dem jede Änderung etwas Unbeteiligtes kaputt macht.

  • 03

    Services rufen sich über das Netzwerk auf, ohne Verträge, Timeouts oder Retry-Regeln.

  • 04

    Der Traffic zwischen internen Services ist nicht authentifiziert, weil „ja alles in unserem Netzwerk ist“.

  • 05

    Neue Entwickler brauchen Wochen, bevor sie etwas ausliefern können.

  • 06

    Niemand kann erklären, warum das System so aussieht, wie es aussieht.

Der Preis des Wartens

Was die falsche Architektur kostet

Zu viel Architektur bedeutet, für Server, Deployments und Engineers zu bezahlen, die Komplexität pflegen, die Ihr Traffic nicht braucht. Zu wenig bedeutet, dass jedes neue Feature länger dauert als das letzte. So oder so wachsen die Kosten mit jedem Quartal, in dem Sie nichts ändern.

Unser Vorgehen

Wie wir entscheiden

AnsatzPasst, wennAchten Sie auf
MonolithKleines Team, frühes Produkt, geringes Wartungsbudget, schnelle Neuaufbauten nötigWird ohne Modulgrenzen zum Knäuel
Modularer MonolithWachsendes Produkt, mehrere Teams, Fachdomänen werden klarerBraucht Disziplin, damit Module nicht ineinander greifen
MicroservicesUnabhängige Teams, Teile mit sehr unterschiedlichen Skalierungs- oder Release-AnforderungenNetzwerk-Setup, Service-zu-Service-Sicherheit, Tracing, Deployment-Aufwand, höhere Betriebskosten

Vielen Unternehmen empfehlen wir einen Monolithen aus klar getrennten Modulen. Er ist günstiger in der Wartung, einfach zu deployen und schnell neu aufzubauen, wenn etwas schiefgeht. Die Modulgrenzen stehen vom ersten Tag an fest, sodass jedes Modul, das später eigene Skalierung oder einen eigenen Release-Zyklus braucht, ohne Neuentwicklung zu einem separaten Service werden kann.

Wenn Microservices die richtige Wahl sind, ist das Aufteilen des Codes nur der erste von vielen Schritten. Netzwerk und Authentifizierung zwischen Services, Timeouts und Retries, Tracing und Deployment müssen alle entworfen werden – und wir planen sie von Anfang an in die Architektur ein.

Sprachen und Frameworks wählen wir genauso: nach Workload, nach den benötigten Bibliotheken und nach den Fähigkeiten, die Ihr Team hat oder einstellen kann. Ein Stack, den Ihr Team nicht pflegen kann, wird später zum Kostenfaktor.

Vorher und nachher

Vorher: Ein Feature betrifft fünf Repositories
Nachher: Ein Feature lebt in einem Modul mit klaren Grenzen
Vorher: Interne Services vertrauen einander blind
Nachher: Jeder Service-zu-Service-Aufruf ist authentifiziert
Vorher: Neue Entwickler brauchen Wochen bis zum ersten Release
Nachher: Eine dokumentierte Struktur, der neue Entwickler folgen können
Vorher: Architekturentscheidungen stecken in alten Chatverläufen
Nachher: Entscheidungsprotokolle mit Optionen, Abwägungen und Gründen

Ergebnisse

Was Sie erhalten

  • Ein Architekturdokument mit der Begründung jeder wichtigen Entscheidung
  • Modul- und Servicegrenzen, abgebildet auf Ihre Fachdomänen
  • Coding-Standards und eine Ordnerstruktur, der das ganze Team folgt
  • Ein Code-Review-Prozess, der jede Änderung gegen die Architektur prüft
  • Ein Migrationspfad von Ihrer aktuellen Struktur, falls bereits eine besteht

FAQ

Fragen, die Teams uns vor der Zusammenarbeit stellen

01Wir haben bereits Microservices. Ist es zu spät?

Nein. Manchmal liegt die Lösung in besserem Netzwerk und mehr Sicherheit zwischen den Services. Manchmal im Zusammenlegen von Services, die nie getrennt sein mussten. Das Review zeigt Ihnen, was zutrifft.

02Schränkt uns ein Monolith später nicht ein?

Ein Monolith mit klaren Modulgrenzen lässt sich Modul für Modul aufteilen, wenn ein Teil des Produkts es braucht.

Nächster Schritt

Zweifeln Sie an Ihrer Architektur?

Wir prüfen sie und sagen Ihnen, ob Sie sie beibehalten, umstrukturieren oder aufteilen sollten – mit den Kosten jeder Option.