Bewertung zur App-Modernisierung 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 wird beschrieben, wie Sie das codmod-Tool installieren, verwenden und Fehler beheben.

Bewertung der Anwendungsmodernisierung

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

Dieses Tool soll evidenzbasierte Informationen zur aktuellen Anwendungsarchitektur, Funktionalität und potenziellen Blockierungen liefern, die die Umstellung auf die Cloud verlangsamen könnten.

Dieses Tool ist für die folgenden Rollen vorgesehen:

  • IT-Architekten
  • Entscheidungsträger
  • Anwendungsinhaber

Das codmod-Tool soll die Transformation von Anwendungen 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 zum Analysieren von Quellcode verwendet und Empfehlungen auf Grundlage von Google Cloud Best Practices gibt.

Hinweise

Für das Tool codmod gelten die folgenden Voraussetzungen:

  • Eine Linux- oder Windows-Workstation (Version 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 sehen Sie die geschätzten Kosten, die Sie je nach Anzahl der Codezeilen und dem von Ihnen ausgewählten Modell erwarten können:

Codebase Lines of Code (LOC) Geschätzte Kosten
adaptiv 2.0-flash 2.5-pro (Standard) 2.5-flash
Spring Petclinic ~6.500 20 $ 2 $ 30 $ 4 $
James Project ~1.000.000 60 $ 30 $ 500 $ 40 $
Elasticsearch ~5.000.000 200 $ 200 $ 3.000 $ 200 $

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

  • Geringere Preise für kurze Anfragen.
  • Geringere Preise für das implizite Caching.
  • Rabatte für zugesicherte Nutzung (CUD).

Die Kosten für diese Parameter sind voraussichtlich ein vernachlässigbarer Teil der Gesamtkosten, insbesondere bei größeren Codebases. Weitere Informationen finden Sie unter Gemini API-Preise.

Weitere Informationen

Das Tool nutzt die erweiterten Funktionen der Vertex AI API zum Verstehen und Analysieren 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, hat codmod eine maximale Größe der Codebasis von etwa 6 Millionen Codezeilen. Bei Codebases, die dieses Limit überschreiten, 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 möglicherweise verkürzen.

codmod einrichten

In diesem Abschnitt finden Sie Installations- und Authentifizierungsanweisungen für die Verwendung des codmod-Tools.

codmod installieren

Windows

Führen Sie den folgenden Befehl in Windows PowerShell aus, um die aktuelle 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

Bei Google Cloudauthentifizieren

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

  1. Achten Sie darauf, dass die Vertex AI API für das Projekt in der Konsole oder über die CLI aktiviert ist:

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

  3. Führen Sie zur Authentifizierung den folgenden Befehl aus:

    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 erläutert, 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 Google Cloud Projekt-ID.

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 nicht sicher sind, welche Region Sie verwenden sollen, verwenden Sie us-central1.

Bestimmten Wert abrufen

Verwenden Sie den Befehl get, um den Wert einer einzelnen Eigenschaft aufzurufen. Wenn Sie beispielsweise die konfigurierte Projekt-ID abrufen möchten, führen Sie den folgenden Befehl aus:

codmod config get project

Standardwert entfernen

Wenn Sie eine konfigurierte Standardeinstellung entfernen und zur ursprünglichen Standardeinstellung des Tools zurückkehren möchten, verwenden Sie den Befehl unset. Führen Sie beispielsweise den folgenden Befehl aus, um die Standardprojekt-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 codmod-Tool mit den folgenden Flags aus, um einen Prüfbericht zu erstellen:

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

Ersetzen Sie Folgendes:

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

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.0-flash|2.5-flash|2.5-pro|adaptive]: Gibt an, welche Gemini-Modelle verwendet werden sollen. Der Standardwert ist 2.5-pro. Adaptive bietet eine erhebliche Kostenreduzierung, allerdings möglicherweise zulasten der Berichtsqualität im Vergleich zu 2.5-pro.
  • --context <string>: Zusätzlicher Kontext, den Sie zum Projekt angeben möchten. Das Tool berücksichtigt diesen Kontext beim Generieren des Berichts.
  • --context-file <path>: entspricht --context, wobei der Kontext in der angegebenen Datei bereitgestellt wird.
  • --format <html|markdown|odt|json>: Das Format, das für den generierten Bericht verwendet wird. Der Standardwert ist HTML.
  • --allow-large-codebase: Standardmäßig wird codmod vor der Analyse von Codebasen mit mehr als 1 Millionen Codezeilen um Bestätigung bitten, um hohe Kosten zu vermeiden. Diese Option dient als nicht interaktive Bestätigung. Sie können diese Option auch standardmäßig aktivieren, indem Sie codmod config set allow_large_codebase true ausführen.
  • --improve-fidelity: Wenn festgelegt, generiert codmod Abschnitte seriell statt parallel. Dadurch wird die Konsistenz zwischen den verschiedenen Abschnitten des endgültigen Berichts verbessert, die Ausführung dauert jedoch länger.
  • --force-include <strings>, --force-exclude <strings>: Standardmäßig werden in codmod beliebte Dateiendungen wie Java, .NET und Python gescannt. Mit diesen Flags können Sie Dateiendungen ein- oder ausschließ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.

Vollständigen Bericht erstellen

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

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

Bericht mit Fokus auf der Datenschicht erstellen

Wenn eine genauere Betrachtung der Datenschicht erforderlich ist, kann ein Bericht mit Fokus auf diesen Bereich erstellt werden:

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

Bericht für eine bestimmte Transformationsabsicht erstellen

Wenn Sie den Bericht auf eine bestimmte Modernisierungsabsicht ausrichten möchten, können Sie eine der folgenden unterstützten Absichten verwenden:

  • Microsoft Workload Transformation (MICROSOFT_MODERNIZATION): Bei Anwendungen, die unter Microsoft OS ausgeführt werden, konzentriert sich die Bewertung auf Transformationsprozesse, mit denen Frameworks auf Basis von .NET modernisiert werden, um die neueste Version zu verwenden und die Abhängigkeiten von Microsoft-Lizenzen zu verringern.
  • Cloud-to-Cloud-Workload-Transformation (CLOUD_TO_CLOUD): Für Anwendungen, die auf der Infrastruktur anderer Hyperscaler ausgeführt werden. Die Analyse konzentriert sich auf die empfohlenen Änderungen zur Transformation der Anwendung, z. B. die Zuordnung von Diensten anderer Cloud-Anbieter zuGoogle Cloud -Diensten.
  • Legacy Java Transformation (JAVA_LEGACY_TO_MODERN): Für Anwendungen, die mit Java 8 oder einer ähnlichen Version ausgeführt werden. Bei der Analyse wird der Schwerpunkt auf der Suche nach Upgrade-Abhängigkeiten und Bereichen im Code liegen, die von der Änderung zu Java 21 (der aktuellen LTS) betroffen sind.
  • Legacy Java WILDFLY Transformation (WILDFLY_LEGACY_TO_MODERN): Verwenden Sie diese Option für Java EE-/Jakarta EE-Codebases, die auf WildFly-Anwendungsserverversionen vor der neuesten Version ausgeführt werden. Bei der Bewertung wird ermittelt, welche Abhängigkeiten für das Upgrade bestehen und welche Bereiche im Code von der Aktualisierung des WildFly-Anwendungsservers betroffen sind. Dazu gehören auch Änderungen, die aufgrund von API-Unterschieden und Kompatibilität erforderlich sind.

Verwenden Sie zum Erstellen eines absichtsbezogenen Berichts das Flag --intent:

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

Bericht mit zusätzlichen Abschnitten erstellen

Mit dem Tool können Sie zusätzliche Abschnitte einfügen, die standardmäßig nicht enthalten sind, um die Kosten zu senken. Die folgenden Abschnitte werden unterstützt:

  • files: Eine strukturierte hierarchische Ansicht von Projektordnern und eine Beschreibung für jeden Ordnerinhalt, damit Sie sich in den Projektdateien besser orientieren können.
  • 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 zum Erstellen der zusätzlichen Abschnitte das Flag --optional-sections:

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 auf Grundlage des von Ihnen angegebenen Kontexts 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 im Text- oder PDF-Dateiformat definiert. codmod erkennt die Struktur und bittet um Genehmigung, den Bericht weiter zu generieren.
  • --skip-template-approval: Die Genehmigungsanfrage wird übersprungen, wenn das Flag --from-template verwendet wird.

Vorhandenen Bericht ändern

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

Für Befehle, mit denen ein Bericht geändert wird, sind die folgenden Flags erforderlich:

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

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

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 Berichtsbereich 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.
  • Für create section, revise section und list-sections muss das --from-report-Flag auf einen Bericht im HTML-Format verweisen.

Kosten für die Bewertung schätzen

Mit dem Tool codmod können Sie die Kosten für die Nutzung des Tools nachvollziehen, indem Sie die ungefähren Kosten für das Erstellen eines Berichts berechnen. Führen Sie den folgenden Befehl aus, um sich Ihre Kostenschätzung anzusehen:

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 codmod-Ausführlichkeit wird mit dem Flag --verbosity LEVEL konfiguriert. Die Ausführlichkeitsstufe der Logs ist eine der folgenden: debug, info, warn, error oder none. Der Standardwert ist warn.

Fehlerbehebung

  • Berechtigung verweigert:Wenn der Fehler „Berechtigung verweigert“ auftritt, prüfen Sie, ob Sie die Ausführungsberechtigung für die binäre Datei codmod mit dem Befehl chmod +x codmod erteilt haben.
  • CLI scheint hängen zu bleiben:Die Analyse kann lange dauern. Normalerweise sehen Sie den Fortschritt in der Fortschrittsanzeige in der CLI. Wenn der Fortschrittsbalken nach 15 Minuten immer noch bei 0% liegt, prüfen Sie, ob Sie genügend Kontingent für das entsprechende Modell haben. Standardmäßig verwendet codmod das Modell gemini-2.5-pro. Dies kann sich jedoch ändern, da in verschiedenen Modellsets unterschiedliche Modelle für unterschiedliche Zwecke verwendet werden.
  • Fehler melden:Wenn ein Fehler untersucht werden muss, sammeln Sie die Debugging-Informationen, um unser Entwicklerteam zu unterstützen. Logs enthalten wichtige Details für die Fehlerbehebung. Führen Sie den folgenden Befehl aus, um die Logs zu erfassen, zippen Sie 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 neuesten 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äß unserer Datenschutzerklärung Google Cloud Datenschutzhinweis 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 Unterstützung für codmod benötigen, klicken Sie im generierten HTML-Bericht auf die Schaltfläche 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 die Schaltfläche Feedback.