Keandalan Azure pada Konfigurasi Aplikasi

Azure App Configuration secara terpusat menyimpan dan mengelola pengaturan konfigurasi aplikasi dan bendera fitur, yang menggantikan file konfigurasi yang disematkan langsung dalam aplikasi. Dengan pendekatan ini, Anda dapat memperbarui nilai konfigurasi secara dinamis, melacak riwayat versi, dan mempertahankan catatan perubahan konfigurasi dari waktu ke waktu. Ketersediaan dan keandalan App Configuration adalah pertimbangan penting karena perilaku aplikasi dapat langsung bergantung pada akses ke data konfigurasi saat runtime.

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 arsitektur keandalan App Configuration dan bagaimana layanan dirancang untuk tetap tersedia selama kesalahan sementara, kegagalan zona ketersediaan, dan pemadaman wilayah.

Rekomendasi implementasi produksi untuk keandalan

Untuk sebagian besar penyebaran produksi App Configuration, pertimbangkan rekomendasi berikut:

  • SKU: Gunakan SKU Standar atau Premium.

  • Penghapusan sementara dan perlindungan penghapusan menyeluruh: Aktifkan penghapusan sementara dan perlindungan penghapusan menyeluruh untuk membantu mencegah penghapusan data.

  • Untuk skenario misi-kritis: Gunakan SKU Premium dan konfigurasikan replika yang disertakan untuk mereplikasi di beberapa wilayah. Pendekatan ini meningkatkan ketersediaan tinggi dan ketahanan terhadap pemadaman wilayah.

Untuk daftar praktik dan konfigurasi yang direkomendasikan untuk beban kerja produksi, lihat Membangun aplikasi yang memiliki ketahanan tinggi.

Gambaran umum arsitektur keandalan

Saat menyebarkan App Configuration, Anda menyebarkan penyimpanan. Penyimpanan Anda berisi berbagai jenis pengaturan yang mungkin digunakan aplikasi Anda, termasuk kunci dan nilai, dan bendera fitur. Layanan ini juga mencakup kemampuan bawaan untuk mengatur, mengamankan, membuat versi, dan meluncurkan perubahan konfigurasi dengan aman di seluruh lingkungan. Untuk informasi selengkapnya, lihat Apa itu App Configuration?

App Configuration adalah layanan yang dikelola sepenuhnya. Microsoft bertanggung jawab untuk melakukan pemeliharaan pada layanan dan menyimpan dan mengelola pengaturan Anda.

Saat Anda membangun aplikasi klien yang terhubung ke App Configuration, Anda dapat secara opsional menggunakan App Configuration dengan Azure Front Door (pratinjau) untuk mengaktifkan caching dan percepatan lalu lintas global. Konfigurasi ini memperkenalkan pertimbangan lain untuk replikasi geografis, yang disorot di seluruh artikel ini jika sesuai.

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.

Saat Anda menggunakan App Configuration, pertimbangkan praktik terbaik berikut untuk meminimalkan efek kesalahan sementara pada akses konfigurasi, terutama dalam jalur kode penting.

  • Penyedia konfigurasi: Gunakan penyedia App Configuration, yang memiliki kemampuan coba ulang dan cache bawaan serta fitur ketahanan lainnya.

  • Azure SDK: Gunakan SDK Konfigurasi Aplikasi jika aplikasi Anda perlu mengirim permintaan tulis. SDK secara otomatis mencoba kembali respons kode status HTTP 429 dan kesalahan sementara lainnya.

  • Logika coba lagi: Sertakan logika coba lagi di klien kustom jika Anda tidak dapat menggunakan penyedia App Configuration atau SDK. Header retry-after-ms dalam respons menyediakan waktu tunggu yang disarankan dalam milidetik sebelum klien mencoba kembali permintaan.

  • Caching: Pengaturan cache dalam memori jika memungkinkan untuk mengurangi permintaan langsung ke toko Anda.

Untuk panduan konfigurasi aplikasi lainnya, lihat Tanya Jawab Umum App Configuration.

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.

App Configuration secara otomatis menyediakan redundansi zona di wilayah yang mendukung zona ketersediaan. Redundansi ini memberikan ketersediaan tinggi dalam suatu wilayah tanpa memerlukan konfigurasi tertentu.

Diagram yang memperlihatkan penyimpanan App Configuration yang memiliki redundansi zona dan mencakup tiga zona di wilayah tersebut.

Diagram menunjukkan zona ketersediaan 1, 2, dan 3. Penyimpanan App Configuration mencakup ketiga zona di wilayah tersebut.

Saat zona ketersediaan menjadi tidak tersedia, App Configuration secara otomatis mengalihkan permintaan Anda ke zona ketersediaan sehat lainnya untuk memastikan ketersediaan tinggi.

Persyaratan

Dukungan wilayah: Penyimpanan yang disebar ke wilayah berikut otomatis menjadi zona redundan.

Americas Eropa Timur Tengah Afrika Asia Pasifik
Brasil Selatan Prancis Tengah Israel Tengah Australia Timur
Kanada Tengah Jerman Barat Tengah Qatar Tengah India Tengah
US Tengah Italia Utara UAE Utara Tiongkok Utara 3
US Timur Eropa Utara Asia Timur
US Timur 2 Norwegia Timur Jepang Timur
Meksiko Tengah Polandia Tengah Korea Tengah
US Tengah Selatan Spanyol Tengah Asia Tenggara
US Gov Virginia Swedia Tengah
Barat AS 2 Swiss Utara
Barat AS 3 UK Selatan
Eropa Barat

Biaya

Tidak ada biaya tambahan untuk redundansi zona untuk App Configuration.

Mengonfigurasi dukungan zona ketersediaan

Microsoft secara otomatis mengonfigurasi redundansi zona untuk penyimpanan ketika berada di wilayah yang mendukung zona ketersediaan.

Jika App Configuration menambahkan dukungan zona ketersediaan ke wilayah yang ada, Anda tidak perlu mengambil tindakan apa pun untuk mendapatkan manfaat dari dukungan zona ketersediaan. Penyimpanan Anda mendapat manfaat dari dukungan zona ketersediaan yang tersedia untuk penyimpanan App Configuration di wilayah tersebut.

Perilaku ketika semua zona sehat

Bagian ini menjelaskan apa yang diharapkan ketika Anda memiliki App Configuration penyimpanan redundan zona, dan semua zona beroperasi.

  • Operasi lintas zona: App Configuration secara otomatis mengelola routing lalu lintas antar zona ketersediaan. Selama operasi normal, ia secara transparan mendistribusikan permintaan di seluruh zona.

  • Replikasi data lintas zona: Di wilayah yang mendukung zona, App Configuration secara sinkron mereplikasi data di seluruh zona ketersediaan. Replikasi ini memastikan bahwa pengaturan Anda tetap konsisten dan tersedia meskipun zona menjadi tidak tersedia.

Perilaku selama kegagalan zona

Bagian ini menjelaskan hal-hal yang perlu diperhatikan saat Anda menggunakan penyimpanan App Configuration dengan redundansi zona dan terjadi gangguan di salah satu zona.

  • Deteksi dan respons: Layanan App Configuration mendeteksi kegagalan zona dan secara otomatis meresponsnya. Anda tidak perlu mengambil tindakan apa pun selama kegagalan zona.
  • Notification: Microsoft tidak secara otomatis memberi tahu Anda saat zona tidak berfungsi. Namun, Anda dapat menggunakan Azure Service Health untuk memahami kesehatan keseluruhan layanan, termasuk kegagalan zona apa pun, dan Anda dapat menyiapkan pemberitahuan Service Health untuk memberi tahu Anda tentang masalah.
  • Permintaan aktif: Selama kegagalan zona, zona yang terpengaruh mungkin gagal menangani permintaan dalam penerbangan, yang mengharuskan aplikasi klien untuk mencobanya kembali. Aplikasi klien harus mengikuti praktik penanganan kesalahan sementara untuk memastikan bahwa mereka dapat mencoba kembali permintaan jika terjadi kegagalan zona.

  • Kehilangan data yang diharapkan: Tidak ada kehilangan data yang diharapkan selama kegagalan zona karena replikasi sinkron antar zona.

  • Waktu henti yang diharapkan: Tidak ada waktu henti yang diharapkan.

  • Redistribusi: App Configuration secara otomatis mengalihkan lalu lintas dari zona yang terpengaruh ke zona yang sehat tanpa memerlukan intervensi pelanggan.

Pemulihan Zona

Ketika zona yang sebelumnya tidak tersedia pulih, App Configuration secara otomatis memulihkan operasi normal di semua zona ketersediaan. Anda tidak perlu mengambil tindakan apa pun untuk pulih dari kegagalan zona.

Uji kegagalan zona

Platform App Configuration mengelola pengaturan lalu lintas, failover, dan pemulihan di zona untuk penyimpanan yang mendukung redundansi zona. Microsoft sepenuhnya mengelola proses ini, sehingga Anda tidak perlu memvalidasi proses kegagalan zona ketersediaan.

Ketahanan terhadap kegagalan di seluruh wilayah

App Configuration menyediakan kemampuan replikasi geografis asli untuk mendukung ketahanan selama pemadaman wilayah. Replikasi geografis memungkinkan data konfigurasi untuk mereplikasi di seluruh wilayah sebagai fitur layanan terkelola.

Replikasi geografis

Dengan replikasi geografis, Anda dapat mereplikasi penyimpanan di beberapa wilayah Azure. Setiap toko dapat memiliki beberapa replika di berbagai wilayah. Toko asli juga merupakan replika. Kemampuan ini membantu melindungi aplikasi dari gangguan di seluruh wilayah.

Persyaratan

  • Region support: Anda dapat membuat replika di wilayah Azure mana pun yang didukung oleh App Configuration, bahkan jika wilayah tersebut bukan wilayah pasangan Azure.

  • Tier: Penyimpanan konfigurasi harus menggunakan tingkat yang didukung untuk mengaktifkan replikasi geografis. Untuk informasi selengkapnya, lihat Mengaktifkan replikasi geografis.

Pertimbangan

Saat Anda mengaktifkan replikasi geografis, pertimbangkan faktor-faktor berikut:

  • Replika zona redundan: Replika apa pun yang Anda buat di wilayah di mana App Configuration mendukung zona ketersediaan secara otomatis menjadi redundan zona.

  • Azure Front Door: Untuk mengaktifkan pengiriman konfigurasi geo-redundan dengan Azure Front Door, konfigurasikan replika App Configuration sebagai sumber dalam grup sumber. Asal muasal yang dikonfigurasi dengan benar diperlukan agar Azure Front Door dapat melakukan perutean berbasis kesehatan, penyeimbangan beban, dan failover otomatis di antara berbagai wilayah. Untuk informasi selengkapnya, lihat Metode perutean lalu lintas ke asal.

Biaya

Setiap wilayah yang direplikasi secara geografis ditagih secara terpisah sesuai dengan harga untuk tingkat dan wilayah masing-masing. Tidak ada biaya keluar data yang berlaku untuk replikasi lintas wilayah. Untuk detail harga, lihat Harga App Configuration.

Konfigurasikan dukungan multiregion

Untuk menyiapkan replikasi untuk penyimpanan konfigurasi yang baru dibuat, lihat Mengaktifkan replikasi geografis.

Perilaku ketika semua wilayah sehat

Bagian ini menjelaskan apa yang diharapkan saat Anda mengonfigurasi store App Configuration untuk replikasi geografis, dan semua wilayah berfungsi.

  • Operasi lintas wilayah: Setiap replika dapat diatasi secara individual dan memiliki nama Sistem Nama Domain (DNS) sendiri. Semua replika dapat menerima operasi baca dan tulis.

    App Configuration tidak secara otomatis merutekan lalu lintas antar wilayah. Saat Anda menggunakan penyedia konfigurasi App Configuration, aplikasi Anda dapat secara opsional menggunakan penemuan replika otomatis. Atau, Anda dapat menentukan daftar replika yang diprioritaskan, dan App Configuration memilih replika sehat pertama. Pendekatan ini memungkinkan aplikasi Anda mengontrol replika mana yang digunakannya.

    Nota

    Jika Anda menggunakan Azure Front Door, perilaku perutean lalu lintas menjadi berbeda. Untuk informasi selengkapnya, lihat Failover dan penyeimbangan beban.

  • Replikasi data lintas wilayah: Data mereplikasi secara asinkron dan akhirnya konsisten. Anda dapat menggunakan metrik latensi replikasi di Azure Monitor untuk memantau latensi replikasi saat ini antar replika.

Perilaku selama kegagalan wilayah

Bagian ini menjelaskan apa yang diharapkan saat Anda mengonfigurasi penyimpanan App Configuration untuk replikasi geografis, dan ada pemadaman di salah satu wilayah replika.

  • Deteksi dan respon: Microsoft bertanggung jawab mendeteksi kegagalan pada wilayah atau replika dan memulai proses pemulihan.

    Saat Anda menggunakan penyedia konfigurasi App Configuration dengan penemuan replika otomatis atau daftar beberapa replika, aplikasi Anda secara otomatis mendeteksi kegagalan dan melakukan failover ke replika yang sehat.

    Jika Anda tidak menggunakan penyedia App Configuration, Anda bertanggung jawab untuk memindahkan aplikasi Anda ke replika yang sehat.

  • Notification: Microsoft tidak secara otomatis memberi tahu Anda saat suatu wilayah tidak berfungsi. Namun, Anda dapat menggunakan Azure Service Health untuk memahami kesehatan layanan secara keseluruhan, termasuk kegagalan wilayah apa pun, dan Anda dapat menyiapkan pemberitahuan Service Health untuk memberi tahu Anda tentang masalah.

  • Permintaan aktif: Permintaan aktif terhadap replika di wilayah tersebut mungkin gagal. Aplikasi klien harus mencoba kembali permintaan terhadap replika yang berbeda.

  • Kehilangan data yang diharapkan: Jika replika gagal, perubahan terbaru yang dilakukan pada replika tersebut mungkin belum direplikasi ke replika lain. Perubahan tersebut dapat tetap tidak tersedia sampai replika pulih. Untuk memperkirakan potensi kehilangan data, pantau metrik latensi replikasi dalam Azure Monitor.

  • Waktu henti yang diharapkan: Ketika replika menjadi tidak tersedia, replika tetap offline sampai wilayah tersebut pulih. Replika lain terus menangani permintaan. Aplikasi mungkin mengalami waktu henti singkat saat mendeteksi kegagalan dan beralih ke replika yang sehat. Durasi tergantung pada seberapa cepat setiap aplikasi melakukan deteksi dan failover ini.

  • Redistribusi: Aplikasi harus merutekan lalu lintas ke replika yang berfungsi saat terjadi gangguan.

    Jika Anda menggunakan penyedia konfigurasi App Configuration, penyedia secara otomatis menangani pemilihan replika dan failover.

    Jika Anda memposisikan Azure Front Door di depan penyimpanan data Anda dan mengonfigurasi grup asal dengan beberapa replika sebagai sumber untuk failover, Azure Front Door secara otomatis mengalihkan ulang permintaan ke replika yang sehat.

Pemulihan wilayah

Setelah wilayah pulih, App Configuration menyinkronkan replika dengan replika lain tanpa intervensi Anda.

Anda bertanggung jawab untuk mengonfigurasi ulang aplikasi Anda untuk merutekan lalu lintas kembali ke instans wilayah yang dipulihkan. Aplikasi yang menggunakan penyedia App Configuration secara otomatis mulai menggunakan replika lagi.

Pengujian untuk mendeteksi kegagalan wilayah

Anda tidak dapat langsung mensimulasikan failover replika di App Configuration. Namun, karena kontrol aplikasi pada pemilihan replika, Anda dapat menguji perilaku failover dengan memaksa aplikasi ke dalam keadaan di mana ia harus beralih replika.

Untuk memvalidasi perilaku failover replika aplikasi, Anda dapat memperkenalkan kegagalan konektivitas terkontrol di lingkungan nonproduksi dan mengamati bagaimana aplikasi merespons.

Salah satu pendekatannya adalah menggunakan komputer lokal Anda atau lingkungan lain tempat Anda memiliki akses administratif. Ikuti langkah-langkah ini:

  1. Aktifkan loging terperinci untuk SDK Azure. Di .NET, gunakan kelas AzureEventSourceListener untuk mengonfigurasi pencatat. Untuk informasi lebih lanjut, lihat Pencatatan dan pemantauan.

  2. Konfigurasikan file hosts Anda secara manual agar permintaan ke penyimpanan App Configuration Anda dirutekan ke alamat IP yang tidak dapat menerimanya, seperti alamat 127.0.0.1 (localhost).

    Peringatan

    Langkah ini secara efektif memblokir akses dari komputer Anda ke penyimpanan konfigurasi aplikasi Anda. Hanya ikuti langkah-langkah ini di lingkungan nonproduksi.

  3. Pantau log untuk pesan yang mirip dengan contoh berikut:

    [Warning] Microsoft-Extensions-Configuration-AzureAppConfiguration-Refresh:
    Failed to get configuration settings from endpoint 'https://myappconfigstore.azconfig.io'. Failing over to endpoint https://myappconfigstore-eus.azconfig.io'.
    

    Pesan ini menunjukkan bahwa aplikasi berhasil gagal untuk menggunakan replika lain dari penyimpanan Anda.

  4. Setelah Anda menyelesaikan pengujian, urungkan perubahan pada file Anda hosts .

Pencadangan dan pemulihan

Anda dapat menggunakan App Configuration untuk mengekspor data konfigurasi dari penyimpanan dan menggunakannya sebagai bagian dari strategi pencadangan yang lebih luas.

Untuk sebagian besar solusi, Anda tidak boleh mengandalkan cadangan secara eksklusif. Sebagai gantinya, gunakan kemampuan lain yang dijelaskan dalam panduan ini untuk mendukung persyaratan ketahanan Anda. Namun, pencadangan melindungi dari beberapa risiko yang tidak dapat dicegah oleh pendekatan lain. Untuk informasi selengkapnya, lihat Apa itu redundansi, replikasi, dan cadangan?.

Ketahanan terhadap penghapusan yang tidak disengaja

App Configuration menyediakan dua fitur pemulihan utama untuk mencegah penghapusan yang tidak disengaja atau berbahaya:

  • Penghapusan sementara: Saat mengaktifkan penghapusan sementara, Anda dapat memulihkan penyimpanan dan pengaturan yang dihapus selama periode retensi yang dapat dikonfigurasi. Fungsi penghapusan lunak seperti tong sampah untuk sumber daya App Configuration Anda.

  • Perlindungan penghapusan menyeluruh: Saat Anda mengaktifkan perlindungan penghapusan menyeluruh, layanan mencegah penghapusan permanen penyimpanan Anda dan pengaturannya hingga periode retensi berlalu. Perlindungan ini mencegah aktor jahat menghancurkan pengaturan Anda secara permanen.

Gunakan kedua fitur untuk lingkungan produksi. Untuk informasi selengkapnya, lihat Perlindungan penghapusan sementara dan penghapusan menyeluruh.

Ketahanan terhadap pemeliharaan layanan

Microsoft secara teratur melakukan pembaruan layanan dan pemeliharaan lainnya. Layanan ini menangani aktivitas ini secara otomatis, yang membuat pemeliharaan mulus dan transparan bagi Anda. Tidak ada waktu henti yang diharapkan selama peristiwa pemeliharaan kecuali Azure Service Health memberikan pemberitahuan pemeliharaan terencana.

Ketahanan terhadap masalah konfigurasi

Perubahan konfigurasi yang salah atau tidak disengaja dapat menyebabkan waktu henti aplikasi. Gunakan rekam jepret konfigurasi untuk meluncurkan perubahan pada konfigurasi dengan aman. Pantau kesehatan aplikasi Anda setelah perubahan konfigurasi, dan kembali ke rekam jepret konfigurasi terakhir yang diketahui baik jika perubahan menimbulkan masalah.

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.