Cette page explique comment utiliser Google Cloud Modernization Hub pour évaluer les applications ASP.NET et .NET Framework en vue de leur conteneurisation Linux et de leur modernisation vers une version .NET multiplate-forme.
De nombreuses applications .NET d'entreprise dépendent d'API spécifiques à Windows, de configurations de serveur IIS ou d'anciennes bibliothèques .NET Framework qui empêchent le déploiement direct dans des conteneurs Linux. Une évaluation automatisée dans Modernization Hub analyse votre code source pour identifier les bloqueurs, évaluer la compatibilité des packages NuGet et recommander des chemins de refactoring pour Cloud Run ou Google Kubernetes Engine.
Quand utiliser une évaluation d'application .NET ?
Exécutez une évaluation d'application .NET lorsque vous prévoyez d'effectuer l'une des tâches de modernisation suivantes :
- Replate-forme vers des conteneurs Linux : identifiez les dépendances Windows uniquement (telles que l'accès au registre Windows,
System.Drawingou les intégrations Active Directory) avant de conteneuriser les applications pour Cloud Run ou GKE. - Mise à niveau des versions de .NET Framework : évaluez l'effort et les écarts de compatibilité lors de la migration de .NET Framework 4.x vers les versions .NET modernes et multiplates-formes (.NET 10 ou version ultérieure).
- Découpler les architectures monolithiques : découvrez les services WCF étroitement couplés, les services Windows ou les anciens formulaires Web qui nécessitent une refactorisation en microservices natifs du cloud.
Avant de commencer
Avant de lancer un job d'évaluation .NET, activez les API requises, vérifiez les autorisations IAM (Identity and Access Management) de votre projet, enregistrez un bucket de paramètres d'espace de travail et importez votre archive de code source dans Cloud Storage.
Activer les API requises
Pour utiliser Modernization Hub, activez les API de service Google Cloudrequises dans votre projet :
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
Remplacez PROJECT_ID par l'ID du projet Google Cloud .
Rôles requis
Pour exécuter une évaluation, deux identités ont besoin d'autorisations IAM distinctes lorsqu'elles utilisent Cloud Build et Gemini Enterprise Agent Platform :
- Utilisateur de la console authentifié (qui lance le job et accède aux buckets) :
- Administrateur de l'espace de stockage (
roles/storage.admin) - Utilisateur du compte de service (
roles/iam.serviceAccountUser) - Éditeur Cloud Build (
roles/cloudbuild.builds.editor)
- Administrateur de l'espace de stockage (
- Compte de service dédié (exécutant le conteneur d'évaluation) :
- Utilisateur Agent Platform
(
roles/aiplatform.user) - Utilisateur d'objets de l'espace de stockage (
roles/storage.objectUser) ou Administrateur de l'espace de stockage (roles/storage.admin)
- Utilisateur Agent Platform
(
Pour obtenir les autorisations nécessaires pour lancer une évaluation et exécuter le conteneur d'analyse, demandez à votre administrateur de vous accorder les rôles IAM suivants sur votre projet :
-
Utilisateur : pour gérer les archives sources et les configurations de buckets :
administrateur de l'espace de stockage (
roles/storage.admin) -
Utilisateur : associez le compte de service dédié au job : Utilisateur du compte de service (
roles/iam.serviceAccountUser) -
Utilisateur : envoie des jobs d'évaluation (
cloudbuild.builds.create) et affiche les journaux : Éditeur Cloud Build (roles/cloudbuild.builds.editor) -
Compte de service : exécutez le conteneur
codmod: Utilisateur Agent Platform (roles/aiplatform.user) -
Compte de service : lire les archives sources et écrire les rapports d'évaluation :
Utilisateur des objets Storage (
roles/storage.objectUser) ou Administrateur Storage (roles/storage.admin)
Pour en savoir plus sur l'attribution de rôles, consultez Gérer l'accès aux projets, aux dossiers et aux organisations.
Ces rôles prédéfinis contiennent les autorisations requises pour lancer une évaluation et exécuter le conteneur d'analyse. Pour connaître les autorisations exactes requises, développez la section Autorisations requises :
Autorisations requises
Les autorisations suivantes sont requises pour lancer une évaluation et exécuter le conteneur d'analyse :
-
Utilisateur (Cloud Storage, Cloud Build et IAM) :
-
storage.objects.get(pour télécharger ou lire des fichiers) -
storage.objects.list(pour lister les fichiers dans le bucket) -
storage.objects.create(pour importer ou créer des fichiers) -
storage.objects.update(pour modifier les métadonnées des fichiers existants) -
storage.objects.delete(pour supprimer ou écraser des fichiers) -
storage.buckets.get(Afficher les configurations au niveau du bucket) -
cloudbuild.builds.create(pour envoyer des tâches d'évaluation) -
iam.serviceAccounts.actAs(pour associer le compte de service au job)
-
-
Compte de service (Agent Platform et Cloud Storage) :
-
aiplatform.endpoints.predict(pour exécuter l'analyse du code assistée par l'IA) -
storage.objects.get(pour lire ou télécharger les archives sources) -
storage.objects.list(pour lister les fichiers du dossier d'entrée) -
storage.objects.create(pour rédiger des rapports d'évaluation) -
storage.objects.delete(pour supprimer les fichiers temporaires)
-
Vous pouvez également obtenir ces autorisations avec des rôles personnalisés ou d'autres rôles prédéfinis.
Configurer un bucket de paramètres d'espace de travail
Enregistrez un bucket Cloud Storage désigné sur la page Modernization Hub > Paramètres (par exemple, gs://PROJECT_ID-modernization-hub) pour stocker les fichiers d'état binaires de l'espace de travail (dotnet_jobs.pb, java_jobs.pb et mainframe_jobs.pb).
Examiner les limites de taille du codebase
Pour maintenir des performances et une rentabilité optimales, le moteur d'évaluation codmod applique les consignes suivantes concernant la mise à l'échelle et l'archivage :
- Taille maximale du codebase : environ 6 millions de lignes de code par tâche d'évaluation. Si votre dépôt dépasse 6 millions de lignes de code, scindez la base de code en solutions ou modules plus petits et indépendants avant de l'importer.
- Structure d'archive propre : excluez les binaires compilés, les caches de packages et les métadonnées de contrôle des versions (telles que
bin/,obj/,node_modules/,.vs/et.git/) de votre fichier ZIP afin que seuls les fichiers sources et les configurations de compilation soient analysés.
Préparer et importer votre archive source .NET
Empaquetez votre code .NET dans un fichier ZIP qui exclut les résultats de compilation, puis importez le fichier dans un bucket Cloud Storage de votre projet.
Sur votre ordinateur local, créez un fichier ZIP de votre dépôt à l'aide de l'une des méthodes suivantes :
Utiliser Git (recommandé) :
git archive --format=zip -o repository.zip HEAD
Utiliser la CLI
zip:zip -r repository.zip . \ -x "*.git*" "*/bin/*" "*/obj/*" "*/node_modules/*" "*.vs/*"
Importez le fichier ZIP dans votre bucket Cloud Storage cible à l'aide de Google Cloud CLI :
gcloud storage cp repository.zip \ gs://INPUT_BUCKET/codebase/repository.zipRemplacez INPUT_BUCKET par le nom de votre bucket Cloud Storage cible.
Exécuter une évaluation
Pour exécuter un job d'évaluation, procédez comme suit :
Dans la console, accédez à la page Modernization Hub.
Sur la page de destination, recherchez la fiche Modernisation.NET, puis cliquez sur Démarrer l'évaluation.
Dans le champ Nom du job, saisissez un nom unique pour votre job d'évaluation.
Dans le champ Emplacement du code source, sélectionnez un bucket Cloud Storage contenant votre code source sous forme de fichier ZIP.
Dans le champ Emplacement du rapport, sélectionnez un bucket Cloud Storage pour enregistrer les rapports d'évaluation générés.
Dans la liste Recette de modernisation, sélectionnez une recette de modernisation.
Dans la liste Emplacement, sélectionnez une région pour votre tâche d'évaluation.
Dans le champ Compte de service, sélectionnez un compte de service dédié disposant des rôles IAM requis listés dans la section Rôles requis. Cloud Build exécute le job d'évaluation sous ce compte de service, qui nécessite les autorisations Utilisateur Agent Platform et Cloud Storage.
Cliquez sur Générer un rapport.
La console démarre un conteneur d'évaluation en arrière-plan pour analyser votre projet. L'état de la tâche s'affiche dans le tableau Historique des évaluations.
Surveiller l'état des jobs et afficher les rapports
Selon la taille de votre code, les tâches d'évaluation se terminent généralement en quelques minutes. Le conteneur d'arrière-plan se termine automatiquement une fois le traitement terminé.
Pour afficher les résultats de votre évaluation, procédez comme suit :
- Dans le tableau Historique des évaluations de la page Modernization Hub, recherchez votre tâche d'évaluation.
- Lorsque la colonne État passe à Terminé, cliquez sur Télécharger le rapport.
- Sélectionnez le format de sortie de votre choix :
- Rapport HTML : récapitulatif interactif qui vous permet de filtrer les API Windows incompatibles, d'inspecter les listes de bloqueurs fichier par fichier et d'afficher des suggestions de correction.
- Rapport Markdown : résumé exécutif mis en forme, adapté au partage avec les parties prenantes et les comités d'examen de l'architecture.
Examiner le rapport d'évaluation
Le rapport d'évaluation classe l'état de préparation de la migration de votre application dans les domaines suivants :
- Score de compatibilité global : pourcentage de lignes sources et de dépendances pouvant migrer vers .NET multiplate-forme sans modification.
- Répartition des bloqueurs : dépendances Windows spécifiques nécessitant une refactorisation, telles que :
- Implémentations de serveur Windows Communication Foundation (WCF).
- Anciens pipelines ASP.NET Web Forms ou ASP.NET MVC.
- Appels du Registre Windows (
Microsoft.Win32).
- Analyse des dépendances NuGet : inventaire détaillé des packages NuGet existants indiquant si chaque package est compatible avec la version .NET cible ou s'il doit être remplacé.
- Actions recommandées : transformations de code et chemins de migration suggérés pour préparer votre application à la conteneurisation sur Google Cloud.
Refactoriser le code .NET avec Antigravity
Une fois que vous avez généré un rapport d'évaluation, vous pouvez utiliser Antigravity avec des compétences agentiques .NET spécialisées pour automatiser la conversion du code de .NET Framework vers .NET multiplate-forme.
Avant d'exécuter des workflows de refactoring agentique, assurez-vous de remplir les conditions préalables suivantes :
- Environnement Antigravity : installez l'IDE Antigravity ou la CLI Antigravity (
agy) et configurez l'authentification avec votre projet Google Cloud . - Artefacts d'évaluation : téléchargez votre rapport d'évaluation
codmodet placez-le dans l'espace de travail de votre dépôt local afin que l'agent puisse référencer les bloqueurs identifiés et les chemins de mise à niveau des dépendances. - Compétences de modernisation.NET : chargez la compétence de modernisation .NET
codmod(SKILL.md) dans les paramètres de votre espace de travail Antigravity. Pour demander un accès en avant-première aux dernières compétences d'agent de modernisation .NET, contactez modernization-hub-feedback-external@google.com.
Étapes suivantes
- Découvrez comment évaluer les applications Java.
- Découvrez comment configurer Mainframe Assessment Tool (MAT).
- Découvrez la transformation de code assistée par l'IA à l'aide de Gemini Cloud Assist.