.NET-Anwendungen auf Modernisierung prüfen

Auf dieser Seite wird beschrieben, wie Sie mit Google Cloud Modernization Hub ASP.NET- und .NET Framework-Anwendungen für die Linux-Containerisierung und Modernisierung auf eine plattformübergreifende .NET-Version bewerten.

Viele .NET-Unternehmensanwendungen sind von Windows-spezifischen APIs, IIS-Serverkonfigurationen oder Legacy-Bibliotheken des .NET Framework abhängig, die eine direkte Bereitstellung in Linux-Containern verhindern. Bei einer automatisierten Bewertung in Modernization Hub wird Ihr Quellcode analysiert, um Blockaden zu identifizieren, die Kompatibilität von NuGet-Paketen zu bewerten und Refaktorierungspfade für Cloud Run oder Google Kubernetes Engine zu empfehlen.

Wann sollte eine .NET-Anwendungsbewertung durchgeführt werden?

Führen Sie eine .NET-Anwendungsbewertung durch, wenn Sie eine der folgenden Modernisierungsaufgaben planen:

  • Replatforming zu Linux-Containern: Ermitteln Sie Windows-only-Abhängigkeiten (z. B. Windows-Registrierungszugriff, System.Drawing oder Active Directory-Integrationen), bevor Sie Anwendungen für Cloud Run oder GKE containerisieren.
  • Aktualisieren von .NET Framework-Versionen: Bewerten Sie den Aufwand und die Kompatibilitätslücken bei der Migration von .NET Framework 4.x zu modernen, plattformübergreifenden .NET-Versionen (.NET 10 oder höher).
  • Entkopplung monolithischer Architekturen: Erkennen Sie eng gekoppelte WCF-Dienste, Windows-Dienste oder Legacy-Webformulare, die in cloudnative Mikrodienste refaktoriert werden müssen.

Hinweis

Bevor Sie einen .NET-Bewertungsjob starten, müssen Sie die erforderlichen APIs aktivieren, die IAM-Berechtigungen (Identity and Access Management) Ihres Projekts überprüfen, einen Bucket für Arbeitsbereichseinstellungen registrieren und Ihr Quellcodearchiv in Cloud Storage hochladen.

Erforderliche APIs aktivieren

Wenn Sie Modernization Hub verwenden möchten, müssen Sie die erforderlichen Google CloudDienst-APIs in Ihrem Projekt aktivieren:

gcloud services enable \
    aiplatform.googleapis.com \
    artifactregistry.googleapis.com \
    cloudbuild.googleapis.com \
    cloudresourcemanager.googleapis.com \
    compute.googleapis.com \
    logging.googleapis.com \
    storage.googleapis.com \
    --project=PROJECT_ID

Ersetzen Sie dabei PROJECT_ID durch die ID Ihres Projekts in Google Cloud .

Erforderliche Rollen

Für die Ausführung einer Bewertung sind unterschiedliche IAM-Berechtigungen für zwei Identitäten erforderlich, die Cloud Build und die Gemini Enterprise Agent Platform verwenden:

  • Authentifizierter Console-Nutzer (der den Job initiiert und auf Buckets zugreift):
    • Storage-Administrator (roles/storage.admin)
    • Dienstkontonutzer (roles/iam.serviceAccountUser)
    • Cloud-Build-Bearbeiter (roles/cloudbuild.builds.editor)
  • Dediziertes Dienstkonto (Ausführung des Bewertungscontainers):
    • Agent Platform-Nutzer (roles/aiplatform.user)
    • Storage Object User (roles/storage.objectUser) oder Storage Admin (roles/storage.admin)

Bitten Sie Ihren Administrator, Ihnen die folgenden IAM-Rollen für Ihr Projekt zuzuweisen, um die Berechtigungen zu erhalten, die Sie zum Starten einer Bewertung und zum Ausführen des Analysecontainers benötigen:

  • Nutzer: Quellarchive und Bucket-Konfigurationen verwalten: Storage-Administrator (roles/storage.admin)
  • Nutzer: Hängen Sie das dedizierte Dienstkonto an den Job an: Dienstkontonutzer (roles/iam.serviceAccountUser)
  • Nutzer: Assessment-Jobs einreichen (cloudbuild.builds.create) und Logs ansehen: Cloud Build-Bearbeiter (roles/cloudbuild.builds.editor)
  • Dienstkonto: codmod-Container ausführen: Agent Platform User (roles/aiplatform.user)
  • Dienstkonto: Quellarchive lesen und Prüfberichte schreiben: Storage Object User (roles/storage.objectUser) oder Storage Admin (roles/storage.admin)

Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.

Diese vordefinierten Rollen enthalten die Berechtigungen, die zum Starten einer Bewertung und zum Ausführen des Analysecontainers erforderlich sind. Maximieren Sie den Abschnitt Erforderliche Berechtigungen, um die notwendigen Berechtigungen anzuzeigen:

Erforderliche Berechtigungen

Die folgenden Berechtigungen sind erforderlich, um eine Bewertung zu starten und den Analysecontainer auszuführen:

  • Nutzer (Cloud Storage, Cloud Build und IAM):
    • storage.objects.get (zum Herunterladen oder Lesen von Dateien)
    • storage.objects.list (zum Auflisten von Dateien im Bucket)
    • storage.objects.create (zum Hochladen oder Erstellen neuer Dateien)
    • storage.objects.update (Zum Ändern der Metadaten vorhandener Dateien)
    • storage.objects.delete (zum Löschen oder Überschreiben von Dateien)
    • storage.buckets.get (Konfigurationen auf Bucket-Ebene ansehen)
    • cloudbuild.builds.create (zum Einreichen von Bewertungsjobs)
    • iam.serviceAccounts.actAs (um das Dienstkonto an den Job anzuhängen)
  • Dienstkonto (Agent Platform und Cloud Storage):
    • aiplatform.endpoints.predict (um die KI-basierte Codeanalyse auszuführen)
    • storage.objects.get (Zum Lesen oder Herunterladen von Quellarchiven)
    • storage.objects.list (zum Auflisten von Dateien im Eingabeordner)
    • storage.objects.create (Bewertungsberichte schreiben)
    • storage.objects.delete (Zum Löschen temporärer Dateien)

Sie können diese Berechtigungen auch mit benutzerdefinierten Rollen oder anderen vordefinierten Rollen erhalten.

Bucket für Arbeitsbereichseinstellungen konfigurieren

Registrieren Sie auf der Seite Modernization Hub > Einstellungen einen bestimmten Cloud Storage-Bucket (z. B. gs://PROJECT_ID-modernization-hub), in dem die binären Statusdateien des Arbeitsbereichs (dotnet_jobs.pb, java_jobs.pb und mainframe_jobs.pb) gespeichert werden.

Größenbeschränkungen für die Codebasis prüfen

Um eine optimale Leistung und Kosteneffizienz zu erzielen, gelten für die codmod-Bewertungs-Engine die folgenden Richtlinien für die Skalierung und Archivierung:

  • Maximale Größe der Codebasis:ca. 6 Millionen Codezeilen pro Bewertungsjob. Wenn Ihr Repository mehr als 6 Millionen Codezeilen enthält, teilen Sie die Codebasis vor dem Hochladen in kleinere, unabhängige Lösungen oder Module auf.
  • Saubere Archivstruktur:Schließen Sie kompilierte Binärdateien, Paketcaches und Metadaten der Versionsverwaltung (z. B. bin/, obj/, node_modules/, .vs/ und .git/) aus Ihrer ZIP-Datei aus, damit nur Quelldateien und Build-Konfigurationen analysiert werden.

.NET-Quellarchiv vorbereiten und hochladen

Packen Sie Ihre .NET-Codebasis als ZIP-Datei, in der Build-Ausgaben ausgeschlossen sind, und laden Sie die Datei in einen Cloud Storage-Bucket in Ihrem Projekt hoch.

  1. Erstellen Sie auf Ihrem lokalen Computer eine ZIP-Datei Ihres Repository mit einer der folgenden Methoden:

    • Git verwenden (empfohlen):

      git archive --format=zip -o repository.zip HEAD
      
    • zip-Befehlszeile verwenden:

      zip -r repository.zip . \
          -x "*.git*" "*/bin/*" "*/obj/*" "*/node_modules/*" "*.vs/*"
      
  2. Laden Sie die ZIP-Datei mit der Google Cloud CLI in den Ziel-Cloud Storage-Bucket hoch:

    gcloud storage cp repository.zip \
        gs://INPUT_BUCKET/codebase/repository.zip
    

    Ersetzen Sie INPUT_BUCKET durch den Namen Ihres Ziel-Cloud Storage-Bucket.

Bewertung durchführen

So führen Sie einen Bewertungsjob aus:

  1. Rufen Sie in der Console die Seite Modernization Hub auf.

    Zum Modernization Hub

  2. Suchen Sie auf der Landingpage nach der Karte .NET-Modernisierung und klicken Sie auf Bewertung starten.

  3. Geben Sie im Feld Jobname einen eindeutigen Namen für den Bewertungsjob ein.

  4. Wählen Sie im Feld Speicherort des Quellcodes einen Cloud Storage-Bucket aus, der Ihren Quellcode als ZIP-Datei enthält.

  5. Wählen Sie im Feld Berichtsspeicherort einen Cloud Storage-Bucket aus, in dem die generierten Bewertungsberichte gespeichert werden sollen.

  6. Wählen Sie in der Liste Modernisierungsrezept ein Modernisierungsrezept aus.

  7. Wählen Sie in der Liste Speicherort eine Region für den Bewertungsjob aus.

  8. Wählen Sie im Feld Dienstkonto ein dediziertes Dienstkonto mit den erforderlichen IAM-Rollen aus, die im Abschnitt Erforderliche Rollen aufgeführt sind. Cloud Build führt den Bewertungsjob unter diesem Dienstkonto aus. Dazu sind Berechtigungen für „Agent Platform User“ und Cloud Storage erforderlich.

  9. Klicken Sie auf Bericht erstellen.

    Die Konsole startet einen Hintergrundbewertungscontainer, um Ihr Projekt zu analysieren. Der Jobstatus wird in der Tabelle Bewertungsverlauf angezeigt.

Jobstatus überwachen und Berichte ansehen

Je nach Größe Ihrer Codebasis werden Bewertungsjobs in der Regel innerhalb weniger Minuten abgeschlossen. Der Hintergrundcontainer wird automatisch beendet, nachdem die Verarbeitung abgeschlossen ist.

So rufen Sie die Ergebnisse Ihrer Bewertung auf:

  1. Suchen Sie in der Tabelle Bewertungschronik auf der Modernization Hub-Seite nach Ihrem Bewertungsjob.
  2. Wenn sich die Spalte Status in Abgeschlossen ändert, klicken Sie auf Bericht herunterladen.
  3. Wählen Sie das gewünschte Ausgabeformat aus:
    • HTML-Bericht: Eine interaktive Zusammenfassung, mit der Sie inkompatible Windows-APIs filtern, Blockerlisten für einzelne Dateien prüfen und Vorschläge zur Fehlerbehebung aufrufen können.
    • Markdown-Bericht: Eine formatierte Zusammenfassung für Führungskräfte, die sich für die Weitergabe an Stakeholder und Architectural Review Boards eignet.

Bewertungsbericht ansehen

Im Bewertungsbericht wird die Migrationsbereitschaft Ihrer Anwendung in die folgenden Bereiche unterteilt:

  • Gesamtkompatibilitätswert:Der Prozentsatz der Quellzeilen und ‑abhängigkeiten, die ohne Änderungen zu plattformübergreifendem .NET migriert werden können.
  • Aufschlüsselung der Blocker:Bestimmte Windows-Abhängigkeiten, die eine Umgestaltung erfordern, z. B.:
    • Windows Communication Foundation (WCF)-Serverimplementierungen.
    • ASP.NET Web Forms- oder ASP.NET MVC-Legacy-Pipelines.
    • Windows-Registrierungsaufrufe (Microsoft.Win32).
  • NuGet-Abhängigkeitsanalyse:Eine detaillierte Bestandsaufnahme der vorhandenen NuGet-Pakete, aus der hervorgeht, ob jedes Paket die Ziel-NET-Version unterstützt oder ersetzt werden muss.
  • Empfohlene Maßnahmen:Vorgeschlagene Code-Transformationen und Migrationspfade, um Ihre Anwendung für die Containerisierung auf Google Cloudvorzubereiten.

.NET-Code mit Antigravity refaktorieren

Nachdem Sie einen Bewertungsbericht erstellt haben, können Sie Antigravity mit spezialisierten .NET-Agentic Skills verwenden, um die Codekonvertierung von .NET Framework in plattformübergreifendes .NET zu automatisieren.

Bevor Sie Agent-basierte Refactoring-Workflows ausführen, müssen die folgenden Voraussetzungen erfüllt sein:

  • Antigravity-Umgebung:Installieren Sie die Antigravity IDE oder Antigravity CLI (agy) und konfigurieren Sie die Authentifizierung mit Ihrem Google Cloud -Projekt.
  • Bewertungsergebnisse:Laden Sie den codmod-Bewertungsbericht herunter und legen Sie ihn in Ihrem lokalen Repository-Arbeitsbereich ab, damit der Agent auf erkannte Blocker und Upgrade-Pfade für Abhängigkeiten verweisen kann.
  • .NET-Modernisierungs-Skills:Laden Sie den codmod .NET-Modernisierungs-Skill (SKILL.md) in Ihre Antigravity-Arbeitsbereichseinstellungen. Wenn Sie Vorabzugriff auf die neuesten KI-Agenten-Skills für die .NET-Modernisierung anfordern möchten, wenden Sie sich an modernization-hub-feedback-external@google.com.

Nächste Schritte