Ringkasan Manajemen Fitur

Secara tradisional, mengirim fitur aplikasi baru memerlukan penyebaran ulang lengkap dari aplikasi itu sendiri. Menguji fitur sering kali membutuhkan beberapa penyebaran aplikasi. Setiap penyebaran dapat mengubah fitur atau mengekspos fitur ke pelanggan yang berbeda untuk pengujian.

Manajemen fitur adalah praktik pengembangan perangkat lunak modern yang memisahkan rilis fitur dari penyebaran kode dan memungkinkan perubahan cepat pada ketersediaan fitur sesuai permintaan. Fitur ini menggunakan teknik yang disebut bendera fitur (juga dikenal sebagai tombol fitur dan sakelar fitur) untuk secara dinamis mengelola siklus hidup fitur.

Manajemen fitur membantu pengembang mengatasi masalah berikut:

  • Manajemen cabang kode: Gunakan bendera fitur untuk membungkus fungsionalitas aplikasi baru yang saat ini sedang dikembangkan. Fungsionalitas semacam itu "tersembunyi" secara default. Anda dapat mengirimkan fitur dengan aman, meskipun belum selesai, dan akan tetap tidak aktif dalam produksi. Dengan menggunakan pendekatan ini, yang disebut penyebaran gelap, Anda dapat merilis semua kode di akhir setiap siklus pengembangan. Anda tidak perlu lagi mempertahankan cabang kode di berbagai siklus pengembangan karena fitur yang diberikan membutuhkan lebih dari satu siklus untuk diselesaikan.
  • Uji dalam produksi:Gunakan bendera fitur untuk memberikan akses awal ke fungsionalitas baru dalam produksi. Misalnya, Anda dapat membatasi akses ke anggota tim atau penguji beta internal. Pengguna ini akan mengalami pengalaman produksi fidelitas penuh alih-alih pengalaman simulasi atau sebagian dalam lingkungan pengujian.
  • Flighting: Gunakan bendera fitur untuk secara bertahap meluncurkan fungsionalitas baru kepada pengguna akhir. Anda dapat menargetkan sebagian kecil populasi pengguna terlebih dahulu dan meningkatkan persentase itu secara bertahap dari waktu ke waktu.
  • Sakelar pemutus instan: Bendera fitur menyediakan jaring pengaman yang melekat untuk merilis fungsionalitas baru. Anda dapat mengaktifkan dan menonaktifkan fitur aplikasi tanpa melakukan penyebaran ulang kode apa pun. Jika perlu, Anda dapat dengan cepat menonaktifkan fitur tanpa membangun dan menyebarkan ulang aplikasi.
  • Aktivasi selektif : Gunakan bendera fitur untuk mengelompokkan pengguna Anda dan mengirimkan serangkaian fitur tertentu ke setiap grup. Anda mungkin memiliki fitur yang hanya berfungsi di browser web tertentu. Anda dapat menentukan bendera fitur sehingga hanya pengguna browser yang dapat melihat dan menggunakan fitur tersebut. Dengan pendekatan ini, Anda dapat dengan mudah memperluas daftar browser yang didukung nanti tanpa harus membuat perubahan kode apa pun.

Konsep dasar

Berikut adalah beberapa istilah baru yang terkait dengan manajemen fitur:

  • Bendera fitur: Bendera fitur adalah variabel dengan status biner aktif atau nonaktif. Bendera fitur juga memiliki blok kode terkait. Status bendera fitur memicu apakah blok kode berjalan.
  • Manajer fitur: Manajer fitur adalah paket aplikasi yang menangani siklus hidup semua bendera fitur dalam aplikasi. Manajer fitur juga menyediakan fungsionalitas tambahan, termasuk bendera fitur penembolokan dan memperbarui statusnya.
  • Filter: Filter adalah aturan untuk mengevaluasi status bendera fitur. Filter potensial mencakup grup pengguna, jenis perangkat atau browser, lokasi geografis, dan jendela waktu.

Implementasi manajemen fitur yang efektif terdiri dari setidaknya dua komponen yang bekerja dalam konser:

  • Aplikasi yang menggunakan bendera fitur.
  • Repositori terpisah yang menyimpan bendera fitur dan statusnya saat ini.

Menggunakan bendera fitur di kode Anda

Pola dasar untuk mengimplementasikan bendera fitur dalam aplikasi sederhana. Bendera fitur adalah variabel status Boolean yang mengontrol pernyataan kondisional dalam kode Anda:

if (featureFlag) {
    // Run the following code
}

Anda dapat mengatur nilai featureFlag secara statis:

bool featureFlag = true;

Anda dapat mengevaluasi status bendera berdasarkan aturan tertentu:

bool featureFlag = isBetaUser();

Anda dapat memperluas kondisional untuk mengatur perilaku aplikasi salah satu status:

if (featureFlag) {
    // This following code will run if the featureFlag value is true
} else {
    // This following code will run if the featureFlag value is false
}

Repositori bendera fitur

Untuk menggunakan bendera fitur secara efektif, Anda perlu mengeksternalisasi semua bendera fitur yang digunakan dalam aplikasi. Anda dapat menggunakan pendekatan ini untuk mengubah status bendera fitur tanpa mengubah dan menyebarkan aplikasi itu sendiri.

Azure App Configuration menyediakan repositori terpusat untuk bendera fitur. Anda dapat menggunakannya untuk menentukan berbagai jenis bendera fitur dan memanipulasi statusnya dengan cepat dan percaya diri. Anda kemudian dapat menggunakan pustaka App Configuration untuk berbagai kerangka kerja bahasa pemrograman agar dengan mudah mengakses bendera fitur ini dari aplikasi Anda.

Bendera fitur dalam aplikasi ASP.NET Core menunjukkan bagaimana penyedia App Configuration .NET dan pustaka Manajemen Fitur digunakan bersama-sama untuk mengimplementasikan bendera fitur untuk aplikasi web ASP.NET Anda. Untuk informasi selengkapnya tentang bendera fitur di Azure App Configuration, lihat artikel berikut ini:

Langkah berikutnya