Rilis canary adalah strategi penerapan yang memungkinkan transisi mulus antar versi aplikasi. Strategi ini melibatkan penerapan versi baru secara bersamaan dengan versi lama dan mengarahkan sebagian kecil pengguna ke versi baru tersebut. Anda kemudian dapat memantau kinerja versi baru dan secara bertahap meningkatkan porsi traffic hingga akhirnya memigrasikan semua pengguna.
Kasus penggunaan
Dalam pengembangan produk yang bergerak cepat, merilis pembaruan secara cepat sambil tetap menjaga kualitas tinggi sangat penting. Rilis canary membantu mengelola risiko dari penerapan versi baru. Dengan mengarahkan sebagian kecil traffic pengguna ke versi aplikasi baru, Anda dapat mengumpulkan umpan balik serta memantau metrik seperti log, kinerja, dan stabilitas. Berdasarkan evaluasi ini, Anda dapat memutuskan apakah akan secara bertahap meningkatkan traffic ke versi baru untuk peluncuran penuh atau melakukan rollback ke versi sebelumnya jika terjadi masalah.
Prasyarat
-
Terapkan versi lama dan baru aplikasi Anda pada server yang terpisah. Untuk menangani lebih banyak traffic, terapkan masing-masing versi di beberapa server.
-
Buat instans ALB. Instans ALB Basic tidak mendukung aturan pengalihan berdasarkan cookie. Anda harus membuat instans ALB Standard. Untuk informasi selengkapnya, lihat Create and manage an ALB instance.
-
Buat kelompok server. Tambahkan server yang menjalankan versi lama dan baru aplikasi ke dalam kelompok server yang terpisah. Untuk informasi selengkapnya, lihat Create and manage server groups.
-
Buat Pendengar (listener) dan atur kelompok server default-nya ke kelompok untuk versi aplikasi lama. Untuk informasi selengkapnya, lihat Add an HTTP listener, Add an HTTPS listener, atau Add a QUIC listener.
Pada tahap ini, semua permintaan klien diarahkan ke versi aplikasi lama. Topik ini menjelaskan tiga metode untuk menerapkan rilis canary. Anda dapat menggunakannya secara terpisah atau dalam kombinasi.
Rilis canary berdasarkan Header HTTP
Contoh ini menunjukkan cara mengarahkan permintaan ke versi aplikasi baru jika permintaan tersebut memiliki Header HTTP dengan kunci user-agent dan nilai Mozilla/4.0.
Masuk ke ALB console.
-
Di bilah navigasi atas, pilih wilayah tempat instans ALB diterapkan.
-
Pada halaman Instances, klik ID instans target.
-
Di tab Listener, temukan listener target, lalu klik View/Modify Forwarding Rule di kolom Actions.
-
Di tab Forwarding Rules, klik Add New Rule.
-
Konfigurasikan aturan pengalihan dan klik OK.
-
Kondisi pengalihan: Pada daftar drop-down, pilih HTTP Header. Lalu, atur kunci menjadi user-agent dan nilai menjadi Mozilla/4.0.
-
Aksi pengalihan: Pada daftar drop-down, pilih Forward, lalu pilih kelompok server untuk versi aplikasi baru.
Untuk informasi selengkapnya tentang parameter tersebut, lihat Configure listener forwarding rules.
CatatanAnda dapat menambahkan lebih banyak kondisi pengalihan untuk secara bertahap meningkatkan traffic ke versi aplikasi baru. Setelah memverifikasi bahwa versi baru stabil, Anda dapat mengalihkan seluruh traffic ke versi baru tersebut lalu menghentikan versi lama.
-
Rilis canary berdasarkan cookie
Contoh ini menunjukkan cara mengarahkan permintaan yang berisi cookie dengan pasangan kunci-nilai key:value ke versi aplikasi baru.
Masuk ke ALB console.
-
Di bilah navigasi atas, pilih wilayah tempat instans ALB diterapkan.
-
Pada halaman Instances, klik ID instans target.
-
Di tab Listener, temukan listener target, lalu klik View/Modify Forwarding Rule di kolom Actions.
-
Di tab Forwarding Rules, klik Add New Rule.
-
Konfigurasikan aturan pengalihan dan klik OK.
-
Kondisi pengalihan: Pada daftar drop-down, pilih Cookie, lalu atur menjadi key:value.
-
Aksi pengalihan: Pada daftar drop-down, pilih Forward, lalu pilih kelompok server untuk versi aplikasi baru.
Untuk informasi selengkapnya tentang parameter tersebut, lihat Configure listener forwarding rules.
CatatanAnda dapat menambahkan lebih banyak kondisi pengalihan untuk secara bertahap meningkatkan traffic ke versi aplikasi baru. Setelah memverifikasi bahwa versi baru stabil, Anda dapat mengalihkan seluruh traffic ke versi baru tersebut lalu menghentikan versi lama.
-
Rilis canary berdasarkan kelompok server
Contoh ini membagi traffic untuk nama domain example.com antara versi lama dan baru aplikasi. Versi lama menerima 80% traffic, sedangkan versi baru menerima 20%.
Masuk ke ALB console.
-
Di bilah navigasi atas, pilih wilayah tempat instans ALB diterapkan.
-
Pada halaman Instances, klik ID instans target.
-
Di tab Listener, temukan listener target, lalu klik View/Modify Forwarding Rule di kolom Actions.
-
Di tab Forwarding Rules, klik Add New Rule.
-
Konfigurasikan aturan pengalihan dan klik OK.
-
Kondisi pengalihan: Pada daftar drop-down, pilih Domain Name, lalu atur host menjadi example.com.
-
Aksi pengalihan: Pada daftar drop-down, pilih Forward. Lalu, pilih kelompok server untuk kedua versi (lama dan baru), dan atur bobot masing-masing menjadi 80 dan 20.
Untuk informasi selengkapnya tentang parameter tersebut, lihat Configure listener forwarding rules.
CatatanAnda dapat menyesuaikan bobot kelompok server untuk mengubah rasio distribusi traffic. Setelah memverifikasi bahwa versi baru stabil, Anda dapat mengalihkan seluruh traffic ke versi tersebut lalu menghentikan versi lama.
-