Kontainerisasi dan migrasi aplikasi Java ke Azure App Service

Perhatian

Artikel ini mereferensikan CentOS, distribusi Linux yang mendekati status End Of Life (EOL). Harap pertimbangkan penggunaan dan perencanaan Anda yang sesuai. Untuk informasi selengkapnya, lihat panduan Akhir Masa Pakai CentOS.

Dalam artikel ini, Anda akan mempelajari cara mengkontainerisasi aplikasi web Java (berjalan di Apache Tomcat) dan memigrasikannya ke Azure App Service menggunakan Azure Migrate: Alat Kontainerisasi Aplikasi. Proses penampungan tidak memerlukan akses ke basis kode Anda dan menyediakan cara mudah untuk menampung aplikasi yang ada. Alat ini bekerja dengan menggunakan status aplikasi yang berjalan di server untuk menentukan komponen aplikasi dan membantu Anda mengemasnya dalam image kontainer. Aplikasi dalam kontainer dapat disebarkan di Azure App Service.

Azure Migrate: Alat Kontainerisasi Aplikasi saat ini mendukung:

  • Mengontainerisasi Aplikasi Web Java di Apache Tomcat (pada server Linux) dan menyebarkannya di kontainer Linux pada App Service.
  • Menampung Java Web Apps di Apache Tomcat (di server Linux) dan menyebarkannya di kontainer Linux di AKS. Pelajari selengkapnya.
  • Mengkontainerisasi aplikasi ASP.NET dan menyebarkannya pada kontainer Windows di AKS. Pelajari selengkapnya.
  • Menampung aplikasi ASP.NET dan menyebarkannya di kontainer Windows di App Service. Pelajari selengkapnya.

Azure Migrate: Alat Kontainerisasi Aplikasi membantu Anda untuk:

  • Menemukan aplikasi Anda: Alat ini terhubung dari jarak jauh ke server aplikasi yang menjalankan aplikasi web Java Anda (berjalan di Apache Tomcat) dan menemukan komponen aplikasi. Alat ini membuat Dockerfile yang dapat digunakan guna membuat gambar kontainer untuk aplikasi.
  • Membangun image kontainer: Anda dapat memeriksa dan menyesuaikan Dockerfile lebih lanjut sesuai persyaratan aplikasi Anda dan menggunakannya untuk membangun image kontainer aplikasi Anda. Image kontainer aplikasi didorong ke Azure Container Registry yang Anda tentukan.
  • Menyebarkan ke Azure App Service: Alat ini kemudian menghasilkan file penyebaran yang diperlukan untuk menyebarkan aplikasi dalam kontainer ke Azure App Service.

Catatan

Azure Migrate: alat Penampungan Aplikasi membantu Anda menemukan jenis aplikasi tertentu (aplikasi web ASP.NET dan Java di Apache Tomcat) dan komponennya di server aplikasi. Untuk menemukan server dan inventaris aplikasi, peran, dan fitur yang berjalan di komputer lokal, gunakan Azure Migrate: Kemampuan penemuan dan penilaian. Pelajari selengkapnya.

Meskipun semua aplikasi tidak akan mendapat manfaat dari perpindahan langsung ke kontainer tanpa perancangan ulang yang signifikan, beberapa manfaat memindahkan aplikasi yang ada ke kontainer tanpa menulis ulang meliputi:

  • Pemanfaatan infrastruktur yang ditingkatkan: Dengan kontainer, beberapa aplikasi dapat berbagi sumber daya dan dihost di infrastruktur yang sama. Hal ini dapat membantu Anda mengonsolidasikan infrastruktur dan meningkatkan pemanfaatan.
  • Manajemen yang disederhanakan: Dengan menghosting aplikasi Anda di platform terkelola modern seperti AKS dan App Service, praktik manajemen Anda dapat disederhanakan. Anda dapat mencapainya dengan menghentikan atau mengurangi proses pemeliharaan dan manajemen infrastruktur yang biasanya Anda lakukan dengan infrastruktur yang dimiliki.
  • Portabilitas aplikasi: Dengan peningkatan adopsi dan standardisasi format dan platform spesifikasi kontainer, portabilitas aplikasi tidak lagi menjadi perhatian.
  • Mengadopsi manajemen modern dengan DevOps: Membantu Anda mengadopsi dan menstandarkan praktik modern untuk manajemen dan keamanan serta transisi ke DevOps.

Dalam tutorial ini, Anda akan mempelajari cara:

  • Menyiapkan akun Azure.
  • Menginstal Azure Migrate: alat Penampungan Aplikasi.
  • Temukan aplikasi web Java Anda.
  • Build image kontainer.
  • Menyebarkan aplikasi dalam kontainer di App Service.

Catatan

Tutorial menunjukkan kepada Anda jalur penyebaran paling sederhana untuk sebuah skenario sehingga Anda dapat dengan cepat menyiapkan bukti konsep. Tutorial menggunakan opsi default jika memungkinkan, dan tidak menampilkan semua kemungkinan pengaturan dan jalur.

Prasyarat

Sebelum memulai tutorial ini, Anda harus:

Persyaratan Rincian
Mengidentifikasi komputer untuk menginstal alat Anda membutuhkan komputer Windows untuk menginstal dan menjalankan Azure Migrate: Alat Kontainerisasi Aplikasi. Komputer Windows dapat berupa server dengan sistem operasi (Windows Server 2016 atau yang lebih baru) atau klien (Windows 10), yang berarti bahwa alat tersebut dapat berjalan di desktop atau laptop Anda juga.

Komputer Windows yang menjalankan alat tersebut harus memiliki konektivitas jaringan ke server/komputer virtual yang menghosting aplikasi web Java untuk dikontainerisasi.

Pastikan terdapat ruang 6 GB yang tersedia di komputer Windows untuk menjalankan Azure Migrate: Alat Kontainerisasi Aplikasi untuk menyimpan artefak aplikasi.

Mesin Windows harus memiliki akses internet, langsung atau melalui proxy.
Server aplikasi Aktifkan koneksi Secure Shell (SSH) pada port 22 pada server yang menjalankan aplikasi Java untuk di-kontainer.
Aplikasi web Java Alat ini saat ini mendukung:

- Aplikasi yang berjalan di Tomcat 8 atau Tomcat 9.
- Server aplikasi di Linux Ubuntu 16.04/18.04/20.04, Debian 7/8, CentOS 6/7, Red Hat Enterprise Linux 5/6/7.
- Aplikasi yang menggunakan Java 7 atau Java 8.
Jika Anda memiliki versi di luar ini, temukan gambar yang mendukung versi yang diperlukan dan ubah dockerfile untuk mengganti gambar

Alat ini saat ini tidak mendukung:

- Server aplikasi yang menjalankan beberapa instans Tomcat

Menyiapkan akun pengguna Azure

Jika Anda tidak memiliki langganan Azure, buat akun gratis sebelum Anda memulai.

Setelah langganan disiapkan, Anda akan memerlukan akun pengguna Azure dengan:

  • Izin pemilik pada langganan Azure.
  • Izin untuk mendaftarkan aplikasi Microsoft Entra.

Jika Anda baru saja membuat akun Azure gratis, Anda adalah pemilik langganan Anda. Jika Anda bukan pemilik langganan, bekerja samalah dengan pemilik untuk menetapkan izin sebagai berikut:

  1. Di portal Microsoft Azure, cari "langganan", dan di bagian Layanan, pilih Langganan.

    Kotak pencarian untuk mencari langganan Azure.

  2. Di halaman Langganan, pilih langganan tempat Anda ingin membuat proyek Azure Migrate.

  3. Dalam langganan, pilih Kontrol akses (IAM)>Periksa akses.

  4. Di Periksa akses, telusuri akun pengguna yang relevan.

  5. Di Tambahkan penetapan peran, klik Tambahkan.

    Cari akun pengguna untuk memeriksa akses dan menetapkan peran.

  6. Di Tambahkan penetapan peran, pilih peran Pemilik, dan pilih akun (azmigrateuser dalam contoh kami). Klik Simpan.

    Buka halaman Tambahkan penetapan peran untuk menetapkan peran ke akun.

Akun Azure Anda juga memerlukan izin untuk mendaftarkan aplikasi Microsoft Entra. 8. Di portal Azure, navigasikan ke pengguna Microsoft Entra ID>Pengguna>Pengaturan. 9. Dalam Pengaturan pengguna, verifikasi apakah pengguna Microsoft Entra dapat mendaftarkan aplikasi (diatur ke Ya secara default).

Pastikan pengguna dapat mendaftarkan aplikasi Active Directory di Pengaturan Pengguna.

  1. Jika pengaturan 'Pendaftaran aplikasi' diatur ke 'Tidak', minta admin penyewa/global untuk menetapkan izin yang diperlukan. Secara bergantian, admin penyewa/global dapat menetapkan peran Pengembang Aplikasi ke akun untuk memungkinkan pendaftaran Aplikasi Microsoft Entra. Pelajari selengkapnya.

Mengunduh dan menginstal Azure Migrate: alat Penampungan Aplikasi

  1. Unduh Azure Migrate: Alat penginstal Kontainerisasi Aplikasi di komputer Windows.

  2. Jalankan PowerShell dalam mode administrator dan ubah direktori PowerShell ke folder yang berisi alat penginstal.

  3. Menjalankan skrip penginstalan menggunakan perintah

    .\AppContainerizationInstaller.ps1
    

Catatan

Untuk Windows Server 2022, edit baris 135 dan hapus PowerShell-ISE dari daftar fitur, karena tidak lagi didukung.

Menjalankan alat Kontainerisasi Aplikasi

  1. Buka browser di komputer apa pun yang dapat terhubung ke komputer Windows yang menjalankan alat Kontainerisasi Aplikasi dan buka URL alat: https:// machine name atau alamat IP: 44369.

    Sebagai alternatif, Anda dapat membuka aplikasi dari desktop dengan memilih pintasan aplikasi.

  2. Jika Anda melihat peringatan yang menyatakan bahwa koneksi Anda tidak privat, klik Tingkat Lanjut dan pilih untuk melanjutkan ke situs web. Peringatan ini muncul saat antarmuka web menggunakan sertifikat TLS/SSL yang ditandatangani sendiri.

  3. Di layar masuk, gunakan akun administrator lokal pada komputer untuk masuk.

  4. Pilih aplikasi web Java di Tomcat sebagai jenis aplikasi yang ingin Anda kontainerisasi.

  5. Untuk menentukan target layanan Azure, pilih Kontainer di Azure App Service. Pemuatan default untuk alat Kontainerisasi Aplikasi.

Prasyarat alat lengkap

  1. Terima persyaratan lisensi dan baca informasi pihak ketiga.
  2. Di aplikasi >web alat Siapkan prasyarat, lakukan langkah-langkah berikut:
    • Konektivitas: Alat ini memeriksa apakah komputer Windows memiliki akses internet. Jika komputer menggunakan proksi:
      • Klik Siapkan proksi untuk menentukan alamat proksi (dalam alamat IP formulir atau FQDN) dan port mendengarkan.
      • Tentukan kredensial jika proksi memerlukan autentikasi.
      • Hanya proksi HTTP yang didukung.
      • Jika Anda telah menambahkan detail proksi atau menonaktifkan proksi dan/atau autentikasi, klik Simpan untuk memicu pemeriksaan konektivitas lagi.
    • Instal pembaruan: Alat ini akan secara otomatis memeriksa pembaruan terbaru dan menginstalnya. Anda juga dapat menginstal alat versi terbaru secara manual dari sini.
    • Aktifkan Secure Shell (SSH): Alat ini akan memberi tahu Anda untuk memastikan bahwa Secure Shell (SSH) diaktifkan pada server aplikasi yang menjalankan aplikasi web Java untuk dikontainerisasi.

Masuk ke Azure

Klik Masuk untuk masuk ke akun Azure Anda.

  1. Anda memerlukan kode perangkat untuk mengautentikasi dengan Azure. Mengklik Masuk akan membuka modal dengan kode perangkat.

  2. Klik Salin kode & masuk untuk menyalin kode perangkat dan membuka perintah masuk Azure di tab browser baru. Jika tidak muncul, pastikan Anda telah menonaktifkan pemblokir pop-up di browser.

    Modal menunjukkan kode perangkat.

  3. Pada {i>tabbrowserweb

  4. Pilih penyewa Azure yang ingin Anda gunakan.

  5. Tentukan langganan Azure yang ingin Anda gunakan.

Menemukan aplikasi web Java

Alat pembantu Kontainerisasi Aplikasi terhubung dari jarak jauh ke server aplikasi menggunakan kredensial yang disediakan dan berupaya untuk menemukan aplikasi web Java (berjalan di Apache Tomcat) yang dihosting di server aplikasi.

  1. Tentukan alamat IP/FQDN dan kredensial server yang menjalankan aplikasi web Java yang harus digunakan untuk menghubungkan ke server dari jarak jauh untuk penemuan aplikasi.

    • Kredensial yang diberikan harus untuk akun root (Linux) di server aplikasi.
    • Untuk akun domain (pengguna harus menjadi administrator di server aplikasi), awali nama pengguna dengan nama domain dalam format <domain\nama> pengguna.
    • Anda dapat menjalankan penemuan aplikasi hingga lima server sekaligus.
  2. Klik Validasi untuk memverifikasi bahwa server aplikasi dapat dijangkau dari komputer yang menjalankan alat dan kredensialnya valid. Setelah validasi berhasil, kolom status akan menampilkan status sebagai Dipetakan.

    Cuplikan layar IP server dan kredensial.

  3. Klik Lanjutkan untuk memulai penemuan aplikasi di server aplikasi yang dipilih.

  4. Setelah berhasil menyelesaikan penemuan aplikasi, Anda dapat memilih daftar aplikasi yang akan ditampung.

    Cuplikan layar untuk aplikasi web Java yang ditemukan.

  5. Gunakan kotak centang untuk memilih aplikasi yang akan ditampung.

  6. Menentukan nama kontainer: Tentukan nama untuk kontainer target di setiap aplikasi yang dipilih. Nama kontainer harus ditetapkan sebagai <name:tag> tempat tag digunakan untuk gambar kontainer. Misalnya, Anda dapat menentukan nama kontainer target sebagai appname:v1.

Membuat parameter konfigurasi aplikasi

Membuat parameter konfigurasi membuatnya tersedia sebagai parameter waktu penyebaran. Hal ini memungkinkan Anda mengonfigurasi pengaturan ini saat menyebarkan aplikasi, bukan membuatnya dikodekan secara permanen ke nilai tertentu dalam image kontainer. Misalnya, opsi ini berguna untuk parameter seperti string koneksi database.

  1. Klik Konfigurasi aplikasi untuk meninjau konfigurasi yang terdeteksi.

  2. Pilih kotak centang untuk membuat parameter konfigurasi aplikasi yang terdeteksi.

  3. Klik Terapkan setelah memilih konfigurasi yang akan dibuat parameternya.

    Cuplikan layar untuk aplikasi parameterisasi konfigurasi aplikasi Java.

Eksternalisasi dependensi sistem file

Anda dapat menambahkan folder lain yang digunakan aplikasi Anda. Tentukan apakah folder tersebut harus menjadi bagian dari gambar kontainer atau akan dieksternalisasi melalui berbagi {i>filefile

  1. Klik Edit di bagian Folder Aplikasi untuk meninjau folder aplikasi yang terdeteksi. Folder aplikasi yang terdeteksi telah diidentifikasi sebagai artefak wajib yang diperlukan oleh aplikasi dan akan disalin ke dalam image kontainer.

  2. Klik Tambahkan folder dan tentukan jalur folder yang akan ditambahkan.

  3. Untuk menambahkan beberapa folder ke volume yang sama, berikan nilai yang dipisahkan koma (,).

  4. Pilih Berbagi file Azure sebagai opsi penyimpanan jika Anda ingin folder disimpan di luar kontainer pada penyimpanan persisten.

  5. Klik Simpan setelah meninjau folder aplikasi. Cuplikan layar untuk pemilihan penyimpanan volume aplikasi.

  6. Klik Lanjutkan untuk melanjutkan ke fase build image kontainer.

Menyusun gambar kontainer

  1. Memilih Azure Container Registry: Gunakan menu drop-down untuk memilih Azure Container Registry yang akan digunakan untuk membuat dan menyimpan image kontainer untuk aplikasi. Anda dapat menggunakan Azure Container Registry yang ada atau memilih untuk membuat yang baru menggunakan opsi Buat registri baru.

    Cuplikan layar untuk pemilihan ACR aplikasi.

Catatan

Hanya registri kontainer Azure dengan pengguna admin yang diaktifkan yang ditampilkan. Akun admin saat ini diperlukan untuk menyebarkan gambar dari registri kontainer Azure ke Azure App Service. Pelajari selengkapnya.

  1. Meninjau Dockerfile: Dockerfile diperlukan guna membuat image kontainer untuk setiap aplikasi yang dipilih dibuat di awal langkah build. Klik Tinjau untuk meninjau Dockerfile. Anda juga dapat menambahkan penyesuaian yang diperlukan di Dockerfile di langkah peninjauan dan menyimpan perubahan sebelum memulai proses build.

  2. Mengonfigurasi Application Insights: Anda dapat mengaktifkan pemantauan untuk aplikasi Java yang berjalan di App Service tanpa melengkapi kode Anda. Alat ini akan memasang agen mandiri Java sebagai bagian dari gambar kontainer. Setelah dikonfigurasi selama penyebaran, agen Java akan secara otomatis mengumpulkan banyak permintaan, dependensi, log, dan metrik untuk aplikasi Anda yang dapat digunakan untuk pemantauan dengan Application Insights. Opsi ini diaktifkan secara default untuk semua aplikasi Java.

  3. Memicu proses build: Pilih aplikasi untuk membuat image dan klik Build. Mengklik Buat akan memulai pembuatan gambar kontainer untuk setiap aplikasi. Alat ini terus memantau status build secara terus-menerus dan akan mengizinkan Anda melanjutkan ke langkah berikutnya setelah berhasil menyelesaikan build.

  4. Melacak status build: Anda juga dapat memantau kemajuan langkah build dengan mengklik tautan Build in Progress di bawah kolom Status build. Tautan ini membutuhkan waktu beberapa menit untuk aktif setelah Anda memicu proses build.

  5. Setelah build selesai, klik Lanjutkan untuk menentukan pengaturan penyebaran.

    Cuplikan layar untuk penyelesaian build image kontainer aplikasi.

Menyebarkan aplikasi yang dikontainerisasi di Azure App Service

Setelah gambar kontainer dibangun, langkah selanjutnya adalah menerapkan aplikasi sebagai kontainer di Azure App Service.

  1. Pilih paket Azure App Service: Tentukan paket Azure App Service yang harus digunakan aplikasi tersebut.

    • Jika Anda tidak memiliki paket App Service atau ingin membuat paket App Service baru untuk digunakan, Anda dapat memilih untuk membuatnya dari alat dengan mengklik Buat paket App Service baru.
    • Klik Lanjutkan setelah memilih paket App Service.
  2. Tentukan penyimpanan rahasia dan ruang kerja pemantauan: Jika Anda telah memilih untuk membuat parameter konfigurasi aplikasi, tentukan penyimpanan rahasia yang akan digunakan untuk aplikasi tersebut. Anda dapat memilih pengaturan aplikasi Azure Key Vault atau App Service untuk mengelola rahasia aplikasi. Pelajari selengkapnya.

    • Jika Anda telah memilih pengaturan aplikasi App Service untuk mengelola rahasia, lalu klik Lanjutkan.
    • Jika ingin menggunakan Azure Key Vault untuk mengelola rahasia aplikasi Anda, tentukan Azure Key Vault yang ingin digunakan.
      • Jika Anda tidak memiliki Azure Key Vault atau ingin membuat Key Vault baru, Anda dapat memilih untuk membuatnya dari alat dengan mengklik Buat baru.
      • Alat ini akan otomatis menetapkan izin yang diperlukan untuk mengelola rahasia melalui Azure Key Vault.
    • Ruang kerja pemantauan: Jika Anda memilih untuk mengaktifkan pemantauan dengan Application Insights, maka tentukan sumber daya Application Insights yang ingin Anda gunakan. Opsi ini tidak akan terlihat jika Anda telah menonaktifkan integrasi pemantauan.
      • Jika tidak memiliki Application Insights atau ingin membuat sumber daya baru, Anda dapat memilih untuk membuatnya dari alat dengan mengeklik Buat baru.
  3. Tentukan berbagi file Azure: Jika Anda telah menambahkan lebih banyak direktori/folder dan memilih opsi berbagi file Azure untuk penyimpanan persisten, lalu tentukan berbagi file Azure yang akan digunakan oleh Azure Migrate: Alat Kontainerisasi Aplikasi selama proses penyebaran. Alat ini akan menyalin direktori/folder aplikasi yang dikonfigurasi untuk Azure Files dan memasangnya pada kontainer aplikasi selama penyebaran. 

    • Jika Anda tidak memiliki berbagi file Azure atau ingin membuat berbagi file Azure baru, Anda dapat memilih untuk membuat dari alat dengan mengeklik Buat Akun Penyimpanan dan berbagi file baru.
  4. Konfigurasi penyebaran aplikasi: Setelah menyelesaikan langkah-langkah di atas, Anda harus menentukan konfigurasi penyebaran untuk aplikasi. Klik Konfigurasikan untuk menyesuaikan penyebaran aplikasi. Dalam langkah konfigurasi Anda dapat menyediakan penyesuaian berikut:

    • Nama: Tentukan nama unik aplikasi untuk aplikasi tersebut. Nama ini akan digunakan untuk menghasilkan URL aplikasi dan digunakan sebagai awalan untuk sumber daya lain yang dibuat sebagai bagian dari penyebaran ini.
    • Konfigurasi Aplikasi: Untuk konfigurasi aplikasi apa pun yang telah dibuat parameternya, berikan nilai yang digunakan untuk penyebaran saat ini.
    • Konfigurasi Penyimpanan: Tinjau informasi untuk setiap direktori/folder aplikasi yang dikonfigurasi untuk penyimpanan tetap.

    Cuplikan layar untuk konfigurasi aplikasi penyebaran.

  5. Menyebarkan aplikasi: Setelah konfigurasi penyebaran untuk aplikasi disimpan, alat akan menghasilkan YAML penyebaran Kube untuk aplikasi.

    • Klik Tinjau untuk meninjau konfigurasi penyebaran untuk aplikasi tersebut.

    • Pilih aplikasi yang akan disebarkan.

    • Klik Sebarkan untuk memulai penyebaran aplikasi yang dipilih

      Cuplikan layar untuk konfigurasi penyebaran aplikasi.

    • Setelah aplikasi disebarkan, Anda dapat mengeklik kolom Status penyebaran untuk melacak sumber daya yang disebarkan untuk aplikasi.

Pemecahan masalah

Untuk memecahkan masalah dengan alat ini, Anda dapat melihat file log di komputer Windows yang menjalankan alat Penampungan Aplikasi. File log alat tersedia di folder C:\ProgramData\Microsoft Azure Migrate App Containerization\Logs .

Langkah berikutnya

  • Mengkontainerisasi aplikasi web Java web di Apache Tomcat (pada server Linux) dan menyebarkannya di kontainer Linux pada AKS. Pelajari lebih lanjut
  • Menampung aplikasi web ASP.NET dan menyebarkannya di kontainer Windows pada AKS. Pelajari lebih lanjut
  • Menampung aplikasi web ASP.NET dan menyebarkannya di kontainer Windows pada Azure App Service. Pelajari selengkapnya