Bagikan melalui


Keandalan di Lingkungan Azure App Service

App Service Environment adalah fitur Azure App Service yang menyediakan lingkungan yang sepenuhnya terisolasi dan khusus untuk menjalankan aplikasi App Service dengan aman dalam skala tinggi. Sebagai layanan Azure, App Service Environment menyediakan berbagai kemampuan untuk mendukung persyaratan keandalan Anda.

Saat Anda menggunakan Azure, keandalan adalah tanggung jawab bersama. Microsoft menyediakan berbagai kemampuan untuk mendukung ketahanan dan pemulihan. Anda bertanggung jawab untuk memahami cara kerja kemampuan tersebut dalam semua layanan yang Anda gunakan, dan memilih kemampuan yang Anda butuhkan untuk memenuhi tujuan bisnis dan tujuan waktu aktif Anda.

Artikel ini menjelaskan dukungan keandalan di Lingkungan App Service, termasuk ketahanan terhadap kesalahan sementara, kegagalan zona ketersediaan, dan pemadaman di seluruh wilayah. Ini juga menjelaskan strategi pencadangan dan ketahanan terhadap pemeliharaan layanan, dan menyoroti beberapa informasi utama tentang perjanjian tingkat layanan (SLA) App Service Environment.

Nota

Tidak seperti penawaran multipenyewa publik App Service yang berbagi infrastruktur pendukung, Lingkungan App Service menyediakan sumber daya komputasi khusus dan isolasi jaringan yang ditingkatkan untuk satu pelanggan.

Lingkungan memberikan manfaat keandalan utama berikut:

  • Sumber daya komputasi khusus yang tidak dibagikan dengan pelanggan lain
  • Isolasi jaringan yang ditingkatkan untuk meningkatkan keamanan dan stabilitas
  • Kemampuan untuk menyebarkan di jaringan virtual Anda sendiri untuk kontrol yang lebih besar atas perutean lalu lintas dan kebijakan keamanan

Untuk informasi selengkapnya tentang dukungan keandalan di App Service, lihat Keandalan di App Service.

Rekomendasi penyebaran produksi

Kami menyarankan agar Anda mengaktifkan redundansi zona pada lingkungan dan paket App Service Anda, yang mengharuskan paket Anda menggunakan minimal dua instans.

Gambaran umum arsitektur keandalan

Saat menerapkan Lingkungan App Service, Anda menyebarkan lingkungan sebagai kontainer untuk paket App Service dan aplikasi web Anda. Selama penyiapan, konfigurasikan pengaturan jaringan inti dan isolasi perangkat keras opsional. Pilih apakah akan mendukung redundansi zona pada lingkungan jika wilayah mendukung zona ketersediaan.

Setelah membuat lingkungan, Anda dapat membuat satu atau beberapa paket App Service.

Paket App Service menentukan sekumpulan sumber daya komputasi yang menjalankan aplikasi web Anda. Semua aplikasi web harus berjalan di dalam paket. Anda dapat menskalakan paket untuk dijalankan pada beberapa instans VM, juga disebut pekerja. Instans ini menyediakan sumber daya komputasi yang menjalankan kode aplikasi Anda. Satu paket App Service dapat menghosting beberapa aplikasi. Semua aplikasi berjalan pada sekumpulan instans VM bersama yang sama.

Untuk menggunakan Lingkungan App Service, paket Anda harus menggunakan tingkat harga v2 Terisolasi. Tingkat ini mendukung redundansi zona dan aplikasi misi-kritis skala tinggi.

App Service menyediakan fitur redundansi berikut:

  • Distribusi di seluruh domain kesalahan: Di tingkat platform, Azure secara otomatis mendistribusikan instans VM paket App Service Anda di seluruh domain kesalahan dalam wilayah Azure. Distribusi ini meminimalkan risiko kegagalan perangkat keras yang dilokalkan dengan mengelompokkan VM yang berbagi sumber daya umum dan sakelar jaringan.

  • Distribusi di seluruh zona ketersediaan: Jika Anda mengaktifkan redundansi zona pada paket App Service yang didukung, Azure mendistribusikan instans Anda di seluruh zona ketersediaan dalam wilayah tersebut. Konfigurasi ini memberikan ketahanan yang lebih tinggi jika terjadi pemadaman zona. Untuk informasi selengkapnya tentang redundansi zona, lihat Dukungan zona ketersediaan.

  • Penskalakan aplikasi: Saat Anda mengonfigurasi paket App Service untuk menjalankan beberapa instans VM, semua aplikasi dalam paket berjalan di semua instans secara default. Jika Anda mengonfigurasi paket untuk penskalaan otomatis, semua aplikasi akan diskalakan secara bersamaan berdasarkan pengaturan skala otomatis. Namun, Anda dapat menyesuaikan berapa banyak instans paket yang menjalankan aplikasi tertentu dengan menggunakan penskalakan per aplikasi.

  • Unit skala: Secara internal, App Service berjalan pada infrastruktur platform yang disebut unit skala, juga dikenal sebagai stempel atau ruang web. Unit skala mencakup semua komponen yang diperlukan untuk menghosting dan menjalankan App Service, termasuk komputasi, penyimpanan, jaringan, dan penyeimbangan beban. Azure mengelola unit skala untuk memastikan distribusi beban kerja yang seimbang, melakukan pemeliharaan rutin, dan menjaga keandalan platform secara keseluruhan.

    Beberapa kemampuan mungkin hanya diterapkan ke unit skala tertentu. Misalnya, beberapa unit skala App Service mungkin mendukung redundansi zona, sementara unit skala lain di wilayah yang sama tidak.

Ketahanan terhadap kesalahan sementara

Kesalahan sementara adalah kegagalan yang bersifat sementara dan intermiten dalam komponen. Mereka sering terjadi di lingkungan terdistribusi seperti cloud, dan mereka adalah bagian normal dari operasi. Kesalahan sementara memperbaiki diri setelah waktu yang singkat. Penting bahwa aplikasi Anda dapat menangani kesalahan sementara, biasanya dengan mencoba kembali permintaan yang terpengaruh.

Semua aplikasi yang dihosting cloud harus mengikuti panduan penanganan kesalahan sementara Azure saat berkomunikasi dengan API, database, dan komponen lain yang dihosting cloud. Untuk informasi selengkapnya, lihat Rekomendasi untuk menangani kesalahan sementara.

SDK yang disediakan Microsoft biasanya menangani kesalahan sementara. Karena Anda menghosting aplikasi Anda sendiri di App Service, ambil langkah-langkah untuk mengurangi kemungkinan kesalahan sementara:

  • Sebarkan beberapa instance dalam rencana Anda. App Service melakukan pembaruan otomatis dan bentuk pemeliharaan lainnya pada instans dalam paket Anda. Jika instans menjadi tidak sehat, layanan dapat secara otomatis mengganti instans tersebut dengan instans sehat baru. Selama proses penggantian, mungkin ada periode singkat ketika instans sebelumnya tidak tersedia dan instans baru belum siap untuk melayani lalu lintas. Untuk mengurangi efek ini, sebarkan beberapa instans paket App Service Anda.

  • Gunakan slot penerapan. Slot penerapan App Service memungkinkan penerapan aplikasi Anda tanpa gangguan. Gunakan slot penyebaran untuk meminimalkan efek penyebaran dan perubahan konfigurasi bagi pengguna Anda. Slot penyebaran juga mengurangi kemungkinan aplikasi Anda diluncurkan ulang. Menghidupkan ulang aplikasi menyebabkan kesalahan sementara.

  • Hindari meningkatkan atau menurunkan skala. Operasi ini mengubah CPU, memori, dan sumber daya lain yang ditetapkan ke setiap instans, dan dapat memicu mulai ulang aplikasi. Sebagai gantinya, pilih tingkat dan ukuran instans yang memenuhi persyaratan performa Anda di bawah beban umum. Untuk memperluas skala dan menskalakan, tambahkan dan hapus instans secara dinamis untuk menangani perubahan volume lalu lintas.

Ketahanan terhadap kegagalan zona ketersediaan

Zona ketersediaan adalah grup pusat data yang terpisah secara fisik dalam wilayah Azure. Ketika satu zona gagal, layanan dapat melakukan failover ke salah satu zona yang tersisa.

Anda dapat mengonfigurasi App Service Environment sebagai zona redundan. Anda juga dapat mengonfigurasi paket App Service menjadi zona redundan, yang mendistribusikannya di beberapa zona ketersediaan.

Namun, Anda dapat mengaktifkan atau menonaktifkan redundansi zona pada setiap paket. Ini berarti Anda dapat memiliki beberapa rencana di lingkungan Anda yang redundan zona dan beberapa yang tidak.

Saat Anda membuat paket App Service dengan zona yang redundan di lingkungan Anda, instans paket App Service Anda didistribusikan ke seluruh zona ketersediaan di wilayah yang bersangkutan. Untuk informasi selengkapnya, lihat Distribusi instans antar zona.

Persyaratan

Untuk mengaktifkan redundansi zona untuk Lingkungan App Service, Anda harus memenuhi persyaratan berikut:

  • Dukungan wilayah: Untuk melihat wilayah mana yang mendukung zona ketersediaan untuk App Service Environment v3, lihat Wilayah.

  • Jenis paket: Gunakan jenis paket v2 Terisolasi.

  • Jumlah minimum instans: Sebarkan minimal dua instance dalam rencana Anda.

  • Unit skala: Lingkungan Anda harus disebarkan ke unit skala yang mendukung zona ketersediaan. Anda tidak secara langsung mengontrol unit skala yang digunakan lingkungan Anda. Sebagai gantinya, saat Anda membuat lingkungan App Service, lingkungan ditetapkan ke unit skala berdasarkan grup sumber daya lingkungan. Untuk menentukan apakah unit skala untuk Lingkungan App Service Anda mendukung redundansi zona, Periksa dukungan redundansi zona untuk Lingkungan App Service.

    Jika lingkungan Anda berada di dalam unit skala yang tidak mendukung zona ketersediaan, Anda tidak dapat mengaktifkan zona redundansi pada lingkungan atau paket Anda. Sebagai gantinya, Anda perlu membuat lingkungan baru di grup sumber daya baru, dan menyebarkan ulang aplikasi Anda ke rencana baru dalam lingkungan tersebut.

  • Persyaratan konfigurasi: Konfigurasikan Lingkungan App Service dan paket Anda untuk mendukung redundansi zona. Anda dapat mengaktifkan redundansi zona selama pembuatan lingkungan atau dengan memperbarui lingkungan yang ada.

Distribusi instans di seluruh zona

Saat Anda membuat paket App Service zona-redundan, Azure mendistribusikan instans paket di seluruh zona ketersediaan di wilayah tersebut. Distribusi ini memastikan bahwa aplikasi Anda tetap tersedia meskipun satu zona mengalami pemadaman.

Distribusi instans dalam penyebaran zona-redundan mengikuti aturan tertentu. Aturan ini juga berlaku saat aplikasi menskalakan masuk dan keluar:

  • Instans minimum: Paket App Service Anda harus memiliki minimal dua instans untuk redundansi zona.

  • Zona ketersediaan maksimum yang didukung oleh paket Anda: Azure menentukan jumlah zona ketersediaan yang dapat digunakan paket Anda, yang disebut sebagai maximumNumberOfZones. Untuk melihat jumlah zona ketersediaan yang dapat digunakan paket spesifik Anda, lihat Memeriksa dukungan redundansi zona untuk paket App Service.

  • Distribusi instans: Saat redundansi zona diaktifkan, Azure mendistribusikan instans paket di beberapa zona ketersediaan secara otomatis. Distribusi didasarkan pada aturan berikut:

    • Jika jumlah instans melebihi maksimumNumberOfZones dan dibagi secara merata, Azure mendistribusikan instans secara merata di seluruh zona.

    • Jika jumlah instans tidak dibagi secara merata, Azure mendistribusikan instans yang tersisa di seluruh zona yang tersisa.

    • Saat platform App Service mengalokasikan instans untuk paket App Service zona-redundan, platform ini menggunakan penyeimbangan zona dengan pendekatan terbaik yang disediakan oleh Set Skala Mesin Virtual Azure yang mendasarinya. Paket seimbang jika setiap zona memiliki jumlah VM yang sama atau berbeda dengan satu instans dari semua zona lainnya. Untuk informasi selengkapnya, lihat Penyeimbangan zona.

  • Penempatan zona fisik: Anda dapat melihat zona ketersediaan fisik yang digunakan untuk setiap instans paket App Service Anda. Untuk informasi selengkapnya, lihat Menampilkan zona fisik untuk paket App Service.

Pertimbangan

Pemadaman zona ketersediaan dapat memengaruhi beberapa aspek App Service, meskipun aplikasi terus melayani lalu lintas. Perilaku ini termasuk penskalaan paket App Service, pembuatan aplikasi, konfigurasi aplikasi, dan penerbitan aplikasi.

Saat mengaktifkan redundansi zona pada paket App Service, Anda juga meningkatkan ketahanan selama pembaruan platform. Untuk informasi selengkapnya, lihat Ketahanan terhadap pemeliharaan layanan.

Untuk paket App Service yang bukan zona redundan, instans VM yang mendasar tidak tahan terhadap kegagalan zona ketersediaan. Mereka dapat mengalami downtime selama pemadaman di zona mana pun di wilayah tersebut.

Biaya

Anda dapat mengaktifkan redundansi zona pada Lingkungan App Service atau paketnya tanpa biaya tambahan. Namun, redundansi zona untuk paket mengharuskannya memiliki dua instans atau lebih. Anda dikenakan biaya berdasarkan SKU paket App Service, kapasitas yang Anda tentukan, dan instans apa pun yang Anda skalakan berdasarkan kriteria skala otomatis Anda.

Jika Anda mengaktifkan zona ketersediaan tetapi menentukan kapasitas kurang dari dua instans, platform memberlakukan instans minimum dua. Platform ini akan menagih Anda untuk kedua instance tersebut.

Penting

Saat Anda mengaktifkan zona ketersediaan untuk Lingkungan App Service, semua paket App Service dengan kurang dari 3 instans diskalakan menjadi 3 instans. Paket apa pun dengan 3 instans atau lebih tetap tidak berubah. Setelah operasi untuk mengaktifkan zona ketersediaan selesai, Anda dapat menskalakan paket App Service sesuai kebutuhan, termasuk hingga kurang dari 3 instans.

Mengonfigurasi dukungan zona ketersediaan

Untuk mempelajari cara membuat, mengaktifkan, atau menonaktifkan App Service Environment zona-redundan baru dan paket App Service zona redundan baru, lihat Mengonfigurasi Lingkungan App Service dan paket App Service v2 Terisolasi untuk redundansi zona.

Nota

Perubahan status redundansi zona Lingkungan App Service membutuhkan waktu 12 hingga 24 jam untuk diselesaikan. Selama proses peningkatan, tidak ada masalah waktu henti atau performa yang terjadi.

Perencanaan dan manajemen kapasitas

Untuk mempersiapkan kegagalan zona ketersediaan, pertimbangkan untuk menyediakan kapasitas paket App Service Anda lebih dari kebutuhan. Pendekatan ini memungkinkan solusi untuk mentolerir beberapa kehilangan kapasitas dan terus berfungsi tanpa penurunan performa. Untuk informasi selengkapnya, lihat Mengelola kapasitas dengan menggunakan provisi berlebihan.

Perilaku ketika semua zona sehat

Daftar berikut menjelaskan apa yang diharapkan ketika paket App Service dikonfigurasi untuk redundansi zona dan semua zona ketersediaan beroperasi:

  • Perutean lalu lintas antar zona: Selama operasi normal, lalu lintas dirutekan di antara semua instans paket App Service yang tersedia di semua zona ketersediaan.

  • Replikasi data antar zona: Selama operasi normal, status apa pun yang disimpan dalam sistem file aplikasi Anda disimpan di penyimpanan zona redundan dan direplikasi secara sinkron antar zona ketersediaan.

Perilaku selama kegagalan zona

Pemadaman zona ketersediaan dapat memengaruhi beberapa aspek App Service, meskipun aplikasi terus melayani lalu lintas. Perilaku ini termasuk penskalaan paket App Service, pembuatan aplikasi, konfigurasi aplikasi, dan penerbitan aplikasi.

Daftar berikut menjelaskan apa yang diharapkan ketika paket App Service dikonfigurasi untuk redundansi zona dan satu atau beberapa zona ketersediaan tidak tersedia:

  • Deteksi dan respons: Platform App Service secara otomatis mendeteksi kegagalan di zona ketersediaan dan memulai respons. Tidak diperlukan intervensi manual untuk memulai failover zona.
  • Pemberitahuan: Microsoft tidak secara otomatis memberi tahu Anda saat zona tidak berfungsi. Namun:

  • Permintaan aktif: Setiap permintaan yang sedang berlangsung yang terhubung ke instans paket App Service di zona ketersediaan yang rusak dihentikan. Coba lagi permintaan tersebut.

  • Pengalihan lalu lintas: App Service mendeteksi instans yang hilang dari zona tersebut dan mencoba menemukan instans pengganti baru. Setelah App Service menemukan penggantian, App Service mendistribusikan lalu lintas di seluruh instans baru sesuai kebutuhan.

    Jika skala otomatis dikonfigurasi dan menentukan bahwa lebih banyak instans diperlukan, instans akan diminta dari App Service. Perilaku skala otomatis beroperasi secara independen dari perilaku platform App Service. Jadi spesifikasi jumlah instans Anda tidak perlu menjadi kelipatan dari dua. Untuk informasi selengkapnya, lihat Melakukan skala aplikasi di App Service dan Ringkasan Autoscale.

    Penting

    Azure tidak menjamin bahwa permintaan untuk lebih banyak instans berhasil dalam skenario zona tidak berfungsi. Platform ini mencoba mengisi ulang instans yang hilang berdasarkan upaya terbaik. Jika Anda memerlukan kapasitas yang dijamin selama kegagalan zona ketersediaan, buat dan konfigurasikan paket App Service Anda untuk memperhitungkan kehilangan zona dengan menyediakan kapasitas secara berlebihan.

  • Perilaku nonruntime: Aplikasi dalam paket App Service zona-redundan terus berjalan dan melayani lalu lintas meskipun zona ketersediaan mengalami pemadaman. Namun, perilaku nonruntime mungkin terpengaruh selama pemadaman zona ketersediaan. Perilaku ini termasuk penskalaan paket App Service, pembuatan aplikasi, konfigurasi aplikasi, dan penerbitan aplikasi.

Pemulihan zona

Saat zona ketersediaan pulih, App Service secara otomatis membuat instans di zona ketersediaan yang dipulihkan, menghapus instans sementara yang dibuat di zona ketersediaan lain, dan merutekan lalu lintas antara instans Anda seperti biasa.

Uji kegagalan zona

Platform App Service mengelola perutean lalu lintas, failover, dan failback untuk rencana Layanan Aplikasi redundan zona. Fitur ini dikelola sepenuhnya, sehingga Anda tidak perlu memulai atau memvalidasi proses kegagalan zona ketersediaan.

Ketahanan terhadap kegagalan di seluruh wilayah

App Service adalah layanan wilayah tunggal. Jika wilayah menjadi tidak tersedia, lingkungan Anda serta rencana dan aplikasinya juga menjadi tidak tersedia.

Solusi multi-wilayah kustom untuk ketahanan

Untuk mengurangi risiko kegagalan wilayah tunggal yang memengaruhi aplikasi Anda, sebarkan beberapa Lingkungan App Service di beberapa wilayah. Langkah-langkah berikut membantu memperkuat ketahanan:

  • Sebarkan aplikasi Anda ke Lingkungan App Service di setiap wilayah.
  • Mengonfigurasi kebijakan penyeimbangan beban dan failover.
  • Replikasi data Anda di seluruh wilayah sehingga Anda dapat memulihkan status aplikasi terakhir Anda.

Untuk contoh pendekatan yang mengilustrasikan arsitektur ini, lihat Penerapan perusahaan ketersediaan tinggi dengan menggunakan Lingkungan Layanan Aplikasi.

Pencadangan dan pemulihan

Untuk mencadangkan aplikasi App Service Anda ke file, gunakan kemampuan pencadangan dan pemulihan App Service.

Kemampuan ini membantu ketika sulit untuk menyebarkan ulang kode atau ketika Anda menyimpan status pada disk. Sebagian besar solusi tidak boleh mengandalkan pencadangan secara eksklusif. Sebagai gantinya, gunakan kemampuan lain dalam panduan ini untuk mendukung persyaratan ketahanan Anda. Namun, pencadangan melindungi dari beberapa risiko yang tidak dapat dicegah oleh pendekatan lain.

Penting

Mulai 31 Maret 2028, pencadangan kustom Azure App Service tidak akan lagi mendukung pencadangan database tertaut. Lihat Penghentian pencadangan database tertaut untuk informasi selengkapnya.

Sebagai gantinya, gunakan alat pencadangan dan pemulihan asli database tertaut Anda. Untuk informasi selengkapnya, lihat Mencadangkan dan memulihkan aplikasi Anda di App Service.

Ketahanan terhadap pemeliharaan layanan

App Service melakukan peningkatan layanan reguler dan tugas pemeliharaan lainnya. Untuk mempertahankan kapasitas yang diharapkan selama peningkatan, platform secara otomatis menambahkan instans tambahan paket App Service selama proses peningkatan.

Aktifkan redundansi zona. Saat mengaktifkan redundansi zona pada paket App Service, Anda juga meningkatkan ketahanan selama pembaruan platform. Domain pembaruan terdiri dari kumpulan VM yang offline selama pembaruan, dan dipetakan ke zona ketersediaan. Menyebarkan beberapa instans dalam paket App Service Anda dan mengaktifkan redundansi zona untuk paket Anda menambahkan lapisan ketahanan tambahan jika instans atau zona menjadi tidak sehat selama peningkatan.

Sesuaikan siklus peningkatan. Anda dapat menyesuaikan siklus peningkatan untuk Lingkungan App Service. Jika Anda perlu memvalidasi efek peningkatan pada beban kerja Anda, aktifkan peningkatan manual. Pendekatan ini memungkinkan Anda melakukan validasi dan pengujian pada instans nonproduksi sebelum menerapkannya ke instans produksi Anda.

Untuk informasi selengkapnya tentang preferensi pemeliharaan, lihat Preferensi peningkatan untuk pemeliharaan terencana App Service Environment.

Perjanjian tingkat layanan

Perjanjian tingkat layanan (SLA) untuk layanan Azure menjelaskan ketersediaan yang diharapkan dari setiap layanan dan kondisi yang harus dipenuhi solusi Anda untuk mencapai harapan ketersediaan tersebut. Untuk informasi selengkapnya, lihat SLA untuk layanan online.

Ketika Anda menerapkan paket App Service dengan redundansi zona, persentase waktu aktif yang ditentukan dalam SLA meningkat.