Bewertung der Anwendungsmodernisierung erstellen

Die Bewertung der Anwendungsmodernisierung von Migration Center (codmod) ist ein KI-basiertes Tool, das den Prozess der Modernisierungsbewertung für Ihre Anwendung automatisiert. Auf dieser Seite werden die Schritte zum Installieren, Verwenden und Beheben von Fehlern im codmod-Tool beschrieben.

Bewertung der Anwendungsmodernisierung

Der typische Modernisierungsbewertungsprozess dauert einige Wochen und erfordert viel Fachwissen. Durch die Automatisierung dieses Prozesses reduziert das codmod-Tool diese Zeit erheblich auf wenige Stunden.

Dieses Tool soll evidenzbasierte Informationen zur Architektur, Funktionalität und potenziellen Blockern der aktuellen Anwendung liefern, die die Transformation zur Cloud verlangsamen könnten.

Dieses Tool ist für die folgenden Rollen vorgesehen:

  • IT-Architekten
  • Entscheidungsträger
  • Anwendungsinhaber

Das codmod-Tool soll die Anwendungstransformation beschleunigen, indem es einen klaren Überblick über die erforderlichen Änderungen und die Vorteile der Transformation der Anwendung zu Google Cloudbietet. Die codmod ist ein portables CLI-Tool, das Gemini verwendet, um Quellcode zu analysieren und Empfehlungen basierend auf Best Practices von Google Cloud zu geben.

Hinweis

Für das codmod-Tool gelten die folgenden Voraussetzungen:

  • Eine Linux- oder Windows-Workstation (10 oder höher).
  • Zugriff auf ein Google Cloud -Projekt, in dem die Vertex AI API aktiviert ist.
  • Eine gcloud CLI-Installation auf Ihrer Workstation. Weitere Informationen finden Sie unter gcloud CLI installieren.

Preise

Die Kosten für die Verwendung von Gemini zur Codebewertung hängen hauptsächlich von der Größe der Codebasis ab und werden in Tokens gemessen. In der folgenden Tabelle sind die Kostenschätzungen aufgeführt, die Sie basierend auf Ihren Codezeilen und dem ausgewählten Modell erwarten können:

Codebasis Codezeilen (LOC) Geschätzte Kosten
adaptiv 2.5-flash 2.5-pro 3.5-flash 3.8-flash (Standard)
Spring Petclinic ~6.500 20 $ 3 $ 20 $ 3 $ 9 $
James Project ~1.000.000 40 $ 30 $ 200 $ 200 $ 200 $
Elasticsearch ~5.000.000 200 $ 200 $ 900 $ 500 $ 500 $

Diese Werte sind möglicherweise zu hoch, da sie mögliche Einsparungen aufgrund der folgenden Faktoren nicht berücksichtigen:

  • Reduzierte Preise für kurze Abfragen.
  • Reduzierte Preise für implizites Caching.
  • Rabatte für zugesicherte Nutzung (CUDs)

Die Kosten für diese Parameter machen voraussichtlich nur einen vernachlässigbaren Teil der Gesamtkosten aus, insbesondere bei größeren Codebasen. Weitere Informationen finden Sie unter Gemini API-Preise.

Weitere Informationen

Das Tool nutzt die erweiterten Funktionen der Vertex AI API für das Verständnis und die Analyse von Code. Weitere Informationen zu den verfügbaren Modellen und ihren Funktionen finden Sie in der Vertex AI API-Dokumentation unter Google-Modelle.

Um eine optimale Leistung und Kosteneffizienz zu gewährleisten, gilt für codmod eine Größenbeschränkung für die Codebasis von etwa 6 Millionen Codezeilen. Wenn Ihre Codebasis dieses Limit überschreitet, empfehlen wir, sie für die Analyse in kleinere, überschaubare Teile aufzuteilen. Die Analyse kleinerer Abschnitte kann auch zu gezielteren Bewertungen beitragen und die Gesamtverarbeitungszeit verkürzen.

codmod einrichten

In diesem Abschnitt finden Sie Installations- und Authentifizierungsanleitungen für das codmod-Tool.

codmod installieren

Windows

Führen Sie den folgenden Befehl in Windows PowerShell aus, um die neueste Version von codmod herunterzuladen:

$version=curl.exe -s https://codmod-release.storage.googleapis.com/latest
curl.exe -O "https://codmod-release.storage.googleapis.com/${version}/windows/amd64/codmod.exe"

Linux

Führen Sie den folgenden Befehl aus, um die aktuelle Version von codmod herunterzuladen:

version=$(curl -s https://codmod-release.storage.googleapis.com/latest)
curl -O "https://codmod-release.storage.googleapis.com/${version}/linux/amd64/codmod"
chmod +x codmod

Wenn Sie den Befehl codmod verwenden möchten, fügen Sie die ausführbare Datei dem Pfad hinzu oder erstellen Sie einen Alias.

Bei Google Cloudauthentifizieren

Wenn Sie das codmod-Tool verwenden möchten, benötigen Sie ein Google Cloud -Projekt.

  1. Prüfen Sie, ob die Vertex AI API für das Projekt in der Console oder über die Befehlszeile aktiviert ist:

    gcloud services enable aiplatform.googleapis.com --project <project-id>
    
  2. Sie benötigen die Rolle roles/aiplatform.user oder eine ähnliche Rolle für das Projekt.

  3. Führen Sie den folgenden Befehl aus, um sich zu authentifizieren:

    gcloud auth application-default login
    

Alternativ können Sie ein Dienstkonto verwenden und die Umgebungsvariable GOOGLE_APPLICATION_CREDENTIALS festlegen. Weitere Informationen finden Sie unter Funktionsweise von Standardanmeldedaten für Anwendungen.

codmod-Konfiguration verwalten

In den folgenden Abschnitten wird beschrieben, wie Sie codmod mit dem Befehl codmod config konfigurieren.

Alle Einstellungen auflisten

Führen Sie den folgenden Befehl aus, um alle aktuellen Konfigurationsattribute und ihre Werte aufzurufen:

codmod config list

Standardwert für ein Flag festlegen

Verwenden Sie den Befehl set, um einen Standardwert für ein Attribut festzulegen. Führen Sie beispielsweise Folgendes aus, um die Standardprojekt-ID festzulegen:

codmod config set project "PROJECT_ID"

Ersetzen Sie PROJECT_ID durch die Projekt-ID von Google Cloud .

Führen Sie den folgenden Befehl aus, um die Standardregion festzulegen:

codmod config set region "REGION"

Ersetzen Sie REGION durch die Google Cloud Region. Liste der verfügbaren Regionen Wenn Sie sich nicht sicher sind, welche Region Sie verwenden sollen, verwenden Sie us-central1.

Bestimmten Wert abrufen

Verwenden Sie den Befehl get, um den Wert eines einzelnen Attributs aufzurufen. Führen Sie beispielsweise den folgenden Befehl aus, um die konfigurierte Projekt-ID abzurufen:

codmod config get project

Standardwert entfernen

Wenn Sie einen konfigurierten Standardwert entfernen und die ursprüngliche Standardeinstellung des Tools wiederherstellen möchten, verwenden Sie den Befehl unset. Führen Sie beispielsweise den folgenden Befehl aus, um die Standard-Projekt-ID zu entfernen:

codmod config unset project

codmod-Bewertungsbericht erstellen

In den folgenden Abschnitten wird beschrieben, wie Sie die Standardbewertung erstellen und an Ihre Anforderungen anpassen.

Standardbericht erstellen

Führen Sie das Tool codmod mit den folgenden Flags aus, um einen Bewertungsbericht zu erstellen:

codmod create -c "CODEBASE" -o "OUTPUT"

Ersetzen Sie Folgendes:

  • CODEBASE: Gibt das Verzeichnis an, das den zu analysierenden Quellcode enthält. Kann mehrmals angegeben werden.
  • OUTPUT: Gibt den Pfad an, unter dem der generierte Bericht gespeichert wird. Der Bericht ist im HTML-Format.

Sie können das Standardprojekt und die Standardregion mit den Flags -p "PROJECT_ID" bzw. -r "REGION" überschreiben.

Sie können auch die folgenden optionalen Flags angeben:

  • --modelset [2.5-flash|2.5-pro|3.5-flash|3.8-flash|adaptive]: Gibt an, welche Gemini-Modelle verwendet werden sollen. Der Standardwert ist 3.8-flash. Der adaptive Modus bietet eine erhebliche Kostensenkung, wobei im Vergleich zu 2.5-pro möglicherweise Abstriche bei der Berichtsqualität gemacht werden müssen.
  • --format <html|markdown|odt|json>: das Format, das für den generierten Bericht verwendet wird. Der Standardwert ist HTML.
  • --allow-large-codebase: Standardmäßig bittet codmod vor der Analyse von Codebasen mit mehr als 1 Million Codezeilen um Bestätigung, um hohe Kosten zu vermeiden. Diese Option dient als nicht interaktive Bestätigung. Sie können dies auch standardmäßig aktivieren, indem Sie codmod config set allow_large_codebase true ausführen.
  • --improve-fidelity: Wenn dieser Wert festgelegt ist, generiert codmod Abschnitte nacheinander statt parallel. Dadurch wird die Konsistenz zwischen den verschiedenen Abschnitten des Abschlussberichts verbessert, es ist jedoch eine längere Laufzeit erforderlich.
  • --force-include <strings>, --force-exclude <strings>: Standardmäßig scannt codmod gängige Dateierweiterungen, einschließlich Java, .NET und Python. Verwenden Sie diese Flags, um Dateiendungen ein- oder auszuschließen. Das Argument muss ein regulärer Ausdruck mit der RE2-Syntax sein.
  • --experiments: Geben Sie --experiments=enable_pdf,enable_images an, um PDFs und Bilder in codmod zu unterstützen.
  • --context <string>: zusätzlicher Kontext, den Sie zum Projekt angeben möchten. Das Tool berücksichtigt diesen Kontext beim Erstellen des Berichts.
  • --context-file <path>: entspricht --context, wobei der Kontext in der angegebenen Datei bereitgestellt wird.
  • --supporting-documents <path>: Gibt ein Verzeichnis mit unterstützender Dokumentation zur Codebasis an. Auf Dateien in diesem Verzeichnis kann über den Kontext verwiesen werden, der mit den Flags --context oder --context-file angegeben wird, um sie in die Analyse einzubeziehen. Zu den unterstützten Formaten gehören Text, PDF und Bilder (PNG, JPG, JPEG).

Vollständigen Bericht erstellen

Wenn Sie eine vollständige Analyse benötigen, erstellen Sie mit dem Befehl create full einen Bericht:

codmod create full -c "~/mycodebase/" -o "report.html"

Bericht zur Datenebene erstellen

Wenn die Datenschicht genauer betrachtet werden muss, kann ein Bericht mit Fokus auf diesen Bereich erstellt werden:

codmod create data-layer -c "CODEBASE" -o "OUTPUT"

Bericht für ein bestimmtes Transformationsziel erstellen

Wenn Sie den Bericht auf ein bestimmtes Modernisierungsziel ausrichten möchten, können Sie eines der folgenden unterstützten Ziele verwenden:

  • Transformation von Microsoft-Arbeitslasten (MICROSOFT_MODERNIZATION): Verwenden Sie diese Option für Anwendungen, die auf einem Microsoft-Betriebssystem ausgeführt werden. Die Bewertung konzentriert sich auf Transformationsprozesse, die .NET-basierte Frameworks modernisieren, um die aktuelle Version zu verwenden und die Abhängigkeiten von Microsoft-Lizenzen zu reduzieren.
  • Cloud-zu-Cloud-Arbeitslasttransformation (CLOUD_TO_CLOUD): Für Anwendungen, die auf einer anderen Hyperscaler-Infrastruktur ausgeführt werden. Die Bewertung konzentriert sich auf die empfohlenen Änderungen für die Transformation der Anwendung, z. B. die Zuordnung anderer Cloud-Anbieterdienste zuGoogle Cloud -Diensten.
  • Legacy-Java-Transformation (JAVA_LEGACY_TO_MODERN): Verwenden Sie diese Option für Anwendungen, die mit der Java-Version Java 8 oder einer ähnlichen Version ausgeführt werden. Bei der Bewertung wird nach Upgrade-Abhängigkeiten und Bereichen im Code gesucht, die von der Änderung zu Java 21 (der aktuellen LTS-Version) betroffen sind.
  • Legacy-Java-WILDFLY-Transformation (WILDFLY_LEGACY_TO_MODERN): Für Java EE-/Jakarta EE-Codebasen, die auf WildFly-Anwendungsserverversionen vor der neuesten Version ausgeführt werden. Der Schwerpunkt der Bewertung liegt auf der Identifizierung von Upgrade-Abhängigkeiten und Bereichen im Code, die von der Aktualisierung der WildFly-Anwendungsserverversion betroffen sind, einschließlich der Änderungen, die für API-Unterschiede und die Kompatibilität erforderlich sind.
  • Migration von C/C++-Anwendungen zur Arm-Architektur (ARM_MIGRATION): Verwenden Sie diese Option für C/C++-Anwendungen, um deren Bereitschaft und den Aufwand für die Migration von x86-basierten Architekturen zu Arm-basierten Architekturen wie Google Cloud Axion C4A-VMs zu bewerten. Die Bewertung konzentriert sich auf die Identifizierung potenzieller Probleme mit der Codeportabilität, architekturspezifischer Abhängigkeiten, Änderungen am Build-System und Überlegungen zu Tests, die für einen erfolgreichen Übergang zu Arm vonGoogle Cloud oder einem anderen CSP wie den Graviton-Instanzen von AWS erforderlich sind.

Verwenden Sie das Flag --intent, um einen Bericht zu erstellen, der sich auf die Absicht konzentriert:

codmod create -c "CODEBASE" -o "OUTPUT" --intent "INTENT"

Bericht mit zusätzlichen Abschnitten erstellen

Das Tool unterstützt das Einbeziehen zusätzlicher Abschnitte, die standardmäßig nicht enthalten sind, um die Kosten zu senken. Die folgenden Abschnitte werden unterstützt:

  • files: Eine strukturierte hierarchische Ansicht der Projektordner und eine Beschreibung des Inhalts der einzelnen Ordner, um Ihnen die Orientierung in den Projektdateien zu erleichtern.
  • classes: Ein Katalog von Codeklassen mit Informationen zu jeder Klasse und ihren Abhängigkeiten von anderen Klassen. Die unterstützten Sprachen sind Java und C#.

Verwenden Sie das Flag --optional-sections, um die zusätzlichen Abschnitte zu erstellen:

codmod create -c "CODEBASE" -o "OUTPUT" --optional-sections "SECTIONS"

Ersetzen Sie SECTIONS durch eine durch Kommas getrennte Liste von Werten.

Benutzerdefinierten Bericht erstellen.

Wenn Sie bestimmte benutzerdefinierte Themen untersuchen möchten, können Sie mit dem folgenden Befehl einen benutzerdefinierten Bericht basierend auf dem von Ihnen angegebenen Kontext erstellen:

codmod create custom -c "CODEBASE" -o "OUTPUT" --context "CONTEXT"

Standardmäßig wird ein LLM verwendet, um den bereitgestellten Kontext zu erweitern und anzupassen, damit ein kohärenter Abschnitt generiert wird. Sie können dieses Verhalten deaktivieren, indem Sie --improve-context=false angeben.

Zusätzliche Flags:

  • --from-template <path>: Gibt eine Vorlagendatei an, die die Dokumentstruktur entweder im Text- oder PDF-Dateiformat definiert. codmod erkennt die Struktur und bittet um Genehmigung, um mit der Erstellung des Berichts fortzufahren.
  • --skip-template-approval: Überspringt die Genehmigungsanfrage, wenn das Flag --from-template verwendet wird.

Vorhandenen Bericht ändern

Sie können einen neuen Abschnitt in einem Bericht erstellen oder einen vorhandenen Abschnitt basierend auf einem bestimmten Abschnitt ändern. Sie können sich beispielsweise auf einen bestimmten Aspekt der Systemarchitektur oder eine bestimmte Art von Sicherheitslücke konzentrieren.

Für Befehle, die einen Bericht ändern, sind die folgenden Flags erforderlich:

  • Entweder --context oder --context-file: Geben Sie die Änderungsanfrage an.
  • --from-report: Gibt den Pfad für die vorhandene Berichtsdatei an.
  • --from-section: Name des Abschnitts, der als Grundlage für einen neuen Abschnitt verwendet werden soll (z. B. „Übersicht“ oder „Architektur“).

Führen Sie den folgenden Befehl aus, um alle verfügbaren Abschnitte in einem bestimmten Bericht anzuzeigen:

codmod list-sections --from-report "REPORT"

Abschnitt eines Berichts überarbeiten

Ändern Sie einen vorhandenen Abschnitt mit dem folgenden Befehl:

codmod revise section -c "CODEBASE" --from-report "REPORT" \
  -o "REVISED_REPORT" --from-section "SECTION_NAME" \
  --context "CONTEXT"

Neuen Berichtsabschnitt erstellen

Erstellen Sie mit dem folgenden Befehl einen neuen Abschnitt:

codmod create section -c "CODEBASE" --from-report "REPORT" \
  -o "REGENERATED_REPORT" --from-section "SECTION_NAME" \
  --context "CONTEXT"
  • Das Flag from-section im Befehl create section ist optional.
  • Standardmäßig wird ein LLM verwendet, um den bereitgestellten Kontext zu erweitern und anzupassen, damit ein kohärenter Abschnitt generiert wird. Sie können dieses Verhalten deaktivieren, indem Sie --improve-context=false angeben.

Wichtige Hinweise:

  • create section und revise section unterstützen nur das Berichtsformat html.
  • create section, revise section und list-sections erwarten, dass das Flag --from-report auf einen Bericht im HTML-Format verweist.

Bewertungskosten schätzen

Mit dem codmod-Tool können Sie die ungefähren Kosten für die Erstellung eines Berichts berechnen und so die Kosten für die Verwendung des Tools nachvollziehen. Führen Sie den folgenden Befehl aus, um Ihre Kostenschätzung aufzurufen:

codmod create --estimate-cost -c "CODEBASE"

Kostenschätzungen werden für die Befehle create section und create custom nicht unterstützt.

Ausführlichkeitsgrad festlegen

Die Ausführlichkeit von codmod wird mit dem Flag --verbosity LEVEL konfiguriert. Die Ausführlichkeit der Logs ist eine der folgenden: debug, info, warn, error oder none. Der Standardwert ist warn.

codmod-CLI-Version prüfen und aktualisieren

Die codmod-CLI kann automatisch prüfen, ob eine neuere Version verfügbar ist.

Automatische Prüfungen

Alle 24 Stunden fragt die Befehlszeile einen Cloud Storage-Bucket ab, um zu prüfen, ob eine neuere Version von codmod veröffentlicht wurde. Wenn eine neuere Version gefunden wird, wird eine Benachrichtigung in Ihrem Terminal angezeigt. Die Nachricht enthält die neue Versionsnummer und einen Link zum Herunterladen des Updates. So können Sie immer die neuesten Funktionen, Verbesserungen und Fehlerkorrekturen nutzen.

Versionsprüfungen deaktivieren

Wenn Sie die automatische Versionsprüfung deaktivieren möchten, können Sie den Befehl config set verwenden:

codmod config set disable_version_check true

Wenn Sie die Versionsprüfung wieder aktivieren möchten, setzen Sie den Wert auf false zurück:

codmod config set disable_version_check false

Sie können den aktuellen Status dieser Einstellung und anderer Konfigurationen mit folgendem Befehl aufrufen:

codmod config list

Befehlszeilenvervollständigung

Das codmod-CLI-Tool unterstützt die Shell-Befehlszeilenvervollständigung für Bash, Zsh, Fish und PowerShell. Mit dieser Funktion können Sie Befehle, Flags und Argumente schnell eingeben, indem Sie die Taste Tab drücken, um verfügbare Optionen aufzurufen und auszuwählen.

Die automatische Vervollständigung bietet folgende Vorteile:

  • Befehle und Flags automatisch vervollständigen: Beginnen Sie mit der Eingabe eines codmod-Befehls oder -Flags und drücken Sie Tab, um mögliche Vervollständigungen zu sehen.
  • Optionen entdecken: Hier finden Sie gültige Werte für bestimmte Flags. Beispiel:
    • codmod create --modelset [TAB] schlägt verfügbare Modellsätze vor (z. B. 2.0-flash, 2.5-pro).
    • codmod create --format [TAB] schlägt Ausgabeformate vor (z. B. html, json, markdown).
    • codmod create --intent [TAB] schlägt vordefinierte Intents vor.
  • Kontextbezogene Vorschläge: Die Vervollständigung ist auf den Befehl zugeschnitten. Beispiel:
    • codmod config set [TAB] schlägt die verfügbaren Konfigurationsschlüssel vor, die Sie festlegen können.
    • codmod config get [TAB] schlägt die verfügbaren Konfigurationsschlüssel vor, die Sie abrufen können.
    • Die Vervollständigung von Dateipfaden wird nur für Flags oder Argumente angeboten, die einen Datei- oder Verzeichnispfad erwarten (z. B. --codebase, --output-path). Für andere Flags wie --project werden keine Dateinamen mehr vorgeschlagen.

Shell-Vervollständigung aktivieren

Bevor Sie die Shell-Vervollständigung aktivieren, müssen Sie dafür sorgen, dass der Befehl codmod funktioniert. Fügen Sie dazu die ausführbare Datei zum Pfad hinzu oder erstellen Sie einen Alias.

Führen Sie den entsprechenden Befehl aus, um Vervollständigungen für Ihre Shell zu laden. Die Anleitung variiert je nach Shell. Verwenden Sie den Befehl help, um spezifische Anweisungen zu erhalten:

# For Bash
codmod completion bash --help

# For Zsh
codmod completion zsh --help

# For Fish
codmod completion fish --help

# For PowerShell
codmod completion powershell --help

Wenn Sie beispielsweise die Bash-Vervollständigung unter Linux laden möchten, können Sie Ihrer ~/.bashrc Folgendes hinzufügen:

source <(codmod completion bash)

Starten Sie die Shell neu oder rufen Sie Ihr Profil auf (z. B. source ~/.bashrc), damit die Änderungen wirksam werden.

Fehlerbehebung

  • Berechtigung verweigert: Wenn der Fehler „Berechtigung verweigert“ auftritt, prüfen Sie, ob Sie der Binärdatei codmod die Ausführungsberechtigung erteilt haben, indem Sie den Befehl chmod +x codmod ausführen.
  • Die Befehlszeile scheint nicht mehr zu reagieren: Die Analyse kann lange dauern, aber Sie können den Fortschritt in der Regel in der Fortschrittsanzeige in der Befehlszeile sehen. Wenn die Fortschrittsanzeige nach 15 Minuten immer noch bei 0% steht, prüfen Sie, ob Sie genügend Kontingent für das entsprechende Modell haben. Standardmäßig verwendet codmod das Modell gemini-3.8-flash. Dies kann sich jedoch ändern, da verschiedene Modellsets unterschiedliche Modelle für verschiedene Zwecke verwenden.
  • Fehler melden: Wenn ein Fehler untersucht werden muss, erfassen Sie die Debugging-Informationen, um unser Entwicklungsteam zu unterstützen. Logs liefern wichtige Details zur Fehlerbehebung. Führen Sie den folgenden Befehl aus, um die Logs zu erfassen. Komprimieren Sie dann das resultierende Archiv und senden Sie es an das Team unter codmod-feedback-external@google.com.

    codmod collect-logs -o "codmod_logs.zip"
    

Open Source-Lizenzen

Sie können die Open-Source-Hinweise für Abhängigkeiten der aktuellen Version von codmod herunterladen, indem Sie Folgendes ausführen:

version=$(curl -s https://codmod-release.storage.googleapis.com/latest)
curl -O "https://codmod-release.storage.googleapis.com/${version}/THIRD_PARTY_NOTICES.txt"

Support erhalten und Feedback geben

Zur Verbesserung der Qualität dieses Produkts erheben wir pseudonymisierte Nutzungsdaten. Diese Daten werden gemäß den Datenschutzhinweisen fürGoogle Cloud verarbeitet. Sie können Ihre Einstellung jederzeit mit dem folgenden Befehl ändern:

codmod config set disable_usage_reporting true

Sie haben folgende Möglichkeiten, Support zu erhalten und Feedback zu geben:

  • Wenn Sie Support für codmod benötigen, klicken Sie im generierten HTML-Bericht auf den Button Support oder senden Sie eine E‑Mail an codmod-feedback-external@google.com.
  • Wenn Sie Feedback zu codmod geben möchten, klicken Sie im generierten HTML-Bericht auf den Button Feedback.