Halaman ini menunjukkan cara menggunakan Google Cloud Modernization Hub di konsolGoogle Cloud untuk menilai aplikasi Java perusahaan untuk modernisasi dan containerisasi Linux ke rilis Dukungan Jangka Panjang (LTS) Java lintas platform (seperti Java 17 atau Java 21) di Google Cloud.
Banyak aplikasi Java perusahaan bergantung pada API Java EE lama, konfigurasi server aplikasi eksklusif (seperti WebLogic, WebSphere, atau JBoss), atau library pihak ketiga yang sudah usang yang mencegah deployment langsung ke container Linux. Penilaian otomatis di Modernization Hub menganalisis kode sumber Anda, mengidentifikasi penghambat migrasi, mengevaluasi kompatibilitas dependensi Maven atau Gradle, dan merekomendasikan jalur refaktorisasi untuk Cloud Run atau Google Kubernetes Engine.
Kapan harus menggunakan penilaian aplikasi Java
Jalankan penilaian aplikasi Java saat Anda berencana melakukan salah satu hal berikut:
- Melakukan replatforming ke container Linux: identifikasi dependensi khusus lingkungan (seperti akses sistem file lokal, library JNI, atau API server aplikasi eksklusif) sebelum membuat container aplikasi untuk Cloud Run atau GKE.
- Mengupgrade versi runtime Java: evaluasi upaya dan kesenjangan kompatibilitas saat bermigrasi dari Java 8 atau Java 11 ke rilis LTS Java modern (Java 17 atau Java 21), atau bertransisi dari Java EE (
javax.*) ke Jakarta EE (jakarta.*). - Melepaskan arsitektur monolitik: temukan komponen EJB yang terikat erat, broker pesan JMS, atau deployment WAR dan EAR monolitik yang perlu difaktorkan ulang menjadi microservice berbasis cloud atau aplikasi Spring Boot.
Sebelum memulai
Sebelum memulai tugas penilaian Java di konsol, 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
- Storage Admin (
- Akun layanan khusus (mengeksekusi penampung penilaian):
- Pengguna Agent Platform
(
roles/aiplatform.user) - Storage Object User (
roles/storage.objectUser) atau Storage Admin (roles/storage.admin)
- Pengguna Agent Platform
(
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 yang optimal, mesin penilaian codmod menerapkan panduan penskalaan dan pengarsipan berikut:
- Ukuran codebase maksimum: sekitar enam juta baris kode (LOC) per tugas penilaian. Jika repositori Anda melebihi enam juta LOC, bagi codebase menjadi modul atau layanan yang lebih kecil dan independen sebelum mengupload.
- Struktur arsip yang bersih: Kecualikan biner yang dikompilasi, cache paket, dan
metadata kontrol versi (seperti
target/,build/,bin/,node_modules/, dan.git/) dari file zip Anda sehingga hanya file sumber dan konfigurasi build yang dianalisis.
Menyiapkan dan mengupload arsip sumber Java
Kemasi codebase Java Anda sebagai file zip yang tidak menyertakan output build, lalu upload file tersebut ke bucket Cloud Storage di project Anda.
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
zipCLI:zip -r repository.zip . \ -x "*.git*" "*/target/*" "*/build/*" "*/bin/*" "*/node_modules/*"
Upload file zip ke bucket Cloud Storage target Anda menggunakan Google Cloud CLI:
gcloud storage cp repository.zip \ gs://INPUT_BUCKET/codebase/repository.zipGanti INPUT_BUCKET dengan nama bucket Cloud Storage target Anda.
Menjalankan penilaian
Untuk memulai tugas penilaian di Modernization Hub, ikuti langkah-langkah berikut:
Di konsol, buka halaman Modernization Hub.
Di halaman landing, cari kartu Java Workloads, lalu klik Start assessment.
Di kolom Nama tugas, masukkan nama unik untuk tugas penilaian Anda.
Di kolom Lokasi kode sumber, pilih bucket Cloud Storage yang berisi kode sumber Anda sebagai file ZIP.
Di kolom Lokasi laporan, pilih bucket Cloud Storage untuk menyimpan laporan penilaian yang dihasilkan.
Dari daftar Modernization recipe, pilih resep modernisasi.
Dari daftar Lokasi, pilih region untuk tugas penilaian Anda.
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.
Klik Buat Laporan.
Konsol memulai penampung penilaian latar belakang yang menjalankan mesin
codmoduntuk menganalisis project Anda. Status tugas muncul di tabel Histori penilaian.
Meninjau laporan penilaian
Bergantung pada ukuran codebase Anda, tugas penilaian biasanya selesai dalam beberapa menit. Container latar belakang akan otomatis dihentikan setelah selesai diproses.
Untuk mengakses hasil penilaian Anda:
- Di tabel Histori penilaian di halaman Modernization Hub, cari tugas penilaian Anda.
- Saat kolom Status berubah menjadi Selesai, klik Download Laporan.
- Pilih format output yang Anda inginkan:
- Laporan HTML: Ringkasan interaktif yang memungkinkan Anda memfilter API 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 yang dihasilkan mengategorikan kesiapan migrasi aplikasi Anda ke dalam beberapa area utama:
- Skor kompatibilitas keseluruhan: persentase baris dan dependensi sumber yang dapat dimigrasikan ke runtime Java target tanpa modifikasi.
- Perincian pemblokir: dependensi atau batasan lingkungan Java lama tertentu yang memerlukan refaktorisasi, seperti:
- Perubahan namespace Java EE (
javax.*) ke Jakarta EE (jakarta.*). - Menghapus atau menghentikan penggunaan API internal JDK (seperti paket
sun.misc.*atau modul CORBA). - Konfigurasi atau API server aplikasi berpemilik (seperti deployment descriptor WebLogic, WebSphere, atau JBoss).
- Perubahan namespace Java EE (
- Analisis dependensi: inventaris mendetail dependensi Maven atau Gradle yang ada, yang menunjukkan apakah setiap library mendukung versi runtime Java target atau memerlukan upgrade.
- Tindakan yang direkomendasikan: transformasi kode yang disarankan, resep refaktorisasi yang dibantu AI, dan jalur migrasi yang dihasilkan oleh
codmoduntuk menyiapkan aplikasi Anda agar dapat dikontainerisasi di Google Cloud.
Langkah berikutnya
- Pelajari cara menilai aplikasi .NET.
- Pelajari cara menyiapkan Mainframe Assessment Tool (MAT).
- Jelajahi transformasi kode yang dibantu AI menggunakan Gemini Cloud Assist.