Menilai aplikasi web dengan Asisten Migrasi Azure App Service

Selesai

Dalam unit ini, kami meninjau potensi tantangan yang mungkin Anda temui saat memigrasikan aplikasi web yang dihosting secara lokal di server Anda sendiri pada tingkat tinggi. Kami akan memberikan konteks tentang jenis ketergantungan yang ada pada aplikasi web pada fitur Layanan Informasi Internet (IIS) dan mengapa hal ini menyebabkan masalah. Informasi latar belakang penting ini memberikan konteks yang mungkin Anda perlukan untuk lebih memahami kebutuhan penilaian.

Mengapa harus memindahkan aplikasi web ke Azure App Service?

Azure App Service adalah platform yang dikelola penuh untuk aplikasi web Anda. Anda dapat menggunakannya untuk menjalankan dan menskalakan aplikasi web Anda dengan penyiapan minimal. Microsoft mengelola infrastruktur, pembaruan sistem operasi, penyeimbangan beban, dan logika penambahan/penurunan skala sesuai kebutuhan.

Anda dapat mengonfigurasi pengaturan dalam antarmuka pengguna yang disederhanakan dan menjelajahi performa aplikasi saat berjalan, tetapi ada sedikit lagi yang harus dilakukan di bagian Anda. Ini menjadikan Azure App Service sebagai alternatif yang menarik untuk menjalankan aplikasi Anda di lingkungan server Anda sendiri. Di lingkungan server Anda sendiri, Anda harus berurusan dengan biaya perangkat keras, penyiapan, instalasi sistem operasi, pembaruan dan konfigurasi, instalasi perangkat lunak server, pembaruan dan konfigurasi, dan banyak lagi.

Beberapa fitur membuat penggunaan Azure App Service menjadi luar biasa.

Fitur skala otomatis memungkinkan administrator untuk mengatur jumlah maksimum instans yang harus diizinkan untuk diskalakan oleh aplikasi web, dan ambang batas lalu lintas. Kemudian, logika pengambilan keputusan di App Service memutuskan apakah akan meningkatkan atau menurunkan skala.

Slot penyebaran memungkinkan Operasi atau DevOps untuk menyebarkan versi baru aplikasi web ke lingkungan pengujian atau penahapan langsung, di mana pengujian integrasi manual atau otomatis dapat dilakukan. Setelah versi baru melewati semua pengujian, operasi dapat menukar slot untuk memindahkan aplikasi bertahap ke produksi. Jika masalah muncul setelah penyebaran, operasi dapat sekali lagi menukar slot untuk memindahkan versi sebelumnya kembali ke produksi.

Diagnostik App Service menyediakan antarmuka interaktif yang dilengkapi pemecah masalah untuk menjawab beberapa pertanyaan. Antarmuka tersebut menghasilkan laporan diagnostik lengkap yang khusus untuk jenis masalah yang dihadapi aplikasi Anda. Selain itu, alat seperti pemeriksaan kesehatan, Application Insights, dan Navigator (diagram dependensi interaktif) membantu Anda memahami di mana masalah berada.

Apa itu Asisten Migrasi Azure App Service?

Asisten Migrasi Azure App Service adalah bagian dari rangkaian aplikasi yang lebih besar yang membantu organisasi melakukan transisi ke cloud. Asisten Migrasi menyediakan pengalaman pengguna seperti panduan terpandu yang melakukan dua tugas:

  1. Melakukan penilaian aplikasi web tertentu yang diinstal pada Windows Server. Mengevaluasi ketergantungan aplikasi web untuk menentukan apakah migrasi ke Azure App Service dapat dilakukan tanpa modifikasi pada aplikasi web.
  2. Jika penilaian membuktikan bahwa aplikasi web dapat dimigrasikan, Asisten Migrasi akan melakukan migrasi. Anda perlu memberi Asisten Migrasi akses ke akun Azure Anda, memilih grup sumber daya mana yang ingin Anda gunakan, dan memilih nama untuk aplikasi web, di antara detail lainnya.

Atau, Asisten Migrasi Azure App Service menghasilkan templat Azure Resource Manager yang dapat digunakan untuk memigrasikan aplikasi web dengan cara yang lebih otomatis dan berulang.

Mengapa harus melakukan penilaian?

Di beberapa organisasi, aplikasi web awalnya dibuat dengan asumsi bahwa aplikasi akan selalu memiliki akses ke fitur tingkat rendah IIS. Misalnya, beberapa pengembang mengembangkan fitur seperti pemantauan, pengelogan, dan keamanan di bagian teratas filter ISAPI. Filter menyediakan akses ke permintaan masuk sebelum diteruskan ke aplikasi aplikasi ASP.NET. Filter ini juga menyediakan akses ke respons keluar yang dihasilkan oleh aplikasi ASP.NET.

Namun, salah satu manfaat menggunakan penawaran platform as a service (PaaS) seperti Azure App Service adalah bahwa penyedia cloud (dalam hal ini adalah Microsoft) mengelola perangkat keras dan perangkat lunak sehingga Anda tidak perlu melakukannya. Di situlah biaya dan penghematan waktu didapatkan. Tetapi ini berarti bahwa aplikasi Anda memiliki akses ke lebih sedikit fitur tingkat bawah Windows Server dan IIS. Jika aplikasi bergantung pada fitur tingkat bawah tersebut, Anda mungkin tidak dapat memanfaatkan Azure App Service tanpa modifikasi.

Jenis masalah apa yang memerlukan penilaian?

Asisten Migrasi mencari fitur tertentu pada aplikasi web untuk memastikan bahwa Azure App Service dapat mengakomodasi fitur tersebut, atau Asisten Migrasi dapat memigrasikan fitur tersebut secara otomatis. Tabel berikut ini memberikan beberapa wawasan tentang pemeriksaan yang dilakukan Asisten Migrasi:

Pemeriksaan kesiapan Penjelasan
Pengikatan port Karena Azure App Service hanya memungkinkan lalu lintas web standar, pemeriksaan kesiapan ini memastikan bahwa aplikasi web hanya mendengarkan port 80 (untuk lalu lintas HTTP) dan 443 (untuk lalu lintas HTTPS).
Protokol Karena Azure App Service hanya berfungsi dengan protokol HTTP dan HTTPS, pemeriksaan kesiapan ini memastikan bahwa aplikasi web hanya menangani protokol berbasis HTTP. Misalnya, jika aplikasi web Anda bergantung pada Windows Communication Foundation, aplikasi web tidak lulus pemeriksaan kesiapan ini.
Sertifikat Azure App Service dapat menangani sertifikat keamanan, tetapi pemeriksaan kesiapan ini memperingatkan Anda bahwa Asisten Migrasi tidak memigrasikan sertifikat secara otomatis untuk Anda.
Tag lokasi Tag lokasi memungkinkan Anda menyimpan konfigurasi untuk semua aplikasi web yang dihosting di server dalam satu file daripada dihosting di file web.config individual untuk setiap aplikasi web. Aplikasi Azure App Service menggunakan file applicationhost.config IIS yang telah dikonfigurasi dan tidak mendukung fitur tag lokasi. Pengaturan untuk setiap aplikasi web yang Anda migrasikan harus dipindahkan ke file web.config individual. Pemeriksaan kesiapan ini mengidentifikasi penggunaan tag lokasi.
Filter ISAPI Azure App Service menyediakan beberapa dukungan untuk filter ISAPI, tetapi bergantung pada cara penerapan filter ISAPI. Asisten Migrasi tidak memigrasikan aplikasi yang bergantung pada filter ISAPI. Anda harus terlebih dahulu menghapus filter ISAPI dari aplikasi, melakukan migrasi, lalu menambahkan filter ISAPI secara manual di Azure App Service.
Kelompok aplikasi Karena Azure App Service mendukung satu kelompok aplikasi per aplikasi, pemeriksaan kesiapan ini memastikan bahwa aplikasi web Anda hanya mengandalkan satu kelompok aplikasi.
Identitas kelompok aplikasi Aplikasi Azure App Service dihosting dalam proses pekerja IIS yang berjalan di akun yang dikelola sistem yang terkait dengan kelompok aplikasi. Ini juga merupakan identitas default yang digunakan oleh instalasi lokal IIS. Pemeriksaan kesiapan ini memastikan bahwa aplikasi web dikonfigurasi untuk berjalan dalam identitas default.
Jenis autentikasi Aplikasi Azure App Service mendukung serangkaian jenis autentikasi yang berbeda dari aplikasi yang dihosting di IIS yang berjalan secara lokal. Pemeriksaan kesiapan ini memastikan bahwa aplikasi web dikonfigurasi untuk menggunakan autentikasi anonim. Setelah migrasi, Anda dapat mengonfigurasi jenis autentikasi secara manual di Azure App Service.
Pengaturan aplikasi Pemeriksaan kesiapan ini memperingatkan Anda tentang pengaturan aplikasi kustom dalam file web.config yang harus dipindahkan ke pengaturan Azure App Service>Konfigurasi>Aplikasi.
String koneksi Pemeriksaan kesiapan ini menentukan apakah string koneksi database yang disimpan file web.config tertentu mengarah ke database lokal. Jika demikian, Asisten Migrasi memberi Anda opsi untuk menyiapkan koneksi hibrid.
Kerangka kerja Asisten Migrasi hanya mendukung ASP.NET dan PHP. Jika aplikasi Anda menggunakan kerangka kerja yang berbeda, Anda tidak dapat melakukan migrasi otomatis.
Kesalahan konfigurasi Asisten Migrasi memastikan bahwa instans IIS lokal Anda dikonfigurasi dengan benar dan tidak mengembalikan kesalahan saat dipindai. Pemeriksaan kesiapan ini memastikan bahwa tidak ada masalah mendasar pada aplikasi web sebelum migrasi.
Direktori virtual Azure App Service menyimpan semua file dalam struktur direktori tetap. Asisten Migrasi memindahkan file ke subdirektori yang sesuai. Namun, ini tidak dapat memigrasikan aplikasi dengan direktori virtual yang didukung oleh berbagi UNC.

Informasi dalam tabel ini dirangkum dari wiki Asisten Migrasi Azure App Service.

Bagaimana jika penilaian menemukan masalah?

Jika Asisten Migrasi Azure App Service menemukan masalah saat menilai aplikasi web, Anda dapat:

  • Memperbarui aplikasi untuk mengganti fitur yang bergantung pada fitur ekstensibilitas tingkat bawah IIS. Tugas ini bisa relatif sederhana bergantung pada fungsionalitas yang dimaksud. Misalnya, Anda dapat mengganti fitur pengelogan kustom yang bergantung pada filter ISAPI dengan Azure Application Insights. Application Insights hanya memerlukan beberapa baris kode untuk ditambahkan ke aplikasi dan memberikan banyak laporan yang dapat ditindaklanjuti.
  • Memperbarui aplikasi dengan menonaktifkan sementara fitur yang memblokir migrasi. Asisten Migrasi dapat memandu Anda melakukan hal ini.
  • Menyebarkan aplikasi apa adanya ke mesin virtual Azure. Meskipun Anda tidak akan mendapatkan manfaat menggunakan Azure App Service dan akan diminta untuk mempertahankan sistem operasi, Anda tidak perlu lagi memelihara perangkat keras. Anda juga akan memiliki satu titik manajemen untuk semua layanan web Anda.

Wiki Asisten Migrasi Azure App Service berisi potensi langkah-langkah perbaikan untuk banyak masalah yang ditemukan selama penilaian.

Rekap

Berikut adalah poin-poin yang paling penting dari unit ini:

  • Asisten Migrasi Azure App Service mencari ketidaksesuaian antara aplikasi web lokal Anda dan apa yang didukung di Azure App Service. Jika ada masalah, biasanya ada cara untuk memperbaiki (atau menonaktifkan fitur yang menyebabkan) masalah secara lokal. Kemudian, Anda dapat mencoba kembali Asisten Migrasi.
  • Jika tidak ada masalah pemblokiran, Asisten Migrasi memigrasikan aplikasi web Anda ke Azure App Service untuk Anda.