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.
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>
Sie benötigen für das Projekt die Rolle
roles/aiplatform.user
oder eine ähnliche Rolle.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 ist2.5-pro
. Adaptive bietet eine erhebliche Kostenreduzierung, allerdings möglicherweise zulasten der Berichtsqualität im Vergleich zu2.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 wirdcodmod
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 Siecodmod config set allow_large_codebase true
ausführen.--improve-fidelity
: Wenn festgelegt, generiertcodmod
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 incodmod
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 incodmod
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 Befehlcreate 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
undrevise section
unterstützen nur das Berichtsformathtml
.- Für
create section
,revise section
undlist-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 Befehlchmod +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 Modellgemini-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.