Penilaian Modernisasi Aplikasi Migration Center (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 biasanya 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 pemblokir 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
transformasi 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 Google Cloud yang telah mengaktifkan Vertex AI API.
- Penginstalan gcloud CLI di workstation Anda. Untuk mengetahui informasi selengkapnya, lihat Menginstal gcloud CLI.
Harga
Biaya penggunaan Gemini untuk penilaian kode terutama ditentukan oleh ukuran codebase, dan diukur dalam token. Tabel berikut menunjukkan perkiraan biaya yang dapat Anda lihat berdasarkan baris kode dan model yang Anda pilih:
| Codebase | Baris Kode (LOC) | Estimasi Biaya | ||||
|---|---|---|---|---|---|---|
| adaptif | 2.5-flash | 2.5-pro | 3.5-flash | 3.8-flash (default) | ||
| Spring Petclinic | ~6.500 | $20 | $3 | $20 | $3 | $9 |
| James Project | ~1.000.000 | $40 | $30 | $200 | $200 | $200 |
| Elasticsearch | ~5.000.000 | $200 | $200 | $900 | $500 | $500 |
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 ke cache implisit.
- Diskon abonemen (CUD).
Biaya untuk parameter ini diperkirakan akan menjadi bagian yang dapat diabaikan dari total biaya, terutama untuk codebase yang lebih besar. Untuk informasi tambahan, lihat harga Gemini API.
Informasi tambahan
Alat ini menggunakan kemampuan pemahaman dan analisis kode tingkat lanjut dari Vertex AI API. Untuk mengetahui informasi selengkapnya tentang model yang tersedia dan fiturnya, lihat Model Google dalam dokumentasi API Vertex AI.
Untuk mempertahankan performa dan efisiensi biaya yang optimal, codmod memiliki batas ukuran codebase sekitar 6 juta baris kode.
Untuk codebase yang melebihi batas ini, sebaiknya bagi codebase menjadi
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 berisi 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 codmod versi terbaru:
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
Untuk menggunakan perintah codmod, tambahkan file yang dapat dieksekusi ke jalur, atau buat alias.
Melakukan autentikasi ke Google Cloud
Untuk menggunakan alat codmod, Anda memerlukan project Google Cloud .
Pastikan Vertex AI API diaktifkan pada project di konsol atau menggunakan CLI:
gcloud services enable aiplatform.googleapis.com --project <project-id>Pastikan Anda memiliki peran
roles/aiplatform.useratau yang serupa di project.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 flag
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 project ID 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 penetapan nilai default
Untuk menghapus default yang dikonfigurasi dan kembali ke setelan default asli alat, gunakan perintah unset. Misalnya, untuk menghapus project ID 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 flag 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 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.5-flash|2.5-pro|3.5-flash|3.8-flash|adaptive]: menentukan model Gemini yang akan digunakan. Nilai defaultnya adalah3.8-flash. Adaptif memberikan pengurangan biaya yang signifikan dengan potensi kompromi dalam kualitas laporan dibandingkan dengan2.5-pro.--format <html|markdown|odt|json>: format yang digunakan untuk laporan yang dibuat. Default-nya adalah HTML.--allow-large-codebase: secara default,codmodakan meminta konfirmasi sebelum menganalisis codebase yang lebih besar dari 1 juta baris kode - untuk menghindari biaya tinggi. Opsi ini berfungsi sebagai konfirmasi non-interaktif. Anda juga dapat mengaktifkannya secara default dengan menjalankancodmod config set allow_large_codebase true.--improve-fidelity: jika ditetapkan,codmodakan membuat bagian secara serial, bukan secara paralel. Tindakan ini meningkatkan konsistensi antara berbagai bagian laporan akhir, tetapi memerlukan waktu proses yang lebih lama.--force-include <strings>,--force-exclude <strings>: secara default,codmodmemindai ekstensi file populer termasuk Java, .NET, dan Python. Gunakan flag ini untuk menyertakan atau mengecualikan ekstensi file. Argumen harus berupa ekspresi reguler dengan sintaksis RE2.--experiments: tentukan--experiments=enable_pdf,enable_imagesuntuk mendukung PDF dan gambar dicodmod.--context <string>: konteks tambahan apa pun yang ingin Anda berikan tentang project. Alat ini akan mempertimbangkan konteks ini saat membuat laporan.--context-file <path>: sama seperti--contextdengan konteks yang diberikan dalam file yang ditentukan.--supporting-documents <path>: menentukan direktori dokumentasi pendukung tentang codebase. File dalam direktori ini dapat dirujuk dari konteks yang disediakan dengan flag--contextatau--context-fileuntuk disertakan dalam analisis. Format yang didukung mencakup teks, PDF, dan gambar (PNG, JPG, JPEG).
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 niat transformasi tertentu
Jika ingin memfokuskan laporan pada intent modernisasi tertentu, Anda dapat menggunakan salah satu intent yang didukung berikut:
- Transformasi workload Microsoft (
MICROSOFT_MODERNIZATION): gunakan dengan aplikasi yang berjalan di OS Microsoft, penilaian akan berfokus pada perjalanan transformasi yang akan memodernisasi framework berbasis .NET untuk menggunakan versi terbaru dan mengurangi dependensi pada lisensi Microsoft. - Transformasi workload cloud ke cloud (
CLOUD_TO_CLOUD): digunakan dengan aplikasi yang berjalan di infrastruktur hyperscaler lain. Penilaian akan berfokus pada perubahan yang direkomendasikan untuk mentransformasi aplikasi, seperti memetakan layanan vendor cloud lain ke layananGoogle Cloud . - Legacy Java transformation (
JAVA_LEGACY_TO_MODERN): gunakan dengan aplikasi yang menjalankan Java versi Java 8 atau yang serupa, penilaian akan berfokus pada menemukan dependensi upgrade dan area dalam kode yang terpengaruh oleh perubahan ke Java 21 (LTS saat ini). - Legacy Java WILDFLY transformation (
WILDFLY_LEGACY_TO_MODERN): gunakan dengan codebase Java EE/Jakarta EE yang berjalan di server aplikasi WildFly versi sebelum versi terbaru. Penilaian akan berfokus pada identifikasi dependensi upgrade dan area dalam kode yang terpengaruh oleh upgrade versi server aplikasi WildFly, termasuk perubahan yang diperlukan untuk perbedaan dan kompatibilitas API. - Migrasi aplikasi C/C++ ke arsitektur Arm (
ARM_MIGRATION): gunakan dengan aplikasi C/C++ untuk menilai kesiapan dan upaya yang diperlukan untuk bermigrasi dari arsitektur berbasis x86 ke arsitektur berbasis Arm, seperti VM Google Cloud Axion C4A. Penilaian ini berfokus pada identifikasi potensi masalah portabilitas kode, dependensi khusus arsitektur, modifikasi sistem build, dan pertimbangan pengujian yang diperlukan agar transisi ke Arm dariGoogle Cloud atau CSP lain seperti instance Graviton AWS berhasil.
Untuk membuat laporan yang berfokus pada intent, gunakan flag --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 setiap konten 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 mempelajari 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 bahwa 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 teks atau PDF.codmodmendeteksi 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
--contextdan--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", atau "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"
- Flag
from-sectiondalam perintahcreate sectionbersifat 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 sectiondanrevise sectionhanya mendukung format laporanhtml.create section,revise section,list-sectionsmengharapkan flag--from-reportuntuk mengarah ke laporan dalam format HTML.
Memperkirakan 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"
Perkiraan biaya tidak didukung untuk perintah create section dan create custom.
Menetapkan tingkat panjang respons
Panjang respons codmod dikonfigurasi menggunakan
flag --verbosity LEVEL.
Tingkat panjang respons log adalah salah satu dari berikut ini: debug, info,
warn, error, atau none. Nilai defaultnya adalah warn.
Memeriksa dan mengupdate versi codmod CLI
codmod CLI dapat otomatis memeriksa apakah versi yang lebih baru tersedia.
Pemeriksaan otomatis
Setiap 24 jam, CLI akan melakukan polling pada bucket Cloud Storage untuk melihat apakah versi codmod yang lebih baru telah dirilis. Jika versi yang lebih baru ditemukan,
Anda akan melihat pesan notifikasi di terminal.
Pesan tersebut menyertakan nomor versi baru dan link untuk mendownload update.
Proses ini membantu memastikan Anda dapat terus mendapatkan fitur, peningkatan, dan perbaikan bug terbaru.
Menonaktifkan pemeriksaan versi
Jika Anda memilih untuk menonaktifkan pemeriksaan versi otomatis, Anda dapat menggunakan perintah config
set:
codmod config set disable_version_check true
Untuk mengaktifkan kembali pemeriksaan versi, tetapkan kembali nilainya ke false:
codmod config set disable_version_check false
Anda dapat melihat status setelan ini saat ini dan konfigurasi lainnya dengan menjalankan:
codmod config list
Pelengkapan command line
Alat CLI codmod mendukung pelengkapan command line shell untuk Bash, Zsh,
Fish, dan PowerShell. Fitur ini membantu Anda mengetik perintah, flag, dan argumen dengan cepat dengan menekan tombol Tab untuk melihat dan memilih opsi yang tersedia.
Pelengkapan otomatis menawarkan manfaat berikut:
- Perintah dan flag pelengkapan otomatis: mulai ketik perintah atau flag
codmod, lalu tekanTabuntuk melihat kemungkinan pelengkapan. - Menemukan opsi: melihat nilai yang valid untuk flag tertentu. Contoh:
codmod create --modelset [TAB]menyarankan set model yang tersedia (misalnya,2.0-flash,2.5-pro).codmod create --format [TAB]menyarankan format output (misalnya,html,json,markdown).codmod create --intent [TAB]menyarankan intent yang telah ditetapkan.
- Saran berbasis konteks: penyelesaian disesuaikan dengan perintah.
Misalnya:
codmod config set [TAB]menyarankan kunci konfigurasi yang tersedia yang dapat Anda tetapkan.codmod config get [TAB]menyarankan kunci konfigurasi yang tersedia yang bisa Anda dapatkan.- Pelengkapan jalur file hanya ditawarkan untuk flag atau argumen yang
memerlukan jalur file atau direktori (misalnya,
--codebase,--output-path). Flag lain, seperti--project, tidak lagi menyarankan nama file.
Mengaktifkan penyelesaian shell
Sebelum mengaktifkan penyelesaian shell, pastikan perintah codmod berfungsi
dengan menambahkan file yang dapat dieksekusi ke jalur, atau dengan membuat alias.
Untuk memuat penyelesaian untuk shell Anda, jalankan perintah yang sesuai. Petunjuknya bervariasi, bergantung pada shell Anda. Gunakan perintah help untuk mendapatkan petunjuk spesifik:
# For Bash
codmod completion bash --help
# For Zsh
codmod completion zsh --help
# For Fish
codmod completion fish --help
# For PowerShell
codmod completion powershell --help
Misalnya, untuk memuat penyelesaian Bash di Linux, Anda dapat menambahkan kode berikut ke
~/.bashrc:
source <(codmod completion bash)
Pastikan untuk memulai ulang shell atau mengambil sumber profil Anda (misalnya, source
~/.bashrc) agar perubahan diterapkan.
Pemecahan masalah
- Izin ditolak: jika Anda mengalami error "izin ditolak",
pastikan Anda memberikan izin eksekusi ke biner
codmoddengan menjalankan perintahchmod +x codmod. - CLI tampak hang: analisis dapat memerlukan waktu lama, tetapi Anda
biasanya dapat melihat progresnya di status progres di CLI. Jika status progres
tetap 0% setelah 15 menit, pastikan Anda memiliki kuota
yang cukup untuk model yang relevan. Secara default,
codmodmenggunakan modelgemini-3.8-flash. Namun, hal ini dapat berubah karena set model yang berbeda menggunakan model yang berbeda untuk tujuan yang berbeda. Melaporkan error: jika terjadi error yang memerlukan penyelidikan, kumpulkan informasi proses debug untuk membantu tim pengembangan kami. Log memberikan detail penting untuk pemecahan masalah. Jalankan perintah berikut untuk mengumpulkan log, lalu zip 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 dianonimkan secara semu. Data ini ditangani sesuai dengan kebijakan privasi kami Google Cloud Pemberitahuan Privasi. Anda dapat mengubah preferensi 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 di laporan HTML yang dihasilkan, atau kirim email ke codmod-feedback-external@google.com. - Untuk memberikan masukan tentang
codmod, klik tombol Masukan di laporan HTML yang dihasilkan.