Apa itu feature gate dan mengapa kita memilikinya?
Beberapa pelanggan perangkat dengan air gap Google Distributed Cloud (GDC) harus menyelesaikan proses akreditasi untuk memenuhi serangkaian persyaratan kepatuhan. Pelanggan ini mungkin memiliki fitur spesifik yang harus melalui peninjauan akreditasi oleh pihak ketiga sebelum dapat diaktifkan untuk beban kerja produksi.
Fitur tertentu mungkin memerlukan beberapa rilis untuk diselesaikan dan tidak boleh diekspos ke semua pelanggan hingga stabil dan siap. Namun, pelanggan lain mungkin ingin bekerja sama dengan Google untuk melakukan pengujian bukti konsep dengan fitur yang belum dirilis.
GDC memperkenalkan beberapa konsep untuk menahan fitur sebelum siap:
Nilai minimum tingkat fitur deployment (nilai minimum deployment): menentukan tingkat minimum yang akan digunakan untuk perangkat. Ini ditetapkan pada waktu bootstrap.
FeatureGate
resource: menentukan konfigurasi tingkat teratas yang melacak tingkat kematangan default per fitur. Resource ini juga melacak setiap penggantian fitur yang telah ditambahkan operator.Tingkat fitur: melacak tingkat kematangan yang ditetapkan untuk fitur tertentu. Fitur diaktifkan jika lebih besar dari atau sama dengan nilai minimum deployment.
Nilai level fitur yang mungkin dalam urutan menaik adalah: DEV
, TEST
, PREVIEW
,
PRODUCTION
, dan ACCREDITED
.
Misalnya, jika nilai minimum deployment ditetapkan ke PRODUCTION
, fitur yang ditetapkan dengan tingkat fitur ACCREDITED
atau PRODUCTION
akan diaktifkan. Jika nilai minimum deployment
ditetapkan ke ACCREDITED
, hanya fitur dengan level ACCREDITED
yang
diaktifkan.
Gerbang atau tingkat fitur tidak sama dengan pengujian A/B yang mungkin Anda lihat di produk konsumen. Feature gate diaktifkan atau dinonaktifkan untuk seluruh perangkat GDC. Gerbang fitur dirancang untuk diaktifkan setelah peninjauan akreditasi selesai dan tetap aktif.
Deployment dengan persyaratan akreditasi harus memiliki konfigurasi FeatureGate
sendiri, yang harus cocok dengan yang telah diakreditasi untuk versi tersebut atau versi sebelumnya.
Penggunaan tingkat fitur
Ada tiga definisi resource kustom yang terkait dengan konfigurasi gerbang dan tingkat fitur:
Stage
: menentukan nilai minimum deployment untuk cluster. Menyimpan nilai minimum tahap deployment, yang akan dibandingkan dengan feature gate untuk menentukan pengaktifan fitur.FeatureGate
: menyimpan tahap default setiap fitur dan melacak setiap penggantian.SubcomponentOverride
: digunakan oleh sistem gerbang fitur untuk mengganti tahap default fitur agar dapat diaktifkan. Muncul di tempat lain dalam konteks lain.
Nilai tahap adalah nilai minimum deployment yang disimpan di setiap cluster. Setelan ini hanya boleh disetel selama bootstrapping dan tidak boleh diubah setelah bootstrap. Semua fitur dengan nilai tahap fitur yang sama atau lebih besar diaktifkan. Untuk mengganti tahap default gerbang fitur, lihat OOPS-P0072.
Feature gate mirip dengan upgrade. Tidak ada perubahan pada gambar atau versi, tetapi ini secara efektif merupakan langkah terakhir upgrade untuk mengaktifkan fitur yang ditambahkan dalam upgrade sebelumnya. Pengaktifan fitur ini dapat terjadi beberapa minggu atau bulan setelah upgrade awal, bergantung pada durasi yang diperlukan untuk mendapatkan akreditasi. Terus lakukan upgrade secara rutin untuk mendapatkan perbaikan dan patch selama akreditasi sedang berlangsung.
Jika fitur diganti, GDC akan memicu rekonsiliasi untuk memulai ulang semua pod yang bergantung pada fitur tersebut. Hal ini harus dilakukan selama masa pemeliharaan, karena beberapa perubahan mungkin memerlukan periode nonaktif.
Beberapa fitur memiliki runbook manual servis yang menyertainya yang menjelaskan kapan fitur tersebut harus diaktifkan, dan apa yang harus dicari setelah penggantian diterapkan. Hal ini mungkin untuk kasus yang memerlukan lebih dari sekadar memulai ulang pod, atau harus dilakukan setelah fitur lain diaktifkan.
Anda dapat menemukan runbook fitur ini dalam manual layanan yang dilampirkan ke komponen yang dapat dioperasikan yang relevan.
Daftar gerbang fitur aktif tersedia dalam dokumentasi Tahap fitur.