Häufige Fragen
Woran erkennt man, wo ein Monolith geschnitten werden sollte?
An der fachlichen Zuständigkeit, nicht an der Technik: Für jeden Datenbestand muss es genau eine Stelle geben, die über ihn entscheidet. Schreiben drei Abteilungen an dieselben Felder, verläuft die Grenze woanders.
Wie lange laufen Altsystem und neuer Dienst parallel?
Je Bereich meist einige Wochen: erst geht der neue Dienst lesend live, dann wird die Schreibrichtung umgedreht, dann der alte Teil stillgelegt. Entscheidend ist nicht die Dauer, sondern die Festlegung, welches System führt.
Was passiert mit der gemeinsamen Datenbank, an der alles hängt?
Sie wird aufgeteilt, nicht geteilt. Bei uns gibt der Eigentümer eines Datenbestands seine Modelle frei, abhängige Dienste erhalten sie über den Nachrichtenbus, ohne eigene Datenbankverbindung zur fremden Anwendung.
Was passiert, wenn ein Schritt nicht funktioniert?
Betroffen ist ein Bereich, nicht das Haus. Jeder Dienst wird einzeln versioniert und ausgerollt, der Rücksprung im Code dauert Minuten. In den Daten dauert er länger, deshalb bleibt das Altsystem führend, bis der neue Dienst im Lesebetrieb bestätigt ist.
Muss am Ende der gesamte Monolith verschwinden?
Nein. Ein Rest, der stabil läuft und niemanden blockiert, darf bleiben. Ziel ist eine Landschaft, in der der Altbestand nichts mehr aufhält.
Lohnt sich die Zerlegung immer?
Nein, und das ist die häufigste Fehlentscheidung. Jede Bereichsgrenze ist eine Schnittstelle, die gebaut und gepflegt werden muss. Eine kleine Anwendung, die läuft, wird dadurch teurer.