Dieser Leitfaden richtet sich an SaaS-Gruender, CTOs und Engineering Leads, deren Produkt langsam ausgeliefert wird, weil jede Aenderung alles beruehrt. Er setzt ein Live-Produkt mit zahlenden Mandanten voraus. Den Aufbau einer ersten Version behandelt unsere SaaS-MVP-Architektur-Roadmap, das uebergeordnete Bild der SaaS-Platform-Engineering-Leitfaden und die allgemeine Wahl zwischen Neuentwicklung, Refactoring und Replatforming der Leitfaden zu digitaler Transformation und Modernisierung.
Inhalt dieses Leitfadens
- Ist der Monolith wirklich das Problem?
- Das Ziel: ein modularer Monolith vor allen Diensten
- Den Weg waehlen
- Schnittlinien finden, dann Grenzen ziehen
- Schritt fuer Schritt: ein Modularisierungspfad
- Mandanten, Abrechnung und Daten waehrend der Migration
- KI bei einer Modernisierung
- Welche Liefernachweise existieren - und welche nicht
- Alternativen: Wer fuehrt die Arbeit?
- Grenzen dieses Leitfadens
- Haeufig gestellte Fragen
- Naechster Schritt
Ist der Monolith wirklich das Problem?
Ein Monolith ist eine Anwendung, die als eine Einheit deployed wird. Das ist kein Fehler an sich: Martin Fowlers Monolith-first-Empfehlung haelt fest, dass fast alle erfolgreichen Microservice-Geschichten mit einem Monolithen begonnen haben, der zu gross geworden ist, und dass stabile Service-Grenzen schwer zu ziehen sind, bevor man die Domaene kennt. Achten Sie auf folgende Anzeichen, bevor Sie etwas umstrukturieren:
- Aenderungen kollidieren. Mehrere Teams bearbeiten dieselben Dateien, Releases warten aufeinander, und ein kleiner Fix erfordert einen vollstaendigen Regressionstest.
- Ein Fehler legt alles lahm. Ein aufwendiger Report oder Import verlangsamt Anmeldung und Abrechnung fuer alle Mandanten.
- Niemand kann einen Teil erklaeren. Code greift auf die Daten anderer Codeabschnitte zu, sodass eine Aenderung an einer Stelle eine andere kaputt macht.
- Eine Arbeitslast benoetigt eine andere Behandlung. Suche, Medienverarbeitung oder KI-Funktionen benoetigen andere Hardware, Skalierung oder Release-Regeln als der Rest.
Strukturieren Sie nicht um, wenn das Problem anderswo liegt. Langsame Seiten haben oft fehlende Datenbankindizes, instabile Releases oft fehlende Tests, und eine hohe Rechnung oft fehlende Kostenzuordnung - das behandelt unser Leitfaden zu Cloud-Kostenkontrollen. Ist das System alt, nicht mehr unterstuetzt oder insgesamt undurchsichtig, fuehren Sie zunaechst die Checkliste zur Legacy-System-Bewertung durch.
Das Ziel: ein modularer Monolith vor allen Diensten
Ein modularer Monolith ist weiterhin eine einzige deploybare Anwendung, aber ihr Code ist in Module aufgeteilt, jedes mit einer klaren oeffentlichen Schnittstelle und eigenen Daten. Shopifys Engineering-Team beschrieb diesen Ansatz fuer seine grosse Rails-Anwendung: Komponenten mit definierten Grenzen, sodass Entwickler in den fuer sie relevanten Bereichen arbeiten und Tests fuer eine einzelne Komponente statt fuer das Gesamtsystem laufen koennen. Derselbe Artikel listet Erkenntnisse auf, die das Team beim Neustart anders umsetzen wuerde - planen Sie daher fuer Iterationen.
Was ein Modul zu einem echten Modul macht - und nicht nur zu einem Ordner:
- Eine oeffentliche Schnittstelle. Andere Module rufen Funktionen auf oder senden Ereignisse; sie greifen nie auf interne Strukturen zu.
- Eigene Daten. Jedes Modul besitzt seine Tabellen. Kein anderes Modul liest oder verknuepft sie direkt.
- Ein Eigentuemer. Ein Team ist fuer das Verhalten des Moduls und seine Tests verantwortlich.
- Eine durchgesetzte Regel. Eine Pruefung im Build schlaegt fehl, wenn ein Modul auf die internen Strukturen eines anderen zugreift.
Typische Module fuer ein SaaS-Produkt sind: Identitaet und Zugriff, Mandanten und Berechtigungen, Abrechnung und Abonnements, die Kernproduktdomaenen, Benachrichtigungen und Reporting. Der Mandantenkontext durchlaeuft jedes Modul; der Leitfaden zur Multi-Tenant-Architektur erlaeutert die Isolationsentscheidungen, auf denen diese Wahl beruht.
Den Weg waehlen
| Weg | Staerke | Risiko | Waehlen Sie ihn, wenn |
|---|---|---|---|
| Monolith stabilisieren: Tests, Monitoring, Query- und Release-Fixes | Guenstigste Aenderung; beseitigt oft das Symptom | Struktur bleibt verwoben | Das Problem ist Geschwindigkeit oder Stabilitaet, nicht Kopplung |
| Modularer Monolith vor Ort, ein Modul nach dem anderen | Ein Deployment, eine Datenbank-Engine, kein Netzwerk zwischen Modulen | Erfordert Disziplin; Grenzen erodieren ohne Pruefungen | Kopplung verlangsamt Teams, aber die Skalierung ist handhabbar |
| Ausgewaehlte Dienste mit dem Strangler-Ansatz auslagern | Isoliert einen Hot Path oder einen regulierten Bereich | Verteilte Fehler, Datensynchronisierung, mehr Betriebsaufwand | Ein bewaehrtes Modul benoetigt eigene Skalierung, Release-Kadenz oder Isolation |
| Neuschreiben als Microservices | Sauberer Start fuer jeden Teil | Laengste Verzoegerung, Wiederlernen alter Regeln, eingefrorene Features | Fast nie; nur wenn der alte Code ueberhaupt nicht weiterentwickelt werden kann |
Die meisten Produkte enden mit einem modularen Kern und null bis wenigen ausgelagerten Diensten. Teams sollten einen vollstaendigen Microservice-Verbund als ein Ziel betrachten, das man sich verdienen muss - nicht als Ausgangspunkt.
Schnittlinien finden, dann Grenzen ziehen
Eine Schnittlinie ist eine Stelle, an der ein Teil des Codes mit wenig Aufwand vom Rest getrennt werden kann. Finden Sie sie aus Belegen, nicht aus einem Architekturdiagramm:
- Abhaengigkeitskarte. Generieren Sie den tatsaechlichen Import-Graphen. Module mit vielen eingehenden und wenigen ausgehenden Aufrufen sind gute erste Kandidaten; verwobene Kerne kommen zuletzt.
- Dateneigentuem. Listen Sie fuer jede Tabelle auf, welcher Code sie liest und schreibt. Tabellen, die von vielen Bereichen beschrieben werden, zeigen eine Grenze, die noch nicht existiert.
- Aenderungshistorie. Dateien, die sich gemeinsam aendern, gehoeren meist zusammen. Dateien, die sich unabhaengig aendern, deuten auf eine Grenze hin.
- Fachsprache. Namen, die an verschiedenen Stellen unterschiedliches bedeuten - etwa "Account" in der Abrechnung und bei der Anmeldung -, markieren die Grenzen zwischen Domaenen.
Waehlen Sie das erste Modul nach niedrigem Risiko und hohem Lerneffekt: eine klare Funktion, eine kleine Schnittstelle und wenig geteilte Daten. Benachrichtigungen oder Reporting passen oft. Lassen Sie Abrechnung und Identitaet, bis die Methode erprobt ist, und behandeln Sie sie dann mit besonderer Sorgfalt, da Fehler dort jeden Mandanten betreffen.
Schritt fuer Schritt: ein Modularisierungspfad
-
Den Monolithen aenderungssicher machen
Monitoring einrichten, ein wiederholbares Release-Verfahren etablieren und Charakterisierungstests erstellen, die das heutige Verhalten des Systems aufzeichnen - einschliesslich seiner Eigenheiten.
-
Module kartieren und benennen
Liste, Eigentuemer und beabsichtigte Abhaengigkeitsrichtung fuer jedes Modul abstimmen.
-
Grenzen im Build durchsetzen
Regeln hinzufuegen, die bei unerlaubten Importen fehlschlagen. Im Nur-Melde-Modus beginnen und Modul fuer Modul verschaerfen.
-
Daten trennen
Moduluebergreifende Joins entfernen, indem die Schnittstelle des besitzenden Moduls aufgerufen wird; dann Tabellen oder Schemata hinter dieser Schnittstelle verschieben. Den Mandantenbezeichner auf jedem Datensatz beibehalten.
-
Interne Aufrufe durch Schnittstellen und Ereignisse ersetzen
Langsame oder optionale Arbeit - etwa E-Mails und Nutzungsereignisse - wird zu asynchronen Ereignissen innerhalb des Monolithen.
-
Nur auslagern, wenn ein Test erfuellt ist
Ein Kandidat muss einen messbaren Bedarf nachweisen: ein eigenes Skalierungsprofil, eine eigene Release-Kadenz, eine Sicherheits- oder Compliance-Grenze oder ein Team, das ihn von Anfang bis Ende besitzen muss.
-
Schrittweise vorgehen und einen Rueckweg offenhalten
Eine Routing-Schicht davor schalten, einige Mandanten zur neuen Komponente leiten und Ergebnisse vergleichen. Microsofts Strangler-Fig-Muster beschreibt diese inkrementelle Abloesung, und eine Anti-Corruption-Layer haelt alte und neue Modelle voneinander fern.
Jeder Schritt wird eigenstaendig ausgeliefert. Wenn das Programm nach Schritt 4 stoppt, ist das Produkt trotzdem besser als zuvor.
Mandanten, Abrechnung und Daten waehrend der Migration
Multi-Tenancy ist der Bereich, in dem eine Umstrukturierung unbemerkt schiefgeht. Drei Regeln helfen:
- Mandantenkontext ist nicht optional. Jedes Modul und jeder neue Dienst muss den Mandantenbezeichner empfangen und durchsetzen - idealerweise in gemeinsamem Code, nicht manuell wiederholt.
- Mandanten in Kohorten migrieren. Mit internen und bekannten Mandanten beginnen, Fehler und Performance beobachten, dann ausweiten. Eine Migration, die fuer zehn kleine Mandanten funktioniert, muss nicht fuer einen mit jahrelangen Daten funktionieren.
- Abrechnung und Berechtigungen als Vertrag behandeln. Nutzungsereignisse und Planlimits muessen fuer Kunden identisch bleiben, waehrend sich der darunterliegende Code aendert. Rechnungen und Berechtigungsergebnisse aus alten und neuen Pfaden vergleichen, bevor umgeschaltet wird.
Datenverschiebungen erfordern einen Plan fuer Lese- und Schreibzugriffe waehrend des Uebergangs: Dual Writes, Change Capture oder ein kurzer Freeze - jeweils mit einer anschliessenden Abstimmungspruefung.
KI bei einer Modernisierung
KI kann die Lese- und Dokumentationsanteile einer Modularisierung beschleunigen, waehrend Ingenieure jede Entscheidung behalten. Sinnvolle Einsatzbereiche sind: Zusammenfassen, was ein undokumentiertes Modul tut, Vorschlagen von Kandidatengrenzen aus dem Abhaengigkeitsgraphen und Entwurf von Charakterisierungstests zur Ueberpruefung. Generierter Code und Tests werden erst zusammengefuehrt, nachdem eine Person sie gelesen hat und die Test-Suite besteht. Netbase JSC arbeitet mit den wichtigsten kommerziellen und Open-Source-KI-Modellen, die projektweise ausgewaehlt werden. Jeder der folgenden Punkte gibt den Reifegrad bei Netbase JSC an.
-
Ausgeliefert: Produktempfehlungs-Engine
Fuer 4over4's Online-Druckshop auf Basis von Browsing- und Kaufhistorie entwickelt; kein Modernisierungswerkzeug.
-
Wachstumsfaehigkeit: KI-gestuetzte Code-Kartierung und Test-Entwurf
Machine-Learning- und generative KI-Funktionen fuer Engineering-Teams; noch nicht mit einem veroeffentlichten Modernisierungsfall verknuepft.
Welche Liefernachweise existieren - und welche nicht
Netbase JSC entwickelt und betreibt Multi-Tenant-SaaS-Produkte, was den Rahmen bildet, fuer den dieser Leitfaden geschrieben wurde:
- Cloodo Workspace. Ein digitaler Arbeitsplatz fuer Work-Management mit CRM-, HRM-, Cloud-ERP- und KI-Modulen in einem Produkt, entwickelt und betrieben als Netbase JSC Business Division (Cloodo-Nachweis).
- Cloud-ERP fuer einen US-Kunden (anonym). Ein Multi-Tenant-Cloud-ERP, das Netbase JSC seit 2020 als Offshore-Entwicklungspartner und Managing Partner entwickelt (Cloud-ERP-Nachweis).
- Printcart. Das Web-to-Print-SaaS der Netbase JSC Business Divisions (Printcart-Nachweis).
- Netztech. Ein Shop, der in 35 Arbeitstagen von Magento 1 auf Magento 2 Commerce migriert wurde (Netztech-Nachweis). Es handelt sich um eine Plattformmigration, nicht um eine Monolith-Dekomposition.
Der Lieferlebenszyklus von Netbase JSC umfasst modulare und produktisierte Komponenten, und der SaaS-Produkt-Accelerator ist aus wiederverwendbaren Modulen aufgebaut.
Was nicht existiert. Kein veroeffentlichter Netbase JSC-Nachweis beschreibt die Zerlegung eines Live-SaaS-Monolithen in Module oder Dienste, und keiner veroeffentlicht eine Dauer, eine Deployment-Frequenz, Kosten oder ein Performance-Ergebnis fuer solche Arbeiten. Die obige Methode entstammt den zitierten Quellen und der allgemeinen Engineering-Praxis, nicht einem gemessenen Netbase JSC-Ergebnis.
Alternativen: Wer fuehrt die Arbeit?
-
Das eigene Team
- Staerke
- Tiefstes Produktwissen
- Waehlen Sie ihn, wenn
- Kapazitaet vorhanden und jemand hat bereits eine Modularisierung durchgefuehrt
-
Eine Produktagentur, die das Produkt anschliessend auch betreibt
- Staerke
- Schneller Start und Kontinuitaet
- Waehlen Sie ihn, wenn
- Sie wuenschen eine Partei fuer Design, Aenderung und Betrieb
-
Ein Architektur-Review, dann ein gemischtes Team
- Staerke
- Unabhaengige Sicht auf Schnittlinien und Prioritaeten vor der Entscheidung
- Waehlen Sie ihn, wenn
- Das Team ist ausgelastet und die Reihenfolge der Arbeiten ist unklar
Vier Kriterien entscheiden: ob Tests und Monitoring vorhanden sind, wie viele Personen den alten Code verstehen, wie viel Roadmap-Arbeit waehrend der Migration weiterlaufen muss und wer danach die Architektur verantworten soll. Netbase JSC beginnt mit einem Architektur-Review zu Mandantenfaehigkeit, Abrechnung, Sicherheit und Kosten und plant dann die Scheiben. Bei der individuellen Entwicklung durch Netbase JSC behaelt der Kunde das IP, das fuer ihn entwickelt wurde; die meisten Projekte laufen auf Festpreis-Vertraegen, die nach der Discovery vereinbart werden. Das Angebot umfasst SaaS-Entwicklung und Cloud-Platform-Engineering.
Grenzen dieses Leitfadens
- Jede Codebasis ist anders; die erste Abhaengigkeitskarte aendert den Plan oft.
- Frameworks und Programmiersprachen bieten unterschiedliche Werkzeuge zur Durchsetzung von Grenzen; pruefen Sie, was Ihre unterstuetzt.
- Quellen werden fuer das zitiert, was sie dokumentieren; es werden keine Geschwindigkeits-, Kosten- oder Zuverlaessigkeitswerte behauptet.
Den nächsten Schritt mit einem Netbase-Berater planen
Haeufig gestellte Fragen
In der Regel nicht als erster Schritt. Strukturieren Sie zunaechst in Module innerhalb einer Anwendung um, und lagern Sie einen Dienst nur fuer ein Modul aus, das einen messbaren Bedarf fuer separate Skalierung, Release-Kadenz oder Isolation hat.
Das haengt vom Umfang des Codes, der Test-Abdeckung und dem Grad der Datenverflechtung ab. Netbase JSC schaetzt nach einem Architektur-Review und einer ersten Abhaengigkeitskarte und veroeffentlicht keine typische Dauer.
Ja, wenn die Arbeit in Scheiben ausgeliefert wird und der Build die neuen Grenzen durchsetzt, sobald sie entstehen. Planen Sie Kapazitaet fuer beides ein.
Bewerten Sie es zunaechst. Wenn die Plattform nicht mehr unterstuetzt wird oder die Regeln unbekannt sind, kann Replatforming oder Discovery vor der Modularisierung stehen.
Naechster Schritt
Teilen Sie uns mit, wie das Produkt heute deployed wird, wie viele Teams es aendern und welcher Teil am meisten schmerzt - wir vereinbaren dann ein Solution-Review, um die Schnittlinien zu kartieren und das erste Modul vorzuschlagen. Sie koennen auch weitere Netbase JSC Insights lesen.
Verwandte Leistungen und Lösungen
KI-fähige SaaS-Entwicklung – von einem Team, das eigene SaaS-Plattformen betreibt
Netbase bietet SaaS-Entwicklungsleistungen für Gründer und Produktteams, um Multi-Tenant-Abonnementsoftware mit KI-Funktionen zu launchen und zu skalieren, für die Kunden zahlen. Wir entwickeln und betreiben unsere eigenen SaaS-Plattformen Printcart und den KI-gestützten Cloodo-Arbeitsplatz und bringen diese Erfahrung in Kundenprojekte ein. Ein typisches SaaS-MVP dauert 8–12 Wochen, abhängig von Umfang, Integrationen und Prüfgeschwindigkeit.
Mehr erfahren
KI-fähiges Cloud-Platform-Engineering für SaaS- und Commerce-Workloads
Netbase bietet Cloud-Platform-Engineering für SaaS- und Commerce-Teams, die eine sichere, reproduzierbare Umgebung für ihre Software und KI-Features benötigen – auf AWS, Google Cloud, DigitalOcean oder Cloudflare. Wir entwerfen die Architektur, schreiben die Umgebungen als Code, verbinden verwaltete Dienste und KI-Services und übergeben eine Plattform, die Ihr Team selbst betreiben kann – gebaut nach dem Vorbild unserer eigenen.
Mehr erfahren
SaaS-Produkt-Accelerator: KI-fähige SaaS auf bewährten Netbase-Modulen starten
Ein SaaS-Produkt-Accelerator ist ein Satz wiederverwendbarer Netbase-Module für Konten, Abrechnung, Rollen und Integrationen, der Gründern und Produktteams hilft, Abonnement-Software schneller zu starten – mit KI-Möglichkeiten ab der ersten Version. Die Wiederverwendung dieser Module kann die Entwicklungszeit um bis zu 60 % reduzieren, und der Ansatz ist mit Printcart, Netbases eigenem Web-to-Print-SaaS, erprobt.
Mehr erfahren
Projekt besprechen
Netbase JSC unterstützt Organisationen bei der Konzeption, Entwicklung, Modernisierung und dem Betrieb digitaler Produkte und KI-gestützter Geschäftssysteme.project@netbasejsc.com
+84 937 869 689
91 Nguyen Chi Thanh, Dong Da, Hanoi, Vietnam
In Kontakt treten
Sagen Sie uns, was Sie aufbauen, modernisieren oder betreiben möchten.