Menilai aplikasi .NET untuk modernisasi

Halaman ini menjelaskan cara menggunakan Google Cloud Modernization Hub untuk menilai aplikasi ASP.NET dan .NET Framework untuk containerisasi Linux dan modernisasi ke rilis .NET lintas platform.

Banyak aplikasi .NET perusahaan bergantung pada API khusus Windows, konfigurasi server IIS, atau library .NET Framework lama yang mencegah deployment langsung ke container Linux. Penilaian otomatis di Modernization Hub menganalisis kode sumber Anda untuk mengidentifikasi pemblokir, mengevaluasi kompatibilitas paket NuGet, dan merekomendasikan jalur refaktorisasi untuk Cloud Run atau Google Kubernetes Engine.

Kapan harus menggunakan penilaian aplikasi .NET

Jalankan penilaian aplikasi .NET saat Anda berencana melakukan salah satu tugas modernisasi berikut:

  • Mengubah platform ke container Linux: Identifikasi dependensi khusus Windows (seperti akses Windows Registry, System.Drawing, atau integrasi Active Directory) sebelum memasukkan aplikasi ke dalam container untuk Cloud Run atau GKE.
  • Mengupgrade versi .NET Framework: Evaluasi upaya dan kesenjangan kompatibilitas saat bermigrasi dari .NET Framework 4.x ke rilis .NET lintas platform modern (.NET 10 atau yang lebih baru).
  • Melepaskan arsitektur monolitik: Temukan layanan WCF yang terkait erat, Layanan Windows, atau formulir web lama yang memerlukan refaktor ke dalam microservice berbasis cloud.

Sebelum memulai

Sebelum memulai tugas penilaian .NET, aktifkan API yang diperlukan, verifikasi izin Identity and Access Management (IAM) project Anda, daftarkan bucket setelan ruang kerja, dan upload arsip kode sumber Anda ke Cloud Storage.

Aktifkan API yang diperlukan

Untuk menggunakan Modernization Hub, aktifkan API layanan Google Cloudyang diperlukan di project Anda:

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

Ganti PROJECT_ID dengan project ID Google Cloud Anda.

Peran yang diperlukan

Menjalankan penilaian memerlukan izin IAM yang berbeda untuk dua identitas menggunakan Cloud Build dan Gemini Enterprise Agent Platform:

  • Pengguna konsol yang diautentikasi (memulai tugas dan mengakses bucket):
    • Storage Admin (roles/storage.admin)
    • (roles/iam.serviceAccountUser) Pengguna Akun Layanan
    • (roles/cloudbuild.builds.editor) Cloud Build Editor
  • Akun layanan khusus (mengeksekusi penampung penilaian):
    • Pengguna Agent Platform (roles/aiplatform.user)
    • Storage Object User (roles/storage.objectUser) atau Storage Admin (roles/storage.admin)

Untuk mendapatkan izin yang Anda perlukan guna memulai penilaian dan menjalankan penampung analisis, minta administrator Anda untuk memberi Anda peran IAM berikut di project Anda:

  • Pengguna — Mengelola konfigurasi bucket dan arsip sumber: Admin Penyimpanan (roles/storage.admin)
  • Pengguna — Lampirkan akun layanan khusus ke tugas: Pengguna Akun Layanan (roles/iam.serviceAccountUser)
  • Pengguna — Mengirimkan tugas penilaian (cloudbuild.builds.create) dan melihat log: Cloud Build Editor (roles/cloudbuild.builds.editor)
  • Akun layanan — Mengeksekusi penampung codmod: Pengguna Agent Platform (roles/aiplatform.user)
  • Akun layanan — Membaca arsip sumber dan menulis laporan penilaian: Storage Object User (roles/storage.objectUser) atau Storage Admin (roles/storage.admin)

Untuk mengetahui informasi selengkapnya tentang pemberian peran, lihat Mengelola akses ke project, folder, dan organisasi.

Peran bawaan ini berisi izin yang diperlukan untuk memulai penilaian dan menjalankan penampung analisis. Untuk melihat izin yang benar-benar diperlukan, perluas bagian Izin yang diperlukan:

Izin yang diperlukan

Izin berikut diperlukan untuk memulai penilaian dan menjalankan container analisis:

  • Pengguna (Cloud Storage, Cloud Build, dan IAM):
    • storage.objects.get (Untuk mendownload atau membaca file)
    • storage.objects.list (Untuk mencantumkan file dalam bucket)
    • storage.objects.create (Untuk mengupload atau membuat file baru)
    • storage.objects.update (Untuk mengubah metadata file yang ada)
    • storage.objects.delete (Untuk menghapus atau mengganti file)
    • storage.buckets.get (Melihat konfigurasi tingkat bucket)
    • cloudbuild.builds.create (Untuk mengirimkan tugas penilaian)
    • iam.serviceAccounts.actAs (Untuk melampirkan akun layanan ke tugas)
  • Akun layanan (Agent Platform dan Cloud Storage):
    • aiplatform.endpoints.predict (Untuk menjalankan analisis kode yang dibantu AI)
    • storage.objects.get (Untuk membaca atau mendownload arsip sumber)
    • storage.objects.list (Untuk mencantumkan file dalam folder input)
    • storage.objects.create (Untuk menulis laporan penilaian)
    • storage.objects.delete (Untuk menghapus file sementara)

Anda mungkin juga bisa mendapatkan izin ini dengan peran khusus atau peran bawaan lainnya.

Mengonfigurasi bucket setelan ruang kerja

Daftarkan bucket Cloud Storage yang ditentukan di halaman Modernization Hub > Settings (misalnya, gs://PROJECT_ID-modernization-hub) untuk menyimpan file status biner ruang kerja (dotnet_jobs.pb, java_jobs.pb, dan mainframe_jobs.pb).

Meninjau batas ukuran codebase

Untuk mempertahankan performa dan efisiensi biaya yang optimal, mesin penilaian codmod menerapkan panduan pengarsipan dan skala berikut:

  • Ukuran codebase maksimum: Sekitar 6 juta baris kode (LOC) per tugas penilaian. Jika repositori Anda melebihi 6 juta LOC, bagi codebase menjadi solusi atau modul yang lebih kecil dan independen sebelum mengupload.
  • Struktur arsip yang bersih: Kecualikan biner yang dikompilasi, cache paket, dan metadata kontrol versi (seperti bin/, obj/, node_modules/, .vs/, dan .git/) dari file ZIP Anda sehingga hanya file sumber dan konfigurasi build yang dianalisis.

Menyiapkan dan mengupload arsip sumber .NET

Kemasi codebase .NET Anda sebagai file zip yang tidak menyertakan output build, lalu upload file tersebut ke bucket Cloud Storage di project Anda.

  1. Di komputer lokal Anda, buat file zip repositori menggunakan salah satu metode berikut:

    • Menggunakan Git (direkomendasikan):

      git archive --format=zip -o repository.zip HEAD
      
    • Menggunakan zip CLI:

      zip -r repository.zip . \
          -x "*.git*" "*/bin/*" "*/obj/*" "*/node_modules/*" "*.vs/*"
      
  2. Upload file zip ke bucket Cloud Storage target Anda menggunakan Google Cloud CLI:

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

    Ganti INPUT_BUCKET dengan nama bucket Cloud Storage target Anda.

Menjalankan penilaian

Untuk menjalankan tugas penilaian, ikuti langkah-langkah berikut:

  1. Di konsol, buka halaman Modernization Hub.

    Buka Modernization Hub

  2. Di halaman landing, cari kartu Modernisasi.NET, lalu klik Mulai penilaian.

  3. Di kolom Nama tugas, masukkan nama unik untuk tugas penilaian Anda.

  4. Di kolom Lokasi kode sumber, pilih bucket Cloud Storage yang berisi kode sumber Anda sebagai file ZIP.

  5. Di kolom Lokasi laporan, pilih bucket Cloud Storage untuk menyimpan laporan penilaian yang dihasilkan.

  6. Dari daftar Modernization recipe, pilih resep modernisasi.

  7. Dari daftar Lokasi, pilih region untuk tugas penilaian Anda.

  8. Di kolom Service account, pilih akun layanan khusus dengan peran IAM yang diperlukan yang tercantum di bagian Required roles. Cloud Build menjalankan tugas penilaian dengan akun layanan ini, yang memerlukan izin Agent Platform User dan Cloud Storage.

  9. Klik Buat Laporan.

    Konsol memulai container penilaian latar belakang untuk menganalisis project Anda. Status tugas muncul di tabel Histori penilaian.

Memantau status tugas dan melihat laporan

Bergantung pada ukuran codebase Anda, tugas penilaian biasanya selesai dalam beberapa menit. Container latar belakang akan otomatis dihentikan setelah selesai diproses.

Untuk melihat hasil penilaian Anda, ikuti langkah-langkah berikut:

  1. Di tabel Histori penilaian di halaman Modernization Hub, cari tugas penilaian Anda.
  2. Saat kolom Status berubah menjadi Selesai, klik Download Laporan.
  3. Pilih format output yang Anda inginkan:
    • Laporan HTML: Ringkasan interaktif yang memungkinkan Anda memfilter API Windows yang tidak kompatibel, memeriksa daftar pemblokir file demi file, dan melihat saran perbaikan.
    • Laporan Markdown: Ringkasan eksekutif yang diformat dan cocok untuk dibagikan kepada pemangku kepentingan dan dewan peninjau arsitektur.

Meninjau laporan penilaian

Laporan penilaian mengategorikan kesiapan migrasi aplikasi Anda ke dalam area berikut:

  • Skor kompatibilitas keseluruhan: persentase baris dan dependensi sumber yang dapat dimigrasikan ke .NET lintas platform tanpa modifikasi.
  • Perincian pemblokir: dependensi Windows tertentu yang memerlukan refaktorisasi, seperti:
    • Implementasi server Windows Communication Foundation (WCF).
    • Pipeline lama ASP.NET Web Forms atau ASP.NET MVC.
    • Panggilan Windows Registry (Microsoft.Win32).
  • Analisis dependensi NuGet: inventaris mendetail paket NuGet yang ada yang menunjukkan apakah setiap paket mendukung versi .NET target atau memerlukan penggantian.
  • Tindakan yang direkomendasikan: transformasi kode dan jalur migrasi yang disarankan untuk menyiapkan aplikasi Anda agar dapat dikontainerisasi di Google Cloud.

Memfaktorkan ulang kode .NET dengan Antigravity

Setelah membuat laporan penilaian, Anda dapat menggunakan Antigravity dengan keterampilan agentik .NET khusus untuk mengotomatiskan konversi kode dari .NET Framework ke .NET lintas platform.

Sebelum menjalankan alur kerja refaktor dengan agen, pastikan Anda memenuhi prasyarat berikut:

  • Lingkungan Antigravity: instal Antigravity IDE atau Antigravity CLI (agy) dan konfigurasikan autentikasi dengan project Google Cloud Anda.
  • Artefak penilaian: download laporan penilaian codmod dan tempatkan di ruang kerja repositori lokal Anda agar agen dapat mereferensikan penghambat yang teridentifikasi dan jalur upgrade dependensi.
  • Keterampilan modernisasi.NET: muat keterampilan modernisasi .NET codmod (SKILL.md) ke setelan ruang kerja Antigravity Anda. Untuk meminta akses pratinjau ke kemampuan agen modernisasi .NET terbaru, hubungi modernization-hub-feedback-external@google.com.

Langkah berikutnya