Memigrasikan aplikasi WebSphere ke container dengan Migrate to Containers

Last reviewed 2021-12-22 UTC

Dokumen ini ditujukan untuk pemilik aplikasi dan arsitek cloud yang ingin memigrasikan aplikasi Java yang berjalan di IBM WebSphere Application Server (WAS) ke container yang berjalan di Google Kubernetes Engine (GKE) atau GKE Enterprise. Panduan ini akan memandu Anda melakukan proses migrasi aplikasi tradisional WAS ke container dari lingkungan sumber yang berada di infrastruktur lokal, di lingkungan hosting pribadi, atau di penyedia cloud lainnya. Bagian ini juga menyoroti manfaat menggunakan Migrate to Containers untuk mengotomatiskan migrasi Anda.

Anda harus memiliki pengetahuan WebSphere terlebih dahulu sebelum memigrasikan VM WebSphere ke container dengan Migrate to Container.

Dokumen ini berisi poin-poin penting untuk Anda pertimbangkan saat merencanakan migrasi aplikasi WAS ke container. Ini adalah bagian dari rangkaian multi-bagian tentang migrasi ke Google Cloud. Jika Anda tertarik dengan ringkasan seri ini, lihat Migrasi ke Google Cloud: Memilih jalur migrasi Anda.

Baca dokumen ini jika Anda berencana memigrasikan aplikasi tradisional WAS yang menjalankan WAS kompatibel di sistem operasi yang kompatibel, seperti Linux, dari lingkungan sumber yang didukung ke lingkungan GKE atau GKE Enterprise dengan Migrate to Containers. Lingkungan sumber ini dapat mencakup hal berikut:

Migrate to Containers mengotomatiskan penggunaan Alat Migrasi IBM untuk Biner Aplikasi untuk menemukan, memeriksa, dan memigrasikan semua aplikasi tradisional WAS di mesin virtual tradisional WAS Anda. Kemudian, aplikasi tradisional WAS tersebut dibagi menjadi container tradisional masing-masing container tradisional WebSphere.

Migrate to Containers menemukan, memeriksa, memigrasikan, dan memisahkan semua aplikasi tradisional WAS ke dalam masing-masing container WebSphere.

Migrasi aplikasi tradisional WAS menggunakan Migrate to Containers hanya memerlukan sedikit jejak (minimal RAM 1 GB dan ukuran gambar 2 GB) dan pengurangan biaya lisensi (diskon untuk langganan Deployment Jaringan WAS hingga 70%).

Dengan memigrasikan aplikasi tradisional WAS dengan Migrate to Containers Anda akan mendapatkan manfaat dari beberapa aspek lingkungan dalam container. Terdapat pengurangan biaya lisensi yang telah dibahas sebelumnya. Terdapat juga kemampuan untuk modernisasi lebih lanjut yang siap menghadapi masa depan ke dalam framework cloud bawaan dengan membuat WAS Liberty atau Open Liberty containers untuk aplikasi Anda.

WAS Liberty adalah runtime produksi yang ringan untuk pengembangan dan deployment aplikasi berbasis web serta cloud yang cepat. Library ini dibuat di project open source Open Liberty. Perusahaan menggunakan WAS Liberty dan Open Liberty untuk membuat microservice Java berbasis cloud.

Bermigrasi ke GKE Enterprise atau GKE akan mengalihkan fungsi Pengelola Deployment Jaringan WAS ke produk berikut:

Diagram berikut menunjukkan cara GKE atau GKE Enterprise mengelola fungsionalitas terpusat (misalnya, ketersediaan tinggi, penempatan workload, dan konfigurasi terpusat) yang sebelumnya dikelola oleh Deployment Jaringan WAS. Konfigurasi khusus aplikasi dikelola pada waktu build image Docker. Menggunakan konfigurasi berbasis image Docker memungkinkan pengulangan dan otomatisasi melalui proses CI/CD.

Bermigrasi akan mengalihkan fungsi Network Deployment Manager WAS ke Kubernetes, Anthos Service Mesh, Config Sync, dan Google Cloud Operations Lingkungan WAS Network Deployment dan lingkungan WAS Base dapat bermigrasi ke container WAS Liberty atau Open Liberty,

Memigrasikan aplikasi tradisional WAS ke container dengan Migrate to Containers adalah salah satu langkah yang memungkinkan dalam perjalanan modernisasi workload Anda. Bermigrasi membantu Anda mengubah aplikasi agar berjalan di lingkungan cloud dan menghindari penulisan ulang yang mahal yang diperlukan untuk modernisasi aplikasi tradisional WAS.

Kandidat migrasi yang ideal adalah aplikasi yang berjalan di WebSphere Network Deployment, WebSphere Base, atau versi Java yang didukung. Modernisasi melalui penulisan ulang lengkap terlalu mahal—dalam hal resource—atau tidak mungkin di semuanya. Pelajari tentang kandidat migrasi yang ideal lebih lanjut, lihat Memigrasikan VM ke container dengan Migrate to Containers.

Mendesain migrasi ke Google Cloud

Untuk memigrasikan aplikasi tradisional WAS dari lingkungan sumber Anda ke container yang berjalan di Google Cloud, ikuti framework yang dijelaskan dalam seri Migrasi ke Google Cloud.

Diagram berikut menggambarkan jalur perjalanan migrasi Anda:

Jalur migrasi dengan empat fase.

Kerangka kerja yang diilustrasikan dalam diagram sebelumnya memiliki empat fase:

  1. Menilai: Pada fase ini, Anda menilai lingkungan sumber, menilai aplikasi yang ingin dimigrasikan ke Google Cloud, dan menilai aplikasi tradisional WAS yang cocok untuk migrasi.
  2. Merencanakan: Pada fase ini, Anda membuat infrastruktur dasar untuk Migrate to Containers, seperti menyediakan hierarki resource dan menyiapkan akses jaringan.
  3. Deploy: Pada fase ini, Anda akan memigrasikan aplikasi tradisional WAS dari lingkungan sumber ke GKE atau GKE Enterprise dengan Migrate to Containers.
  4. Mengoptimalkan: Pada fase ini, Anda mulai memanfaatkan teknologi dan kemampuan cloud.

Menilai lingkungan sumber dan aplikasi

Pada fase penilaian, Anda mengumpulkan informasi tentang lingkungan sumber dan aplikasi yang ingin Anda migrasikan. Hal ini membantu Anda menyesuaikan ukuran resource yang dibutuhkan—untuk migrasi dan lingkungan target Anda.

Pada tahap penilaian, Anda:

  1. Buat inventaris aplikasi Anda yang komprehensif.
  2. Buat katalog aplikasi Anda sesuai dengan properti dan dependensinya.
  3. Latih dan ajari tim Anda di Google Cloud.
  4. Buat eksperimen dan bukti konsep di Google Cloud.
  5. Hitung total biaya kepemilikan (TCO) lingkungan target.
  6. Pilih aplikasi yang ingin Anda migrasikan terlebih dahulu.

Bagian berikut bergantung pada Migrasi ke Google Cloud: Menilai dan menemukan workload Anda. Namun, tabel tersebut memberikan informasi khusus untuk menilai aplikasi tradisional WAS yang ingin Anda migrasikan ke container dengan Migrate to Containers.

Membangun inventaris Anda

Untuk menentukan cakupan migrasi, Anda harus memahami lingkungan tradisional WAS Anda. Untuk memahami lingkungan Anda, kumpulkan informasi tentang aplikasi Anda dan dependensinya.

Membuat inventaris aplikasi Anda menjelaskan cara mem-build inventaris workload di lingkungan tradisional WAS dan dependensinya. Ikuti panduannya dan buat inventaris-inventaris Anda. Setelah Anda menyelesaikannya lanjut dengan membaca dokumen ini.

Setelah mem-build inventaris workload dan dependensinya Anda dapat meningkatkan kualitas inventaris tersebut. Lakukan penilaian aspek dan fitur yang menarik organisasi Anda ketika memigrasikan aplikasi tradisional WAS-nya dengan Migrate to Containers.

Sebelum menilai lingkungan WAS anda untuk migrasi, selesaikan tugas penilaian dalam Memigrasikan VM ke container dengan Migrate to Containers dan Migrasi ke Google Cloud: Menilai dan menemukan workload Anda. Setelah Anda menyelesaikannya, selesaikan inventaris workload Anda.

Untuk menyelesaikan inventaris workload Anda, pertimbangkan hal berikut:

  • Sistem operasi yang berjalan di VM WAS: Kumpulkan informasi tentang sistem operasi dan lisensinya yang berjalan di VM WAS anda, dan pastikan sistem operasi Linux 64-bit yang terdaftar di Sistem operasi dan versi kubernetes yang kompatibel.
  • Versi WAS yang menjalankan aplikasi Anda: Kumpulkan informasi tentang versi WAS yang menjalankan aplikasi dan memastikan kompatibilitas dengan Migrate to Containers. Migrate to Containers mendukung migrasi aplikasi WAS tradisional (WebSphere Application Server tradisional 8.5.5.x, dan WebSphere Application Server versi 9.0.5.) untuk kedua lingkungan basis WAS dan WAS Network Deployment.

  • Aplikasi yang di-deploy di WAS Anda: Menilai aplikasi yang di-deploy di setiap WAS. Kemudian petakan dependensi antara aplikasi Anda, dan antara aplikasi Anda dengan layanan eksternal. Selanjutnya, kumpulkan informasi tentang source konfigurasi aplikasi Anda. Misalnya, apakah Anda menggunakan:

    • Variabel lingkungan
    • Jalur penginstalan WAS non-standar
    • Registry pengguna LDAP
    • Pemetaan peran keamanan
    • Modifikasi untuk menerapkan kelas pada urutan loader
  • Skor kecocokan Migrate to Containers:Menilai apakah aplikasi tradisional WAS Anda sesuai untuk dimigrasikan dengan Migrate to Containers. Migrate to Containers menyediakan alat penilaian kesesuaian yang dapat Anda jalankan aplikasi tradisional WAS Anda untuk menghitung skor kesesuaian. Migrate to Containers memiliki serangkaian persyaratan minimal agar berhasil memigrasikan aplikasi tradisional WAS. Contoh ini juga memiliki beberapa keterbatasan saat mengotomatiskan migrasi aplikasi tradisional WAS. Anda dapat mengatasi batasan ini dengan mengonfigurasi aplikasi secara manual saat memigrasikannya.

  • Autentikasi: WAS menyediakan beberapa mekanisme autentikasi seperti Mekanisme Autentikasi WebSphere Sederhana (SWAM), Autentikasi Pihak Ketiga Ringan (LTPA), dan Kerberos. Anda hanya dapat mengonfigurasi satu penerapan registry pengguna sebagai registry pengguna aktif untuk domain keamanan WAS. Migrate to Containers tidak memigrasikan detail autentikasi secara otomatis. Artinya, mengonfigurasi autentikasi biasanya memerlukan beberapa konfigurasi manual selama migrasi.

  • Akses Data (JDBC): Arsitektur konektor J2EE menentukan adaptor resource standar yang menghubungkan WAS ke sistem informasi perusahaan. Adaptor menyediakan konektivitas antara sistem informasi perusahaan, server aplikasi, dan aplikasi. Migrate to Containers akan otomatis memigrasikan konfigurasi JDBC ke container WAS yang telah dimodernisasi. Pastikan Anda telah mengaktifkan konektivitas antara aplikasi yang dimigrasikan dan penyimpanan data yang ada.

  • Messaging (JMS): WAS mendukung komunikasi asinkron melalui antarmuka pemrograman Java Messaging Service (JMS). Migrate to Containers akan otomatis memigrasikan informasi konfigurasi JMS. Namun, beberapa tugas migrasi manual diperlukan untuk konfigurasi tertentu, seperti SSL.

  • Email: WAS mendukung pengiriman email melalui JavaMail API. Migrate to Containers tidak secara otomatis memigrasikan file konfigurasi JavaMail. Selama fase migrasi, konfigurasi file ini dilakukan secara otomatis.

Selesaikan penilaian

Setelah membuat inventaris yang terkait dengan lingkungan dan workload tradisional WAS Anda, selesaikan aktivitas penilaian selanjutnya yang didokumentasikan dalam Migrasi ke Google Cloud: Menilai dan menemukan workload Anda. Setelah Anda menyelesaikannya lanjut dengan membaca dokumen ini.

Merencanakan dan membangun fondasi Anda

Setelah mengikuti panduan dalam Merencanakan dan membangun fondasi saat memigrasikan VM, selesaikan fondasi WAS Anda:

  1. Konfirmasi nama bucket Cloud Storage.
  2. Upload file binaryAppScanner.jar yang tersedia sebagai bagian dari Server WebSphere IBM Alat Migrasi untuk Biner Aplikasi dengan mengikuti langkah-langkah berikut:

    1. Download binaryAppScannerInstaller.jar file pemasang. Anda harus menyetujui perjanjian lisensi sebagai bagian dari download.
    2. Jalankan perintah berikut untuk mengekstrak file binaryAppScanner.jar dan menyetujui Perjanjian Lisensi.

      java -jar binaryAppScannerInstaller.jar --acceptLicense --verbose
      
    3. Tentukan direktori target untuk ekstraksi—misalnya, /tmp. Penginstal membuat direktori bernama /wamt dalam direktori target.

    4. Buka direktori /wamt—misalnya:

      cd /tmp/wamt
      
    5. Upload file binaryAppScanner.jar ke root bucket Cloud Storage:

      gsutil cp binaryAppScanner.jar gs://BUCKET_NAME
      

      Dengan BUCKET_NAME adalah nama bucket Cloud Storage Anda.

Menyiapkan Migrate to Containersmenjelaskan cara menyediakan dan mengonfigurasi Migrate to Containers dan dependensinya. Ikuti panduan tersebut untuk menyiapkan Migrate to Containers.

Setelah Anda menyelesaikannya lanjut dengan membaca dokumen ini.

Memigrasi aplikasi tradisional WAS Anda ke container

Untuk mempelajari lebih lanjut tentang fase deployment migrasi, ikuti panduan dalam Memigrasikan VM Anda ke container.

Membuat dan meninjau rencana migrasi

Membuat rencana migrasi Migrate to Containers untuk aplikasi tradisional WAS Anda:

  1. Konfigurasi lingkungan sumber sebagai sumber migrasi Migrate to Containers: Untuk memigrasikan aplikasi tradisional WAS Anda, Migrate to Containers memerlukan informasi tentang lingkungan sumber tempat VM Anda berjalan. Anda mengumpulkan informasi tersebut dengan melakukan tugas yang dijelaskan di bagian Membuat inventaris dalam dokumen ini. Untuk informasi selengkapnya tentang mengonfigurasi lingkungan sumber, lihat Menambahkan sumber migrasi.
  2. Membuat rencana migrasi: Untuk menentukan aplikasi tradisional WAS yang ingin Anda migrasikan dari lingkungan sumber ke lingkungan target yang didukung, buat rencana migrasi—misalnya, Anda dapat mengonfigurasi tempat yang Anda inginkan untuk menyimpan data persisten.

    Untuk informasi selengkapnya tentang membuat dan memantau rencana migrasi, lihat Membuat migrasi.

    Untuk melakukan migrasi, Anda harus menggunakan command line. Anda tidak dapat menggunakan konsol Google Cloud. Perintah lengkapnya adalah sebagai berikut:

    migctl migration create my-migration
      --source my-was-src
      --vm-id PROJECT_ID
      --intent Image
      --os-type Linux
      --app-type websphere-traditional
    

    Dengan PROJECT_ID adalah ID yang ditetapkan untuk project migrasi Anda, dan Image adalah nilai untuk intent flag. Anda menggunakan 'Image' karena workload yang bersifat stateless.

  3. Meninjau dan menyesuaikan rencana migrasi: Setelah membuat rencana migrasi untuk setiap VM yang ingin dimigrasikan, tinjau dan sesuaikan setiap rencana untuk memastikannya sesuai dengan kebutuhan Anda. Untuk informasi selengkapnya tentang menyesuaikan rencana migrasi, lihat Menyesuaikan rencana migrasi.

Membuat artefak migrasi dan deployment descriptor

Untuk membuat artefak WAS target untuk aplikasi Anda, Migrate to Containers akan mengekstrak aplikasi yang berjalan di VM yang dikonfigurasi dalam rencana migrasi. Langkah ini kemudian membuat beberapa artefak dan menempatkannya di bucket Cloud Storage. Migrate to Containers juga menghasilkan deployment descriptor yang dapat Anda sesuaikan dan gunakan untuk men-deploy instance image container di lingkungan target.

Untuk setiap aplikasi yang dimigrasikan, Migrate to Containers akan membuat folder yang berisi konteks Docker, biner aplikasi, skrip build, dan skrip konfigurasi WAS.

Anda dapat memantau progres artefak container yang Anda buat dan migrasikan. Untuk informasi selengkapnya tentang pemantauan migrasi, lihat Memantau workload yang dimigrasikan.

Memverifikasi dan memvalidasi resource dan deskripsi yang dihasilkan

Setelah Anda membuat artefak container dan deployment descriptor dengan Migrate to Containers, tinjau serta update artefak dan deskripsi tersebut untuk memastikan bahwa artefak dan deskripsi tersebut memenuhi persyaratan Anda—misalnya, pertimbangkan aspek berikut:

  • Deskriptor image container: Tinjau deskriptor image container yang Anda buat dengan MIgrate to Containers dan pastikan deskripsi tersebut memadai untuk workload container. Jika Anda perlu meng-update deskriptor image container, lihat Mem-build image aplikasi. Anda dapat menambah properti, dan men-instal iFixes.
  • Logging tingkat aplikasi: Migrate to Containers secara otomatis menulis log WAS dalam format JSON. Untuk beralih ke logging dasar, lihat Konfigurasi logging

Untuk informasi lebih lanjut tentang meninjau artefak container dan deskriptor deployment, lihat Meninjau file deployment yang dihasilkan.

Men-deploy dan memvalidasi workload dalam container ke GKE atau GKE Enterprise

Saat deskriptor deployment untuk workload sudah siap, Anda:

  1. Build image container aplikasi: Build image container aplikasi untuk workload yang dimigrasikan di folder artefak aplikasi yang ingin Anda build:

    bash ./build.sh
    
  2. Deploy aplikasi yang dimigrasikan di lingkungan target: Deploy aplikasi yang dimigrasikan:

    kubectl apply -f deployment_spec.yaml
    
  3. Memantau workload yang dimigrasikan: Setelah men-deploy container aplikasi tradisional WAS, Anda dapat mengumpulkan informasi tentang performanya di lingkungan target. Untuk informasi selengkapnya, lihat Memantau workload yang dimigrasikan.

  4. Integrasikan workload yang dimigrasikan: Setelah workload yang Anda deploy di lingkungan target berfungsi, integrasikan proses pembuatan artefak container dan proses deployment workload dengan proses deployment dan pipeline Anda. Jika saat ini Anda tidak menerapkan proses deployment otomatis dan men-deploy workload Anda secara manual, sebaiknya lakukan migrasi dari deployment manual ke deployment otomatis.

Meng-uninstal Migrate to Containers

Setelah menyelesaikan migrasi workload dengan Migrate to Containers, sebaiknya Anda:

  1. Memastikan Anda memiliki semua referensi ke artefak yang dihasilkan oleh Migrate to Containers selama migrasi.
  2. Uninstal Migrate to Containers.

Setelah selesai melakukan pekerjaan yang dijelaskan pada bagian ini, lalu kembali ke dokumen ini.

Mengoptimalkan lingkungan Anda setelah Anda bermigrasi

Untuk menyelesaikan migrasi Anda, lihat panduan di bagian Mengoptimalkan lingkungan Anda setelah migrasi.

Anda dapat melakukan pengoptimalan khusus WAS ini untuk aplikasi tradisional WAS yang dimigrasikan:

  • Mengeksternalkan konfigurasi Anda: Saat Anda mem-build container WAS tradisional, mungkin terdapat perubahan konfigurasi antarlingkungan. Agar tidak mem-build ulang container untuk setiap lingkungan, sebaiknya eksternalkan konfigurasi WAS ke dalam properti dan gunakan ConfigMaps untuk menetapkan properti tersebut saat container sistem dimulai.
  • Mengamankan data sensitif Anda: Sandi dan data sensitif lainnya harus dimasukkan dalam Kubernetes Secrets. Menggunakan secret Kubernetes untuk mengganti placeholder konfigurasi saat container dimulai.

Langkah selanjutnya