Wie bringt man Legacy-Systeme in eine moderne DevOps-Pipeline mit KI-Unterstützung? — Kodschul Wissen
Legacy Migration mit KI6 Min. Lesezeit

Wie bringt man Legacy-Systeme in eine moderne DevOps-Pipeline mit KI-Unterstützung?

Direkte Antwort

Der größte Blocker für DevOps-Automatisierung bei Legacy-Systemen ist meist fehlende Testabdeckung, nicht fehlende CI/CD-Werkzeuge. KI kann effektiv beim nachträglichen Aufbau von Testabdeckung für bestehenden, ungetesteten Code helfen, was erst die Grundlage schafft, um Deployments überhaupt sicher zu automatisieren.

"

Eine CI/CD-Pipeline für ein System ohne Tests automatisiert nicht die Qualitätssicherung, sie automatisiert nur die Geschwindigkeit, mit der ein Fehler in Produktion gelangt.

Viele Legacy-Systeme scheitern nicht an fehlenden CI/CD-Tools, sondern daran, dass niemand ohne bestehende Tests ein automatisiertes Deployment verantworten will — aus gutem Grund.

Fehlende Testabdeckung als eigentlicher Blocker

Legacy-Systeme wurden oft vor der Verbreitung von Unit-Testing-Praktiken gebaut und haben entsprechend wenig oder keine automatisierten Tests.

Ohne diese Tests lässt sich nicht verlässlich prüfen, ob eine Änderung das bestehende Verhalten versehentlich verändert, was ein automatisiertes Deployment zu einem unkalkulierbaren Risiko macht — unabhängig davon, wie ausgereift die CI/CD-Werkzeuge selbst sind.

KI-gestützter nachträglicher Testaufbau

KI-Modelle können bestehenden, ungetesteten Code analysieren und Charakterisierungstests generieren, die das aktuelle Verhalten des Codes dokumentieren, auch wenn dieses Verhalten fachlich nicht mehr vollständig nachvollziehbar ist.

Diese Tests dienen zunächst nicht dazu, "korrektes" Verhalten zu prüfen, sondern als Sicherheitsnetz, das jede spätere Änderung gegen unbeabsichtigte Verhaltensänderungen absichert — ein wichtiger Zwischenschritt, bevor überhaupt an Automatisierung gedacht werden kann.

Schrittweiser Aufbau der CI/CD-Pipeline

Sobald eine Grundabsicherung durch Tests existiert, lässt sich eine CI/CD-Pipeline schrittweise aufbauen — beginnend mit automatisiertem Testlauf bei jeder Änderung, gefolgt von automatisiertem Build, und erst zuletzt automatisiertem Deployment in eine Staging- und dann Produktionsumgebung.

Dieser schrittweise Aufbau erlaubt es, nach jeder Stufe zu prüfen, ob genug Vertrauen in die Testabdeckung besteht, bevor der nächste, risikoreichere Automatisierungsschritt gegangen wird.

Wann passt es — wann nicht?

Passt gut

  • Es lässt sich mit KI-Unterstützung eine belastbare Testabdeckung für den bestehenden Code aufbauen

Passt nicht

  • Der Code ist so unklar strukturiert, dass selbst Charakterisierungstests kein verlässliches Bild des Verhaltens liefern