Membuat Penilaian Modernisasi Aplikasi

Penilaian Modernisasi Aplikasi Pusat Migrasi (codmod) adalah alat yang didukung AI yang mengotomatiskan proses penilaian modernisasi untuk aplikasi Anda. Halaman ini menguraikan langkah-langkah untuk menginstal, menggunakan, dan memecahkan masalah alat codmod.

Tentang Penilaian Modernisasi Aplikasi

Proses penilaian modernisasi yang umum memerlukan waktu beberapa minggu dan memerlukan banyak keahlian. Dengan mengotomatiskan proses ini, alat codmod secara signifikan mengurangi waktu ini menjadi beberapa jam.

Alat ini bertujuan untuk memberikan informasi berbasis bukti tentang arsitektur, fungsi, dan potensi penghambat aplikasi saat ini yang dapat memperlambat transformasi ke cloud.

Alat ini ditujukan untuk peran berikut:

  • Arsitek IT
  • Pengambil keputusan
  • Pemilik aplikasi

Alat codmod bertujuan untuk mempercepat transformasi aplikasi dengan memberikan visibilitas yang jelas ke dalam perubahan yang diperlukan, dan manfaat yang diperoleh dari mentransformasi aplikasi ke Google Cloud. codmod adalah alat CLI portabel yang menggunakan Gemini untuk menganalisis kode sumber dan memberikan rekomendasi berdasarkan praktik terbaik Google Cloud .

Sebelum memulai

Alat codmod memerlukan prasyarat berikut:

  • Workstation Linux atau Windows (10 atau yang lebih baru).
  • Akses ke project yang telah mengaktifkan Vertex AI API. Google Cloud
  • Penginstalan gcloud CLI di workstation Anda. Untuk mengetahui informasi selengkapnya, lihat Menginstal gcloud CLI.

Harga

Biaya penggunaan Gemini untuk penilaian kode terutama didasarkan pada ukuran codebase, dan diukur dalam token. Tabel berikut menunjukkan perkiraan biaya yang mungkin Anda lihat berdasarkan baris kode dan model yang Anda pilih:

Codebase Baris Kode (LOC) Estimasi Biaya
adaptif 2.0-flash 2.5-pro (default) 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

Nilai ini mungkin terlalu tinggi karena tidak memperhitungkan kemungkinan penghematan karena hal berikut:

  • Harga yang lebih rendah untuk kueri singkat.
  • Harga yang lebih rendah untuk penyimpanan cache implisit.
  • Diskon abonemen (CUD).

Biaya untuk parameter ini diperkirakan akan menjadi bagian yang tidak signifikan dari total biaya, terutama untuk codebase yang lebih besar. Untuk mengetahui informasi tambahan, lihat Harga Gemini API.

Informasi tambahan

Alat ini menggunakan kemampuan analisis dan pemahaman kode tingkat lanjut dari Vertex AI API. Untuk mengetahui informasi selengkapnya tentang model yang tersedia dan fiturnya, lihat Model Google dalam dokumentasi Vertex AI API.

Untuk mempertahankan performa yang optimal dan efisiensi biaya, codmod memiliki batas ukuran codebase sekitar 6 juta baris kode. Untuk codebase yang melebihi batas ini, sebaiknya bagi codebase menjadi bagian-bagian yang lebih kecil dan mudah dikelola untuk dianalisis. Menganalisis bagian yang lebih kecil juga dapat membantu penilaian yang lebih terfokus dan berpotensi mengurangi waktu pemrosesan secara keseluruhan.

Siapkan codmod

Bagian ini memberikan petunjuk penginstalan dan autentikasi untuk menggunakan alat codmod.

Instal codmod

Windows

Jalankan perintah berikut di Windows PowerShell untuk mendownload versi terbaru codmod:

$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

Jalankan perintah berikut untuk mendownload versi terbaru codmod:

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

Melakukan autentikasi ke Google Cloud

Untuk menggunakan alat codmod, Anda memerlukan project Google Cloud .

  1. Pastikan Vertex AI API diaktifkan di project di konsol atau menggunakan CLI:

    gcloud services enable aiplatform.googleapis.com --project <project-id>
    
  2. Pastikan Anda memiliki peran roles/aiplatform.user atau yang serupa di project.

  3. Untuk melakukan autentikasi, jalankan perintah berikut:

    gcloud auth application-default login
    

Atau, Anda dapat menggunakan akun layanan dan menetapkan variabel lingkungan GOOGLE_APPLICATION_CREDENTIALS. Untuk mempelajari lebih lanjut, lihat Cara kerja Kredensial Default Aplikasi.

Mengelola konfigurasi codmod

Bagian berikut menjelaskan cara mengonfigurasi codmod dengan perintah codmod config.

Mencantumkan semua setelan

Untuk melihat semua properti konfigurasi saat ini dan nilainya, jalankan perintah berikut:

codmod config list

Menetapkan nilai default untuk tanda

Untuk menetapkan nilai default properti, gunakan perintah set. Misalnya, untuk menetapkan project ID default, jalankan:

codmod config set project "PROJECT_ID"

Ganti PROJECT_ID dengan ID project Google Cloud .

Untuk menetapkan region default, jalankan:

codmod config set region "REGION"

Ganti REGION dengan region Google Cloud . Lihat daftar region yang tersedia. Jika Anda tidak yakin region mana yang akan digunakan, gunakan us-central1.

Mendapatkan nilai tertentu

Untuk melihat nilai satu properti, gunakan perintah get. Misalnya, untuk mendapatkan project ID yang dikonfigurasi, jalankan perintah berikut:

codmod config get project

Membatalkan setelan nilai default

Untuk menghapus default yang dikonfigurasi dan mengembalikan ke setelan default alat, gunakan perintah unset. Misalnya, untuk menghapus ID project default, jalankan perintah berikut:

codmod config unset project

Membuat laporan penilaian codmod

Bagian berikut menjelaskan cara membuat penilaian default dan cara menyesuaikannya sesuai kebutuhan Anda.

Membuat laporan default

Untuk membuat laporan penilaian, jalankan alat codmod dengan tanda berikut:

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

Ganti kode berikut:

  • CODEBASE: menentukan direktori yang berisi kode sumber yang akan dianalisis, dan dapat ditentukan beberapa kali.
  • OUTPUT: menentukan jalur tempat laporan yang dihasilkan disimpan. Laporan ini dalam format HTML.

Anda dapat mengganti project dan region default dengan flag -p "PROJECT_ID" dan -r "REGION".

Anda juga dapat menentukan flag opsional berikut:

  • --modelset [2.0-flash|2.5-flash|2.5-pro|adaptive]: menentukan model Gemini yang akan digunakan. Nilai defaultnya adalah 2.5-pro. Adaptif memberikan pengurangan biaya yang signifikan dengan potensi penurunan kualitas laporan dibandingkan dengan 2.5-pro.
  • --context <string>: konteks tambahan yang ingin Anda berikan tentang project. Alat ini mempertimbangkan konteks ini saat membuat laporan.
  • --context-file <path>: sama dengan --context jika konteksnya disediakan dalam file tertentu.
  • --format <html|markdown|odt|json>: format yang digunakan untuk laporan yang dibuat. Defaultnya adalah HTML.
  • --allow-large-codebase: secara default, codmod akan meminta konfirmasi sebelum menganalisis codebase yang lebih besar dari 1 juta baris kode - untuk menghindari biaya yang tinggi. Opsi ini berfungsi sebagai konfirmasi non-interaktif. Anda juga dapat mengaktifkannya secara default dengan menjalankan codmod config set allow_large_codebase true.
  • --improve-fidelity: jika disetel, codmod akan membuat bagian secara berurutan dan bukan secara paralel. Hal ini meningkatkan konsistensi antara berbagai bagian laporan akhir, tetapi memerlukan waktu proses yang lebih lama.
  • --force-include <strings>, --force-exclude <strings>: secara default, codmod memindai ekstensi file populer termasuk Java, .NET, dan Python. Gunakan tanda ini untuk menyertakan atau mengecualikan ekstensi file. Argumen harus berupa ekspresi reguler dengan sintaksis RE2.
  • --experiments: tentukan --experiments=enable_pdf,enable_images untuk mendukung PDF dan gambar di codmod.

Membuat laporan lengkap

Jika Anda memerlukan analisis lengkap, buat laporan menggunakan perintah create full:

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

Membuat laporan yang berfokus pada lapisan data

Jika diperlukan perhatian yang lebih mendalam pada lapisan data, laporan dapat dibuat dengan fokus pada area ini:

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

Membuat laporan untuk maksud transformasi tertentu

Jika ingin memfokuskan laporan pada maksud modernisasi tertentu, Anda dapat menggunakan salah satu maksud yang didukung berikut:

  • Transformasi Beban Kerja Microsoft (MICROSOFT_MODERNIZATION): Gunakan dengan aplikasi yang berjalan di Microsoft OS, penilaian akan berfokus pada perjalanan transformasi yang akan memodernisasi framework berbasis .NET untuk menggunakan versi terbaru dan mengurangi dependensi pada lisensi Microsoft.
  • Transformasi Beban Kerja Cloud ke Cloud (CLOUD_TO_CLOUD): Gunakan dengan aplikasi yang berjalan di infrastruktur hyperscaler lain. Penilaian akan berfokus pada perubahan yang direkomendasikan untuk mengubah aplikasi, seperti memetakan layanan vendor cloud lain ke layananGoogle Cloud .
  • Transformasi Java Lama (JAVA_LEGACY_TO_MODERN): Gunakan dengan aplikasi yang menjalankan Java versi Java 8 atau yang serupa, penilaian akan berfokus pada penemuan dependensi upgrade dan area dalam kode yang terpengaruh dari perubahan ke Java 21 (LTS saat ini).
  • Transformasi WILDFLY Java Lama (WILDFLY_LEGACY_TO_MODERN): Gunakan dengan codebase Java EE/Jakarta EE yang berjalan di server aplikasi WildFly versi sebelum yang terbaru. Penilaian akan berfokus pada mengidentifikasi dependensi upgrade dan area dalam kode yang terpengaruh oleh upgrade versi server aplikasi WildFly, termasuk perubahan yang diperlukan untuk perbedaan dan kompatibilitas API.

Untuk membuat laporan yang berfokus pada niat, gunakan tanda --intent:

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

Membuat laporan dengan bagian tambahan

Alat ini mendukung penyertaan bagian tambahan yang tidak disertakan secara default untuk mengurangi biaya. Bagian berikut didukung:

  • files: Tampilan hierarkis terstruktur dari folder project dan deskripsi per konten setiap folder untuk membantu Anda memahami file project.
  • classes: Katalog class kode dengan informasi tentang setiap class dan dependensinya pada class lain. Bahasa yang didukung adalah Java dan C#.

Untuk membuat bagian tambahan, gunakan flag --optional-sections:

codmod create -c "CODEBASE" -o "OUTPUT" --optional-sections "SECTIONS"

Ganti SECTIONS dengan daftar nilai yang dipisahkan koma.

Membuat laporan kustom

Jika ingin menjelajahi beberapa topik kustom tertentu, Anda dapat membuat laporan kustom berdasarkan konteks yang Anda berikan menggunakan perintah berikut:

codmod create custom -c "CODEBASE" -o "OUTPUT" --context "CONTEXT"

Secara default, LLM digunakan untuk memperluas konteks yang diberikan dan menyesuaikannya untuk memastikan bagian yang koheren dihasilkan. Anda dapat menonaktifkan perilaku ini dengan menentukan --improve-context=false.

Flag tambahan:

  • --from-template <path>: menentukan file template yang menentukan struktur dokumen dalam format file PDF atau teks. codmod mendeteksi struktur dan meminta persetujuan untuk melanjutkan pembuatan laporan.
  • --skip-template-approval: melewati permintaan persetujuan saat menggunakan flag --from-template.

Mengubah laporan yang ada

Anda dapat membuat bagian baru dalam laporan atau mengubah bagian yang ada berdasarkan bagian tertentu. Misalnya, Anda mungkin ingin berfokus pada aspek tertentu dari arsitektur sistem, atau jenis kerentanan keamanan tertentu.

Perintah yang mengubah laporan akan memerlukan flag berikut:

  • Salah satu dari --context dan --context-file: tentukan permintaan modifikasi.
  • --from-report: menentukan jalur untuk file laporan yang ada.
  • --from-section: nama bagian yang akan digunakan sebagai dasar untuk bagian baru (misalnya, Ringkasan, Arsitektur).

Untuk menampilkan semua bagian yang tersedia dalam laporan tertentu, jalankan perintah berikut:

codmod list-sections --from-report "REPORT"

Merevisi bagian laporan

Ubah bagian yang ada dengan menjalankan perintah berikut:

codmod revise section -c "CODEBASE" --from-report "REPORT" \
  -o "REVISED_REPORT" --from-section "SECTION_NAME" \
  --context "CONTEXT"

Membuat bagian laporan baru

Buat bagian baru menggunakan perintah berikut:

codmod create section -c "CODEBASE" --from-report "REPORT" \
  -o "REGENERATED_REPORT" --from-section "SECTION_NAME" \
  --context "CONTEXT"
  • Flagfrom-section dalam perintah create section bersifat opsional.
  • Secara default, LLM digunakan untuk memperluas konteks yang diberikan dan menyesuaikannya untuk memastikan bagian yang koheren dihasilkan. Anda dapat menonaktifkan perilaku ini dengan menentukan --improve-context=false.

Perhatikan hal berikut:

  • create section dan revise section hanya mendukung format laporan html.
  • create section, revise section, list-sections mengharapkan flag --from-report menunjuk ke laporan dalam format HTML.

Estimasi biaya penilaian

Alat codmod membantu Anda memahami biaya penggunaan alat dengan memungkinkan Anda menghitung perkiraan biaya pembuatan laporan. Untuk melihat perkiraan biaya, jalankan perintah berikut:

codmod create --estimate-cost -c "CODEBASE"

Estimasi biaya tidak didukung untuk perintah create section dan create custom.

Menetapkan tingkat verbositas

Keberagaman codmod dikonfigurasi menggunakan flag --verbosity LEVEL. Level kejelasan log adalah salah satu dari berikut ini: debug, info, warn, error, atau none. Nilai defaultnya adalah warn.

Pemecahan masalah

  • Izin ditolak: jika Anda mengalami error "izin ditolak", pastikan Anda memberikan izin eksekusi ke biner codmod dengan menjalankan perintah chmod +x codmod.
  • CLI tampak berhenti berfungsi: analisis dapat memerlukan waktu yang lama, tetapi Anda biasanya dapat melihat progres di status progres di CLI. Jika status progres tetap 0% setelah 15 menit, verifikasi bahwa Anda memiliki kuota yang cukup untuk model yang relevan. Secara default, codmod menggunakan model gemini-2.5-pro. Namun, hal ini dapat berubah karena set model yang berbeda menggunakan model yang berbeda untuk tujuan yang berbeda.
  • Melaporkan error: jika terjadi error yang perlu diselidiki, kumpulkan informasi debug untuk membantu tim pengembangan kami. Log memberikan detail penting untuk pemecahan masalah. Jalankan perintah berikut untuk mengumpulkan log, lalu kompresi dan bagikan arsip yang dihasilkan kepada tim di codmod-feedback-external@google.com.

    codmod collect-logs -o "codmod_logs.zip"
    

Lisensi open source

Anda dapat mendownload pemberitahuan open source untuk dependensi versi terbaru codmod dengan menjalankan:

version=$(curl -s https://codmod-release.storage.googleapis.com/latest)
curl -O "https://codmod-release.storage.googleapis.com/${version}/THIRD_PARTY_NOTICES.txt"

Mendapatkan dukungan dan memberikan masukan

Untuk membantu meningkatkan kualitas produk ini, kami mengumpulkan data penggunaan yang dipseudoanonimkan. Data ini ditangani sesuai dengan kebijakan privasi kami Google Cloud Pemberitahuan Privasi. Anda dapat mengubah preferensi Anda kapan saja dengan menjalankan perintah berikut:

codmod config set disable_usage_reporting true

Anda bisa mendapatkan dukungan dan memberikan masukan dengan cara berikut:

  • Untuk mendapatkan dukungan terkait codmod, klik tombol Dukungan dalam laporan HTML yang dibuat, atau kirim email ke codmod-feedback-external@google.com.
  • Untuk memberikan masukan tentang codmod, klik tombol Masukan di laporan HTML yang dihasilkan.