Bagikan melalui


Keandalan di Azure App Configuration

Azure App Configuration secara terpusat menyimpan dan mengelola pengaturan konfigurasi aplikasi dan bendera fitur, menggantikan file konfigurasi yang disematkan langsung dalam aplikasi. Pendekatan ini memungkinkan pembaruan dinamis, penerapan versi nilai konfigurasi, dan pelacakan historis 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 Azure App Configuration dan menjelaskan bagaimana layanan dirancang agar 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 melindungi dari penghapusan data.
  • Untuk skenario misi-kritis: Gunakan SKU Premium, dan konfigurasikan replika yang disertakan untuk mengaktifkan replikasi di beberapa wilayah untuk meningkatkan ketersediaan dan ketahanan tinggi terhadap pemadaman wilayah.

Untuk daftar praktik dan konfigurasi yang direkomendasikan untuk beban kerja produksi, lihat Membangun aplikasi dengan 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 Azure App Configuration?

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

Saat Anda membangun aplikasi klien yang terhubung ke Azure App Configuration, Anda dapat memilih untuk menggunakan App Configuration dengan Azure Front Door (pratinjau) untuk mengaktifkan caching dan akselerasi 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 Azure App Configuration, pertimbangkan praktik terbaik berikut untuk meminimalkan efek kesalahan sementara pada akses konfigurasi, terutama dalam jalur kode penting.

  • Penyedia konfigurasi: Gunakan penyedia konfigurasi App Configuration, yang memiliki kemampuan coba ulang dan caching bawaan bersama dengan banyak fitur ketahanan lainnya.
  • Azure SDKs: Gunakan SDK Konfigurasi Aplikasi jika aplikasi Anda perlu mengirim permintaan penulisan. 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 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 Azure 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 redundan zona, yang mencakup tiga zona di wilayah yang dimaksud.

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: Toko yang disebarkan ke wilayah berikut sudah memiliki redundansi zona secara otomatis:

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 Azure App Configuration.

Mengonfigurasi dukungan zona ketersediaan

Microsoft secara otomatis mengaktifkan redundansi zona untuk penyimpanan saat berada di wilayah yang mendukung zona ketersediaan.

Jika App Configuration menambahkan dukungan zona ketersediaan ke wilayah yang ada, Anda tidak perlu melakukan apa pun untuk mulai mendapatkan manfaat dari dukungan zona ketersediaan. Toko Anda akan mendapat manfaat dari dukungan untuk zona ketersediaan yang kini tersedia untuk penyimpanan Konfigurasi Aplikasi di wilayah tersebut.

Perilaku ketika semua zona sehat

Saat penyimpanan berada di wilayah yang mendukung redundansi zona dan semua zona ketersediaan beroperasi, Anda dapat mengharapkan perilaku berikut:

  • 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 apa yang diharapkan ketika penyimpanan berada di wilayah yang mendukung redundansi zona dan zona ketersediaan tidak tersedia:

  • Deteksi dan respons: Layanan App Configuration mendeteksi kegagalan zona dan secara otomatis meresponsnya. Anda tidak perlu mengambil tindakan apa pun selama kegagalan zona.
  • Pemberitahuan: Microsoft tidak secara otomatis memberi tahu Anda saat zona tidak berfungsi. Namun, Anda dapat menggunakan Azure Service Health untuk memahami kesehatan layanan secara keseluruhan, 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 Azure App Configuration mengelola perutean lalu lintas, failover, dan pemulihan zona untuk penyimpanan zona-redundan. Karena proses ini dikelola sepenuhnya oleh Microsoft, Anda tidak perlu memvalidasi proses kegagalan zona ketersediaan.

Ketahanan terhadap kegagalan di seluruh wilayah

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

Replikasi geografis

Replikasi geografis memungkinkan penyimpanan direplikasi 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

  • Dukungan wilayah: Anda dapat membuat replika di wilayah Azure mana pun yang didukung oleh Azure App Configuration, meskipun wilayah tersebut bukan wilayah berpasangan 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 redundan zona: Replika apa pun yang Anda buat di wilayah di mana App Configuration mendukung zona ketersediaan akan secara otomatis menjadi replika yang redundan zona.

  • Azure Front Door: Untuk mengaktifkan pengiriman konfigurasi geo-redundan dengan Azure Front Door, konfigurasikan replika App Configuration sebagai asal dalam satu grup asal. Konfigurasi asal yang benar memungkinkan Azure Front Door mengelola perutean berbasis kesehatan, penyeimbangan beban, dan failover otomatis di seluruh 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 Azure App Configuration.

Mengonfigurasi dukungan multiregional

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 zona: Setiap replika dapat diatasi satu per satu dan memiliki nama DNS-nya sendiri. Semua replika dapat menerima operasi baca dan tulis.

    Azure 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. Ini memungkinkan aplikasi Anda mengontrol replika mana yang digunakannya.

    Nota

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

  • Replikasi data lintas zona: Data direplikasi 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 respons: Microsoft bertanggung jawab untuk mendeteksi kegagalan wilayah atau replika dan memulai proses pemulihan.

    Saat Anda menggunakan penyedia konfigurasi App Configuration dan melakukan penemuan replika otomatis atau dengan daftar replika, aplikasi Anda secara otomatis beralih ke replika sehat lainnya.

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

  • Pemberitahuan: 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 dihilangkan. 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 di Azure Monitor.

  • Waktu henti yang diperkirakan: Ketika replika tidak tersedia, replika tersebut akan tetap offline sampai wilayahnya 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 menempatkan Azure Front Door di depan penyimpanan data Anda dan mengonfigurasi grup asal dengan beberapa replika sebagai asal untuk failover, Azure Front Door secara otomatis mengalihkan permintaan ke replika yang sehat.

Pemulihan wilayah

Setelah wilayah pulih, App Configuration membawa replika kembali sinkron 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 hari ini. 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 pencatatan log verbose untuk Azure SDK. Di .NET, gunakan AzureEventSourceListener kelas untuk mengonfigurasi pencatat. Untuk informasi selengkapnya, lihat Tutorial: Menggunakan konfigurasi dinamis di aplikasi .NET - Pengelogan 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 ini:

    [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 menyelesaikan pengujian, urungkan perubahan pada file Anda hosts .

Pencadangan dan pemulihan

Azure App Configuration memungkinkan Anda 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 diaktifkan, penghapusan sementara memungkinkan Anda memulihkan penyimpanan dan pengaturan yang dihapus selama periode retensi yang dapat dikonfigurasi. Pikirkan penghapusan sementara seperti tong sampah untuk sumber daya App Configuration Anda.

  • Perlindungan penghapusan menyeluruh: Saat diaktifkan, perlindungan penghapusan menyeluruh 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, memastikan bahwa pemeliharaan mulus dan transparan bagi Anda. Tidak diharapkan adanya waktu henti selama kegiatan pemeliharaan kecuali Anda sudah diberitahu melalui pemeliharaan terencana Azure Service Health.

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 setiap perubahan konfigurasi, dan kembali ke snapshot konfigurasi terakhir yang berfungsi dengan baik jika perubahan tersebut 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.