Rilis canary memungkinkan aplikasi versi lama dan baru berjalan secara paralel. Anda dapat meluncurkan versi baru kepada sebagian kecil pengguna sebelum mengimplementasikannya ke seluruh basis pengguna. Dengan rilis canary, Anda dapat mengontrol persentase pengguna yang menggunakan versi lama dan baru sesuai dengan kebutuhan bisnis.
Skenario
Ketika membangun aplikasi, Anda ingin mempercepat proses rilis sambil menjaga pengalaman pengguna. Untuk mengurangi risiko kesalahan pada versi baru yang dapat mengganggu alur kerja, Anda dapat menerapkan rilis canary dan memungkinkan versi baru menerima lalu lintas layanan dari subset pengguna. Kemudian, evaluasi versi baru berdasarkan data deret waktu seperti log, kinerja, dan stabilitas berdasarkan umpan balik pengguna canary. Anda dapat secara bertahap meluncurkan versi baru ke seluruh basis pengguna atau kembali ke versi lama berdasarkan hasil evaluasi tersebut.
Persiapan
Terapkan versi lama dan baru di server backend yang berbeda. Untuk memastikan ketersediaan layanan, Anda dapat menerapkan setiap versi di beberapa server backend.
Buat instance Application Load Balancer (ALB). Instance ALB dasar tidak mendukung aturan berbasis cookie. Anda harus membuat instance ALB standar. Untuk informasi lebih lanjut, lihat Buat dan Kelola Instance ALB.
Buat grup server. Tambahkan server backend tempat versi lama dan baru diterapkan ke grup server yang berbeda. Untuk informasi lebih lanjut, lihat Buat dan Kelola Grup Server.
Buat pendengar (listener). Tambahkan server backend tempat versi lama diterapkan ke grup server default pendengar. Untuk informasi lebih lanjut, lihat Tambahkan Pendengar HTTP, Tambahkan Pendengar HTTPS, dan Tambahkan Pendengar QUIC.
Setelah menyelesaikan tugas-tugas sebelumnya, semua permintaan akan diteruskan ke versi lama. Anda dapat menggunakan salah satu metode berikut untuk menerapkan rilis canary. Dalam contoh ini, versi baru ditambahkan ke Grup Server A dan versi lama ke Grup Server B.
Rilis canary berdasarkan header HTTP
Dalam contoh ini, permintaan HTTP yang berisi header User-Agent *Mozilla/4.0* diteruskan ke versi baru.
Masuk ke Konsol ALB.
Di bilah navigasi atas, pilih wilayah tempat instance ALB diterapkan.
Di halaman Instances, klik ID instance ALB yang ingin Anda kelola.
Di tab Listener, temukan pendengar yang ingin Anda kelola dan klik View/Modify Forwarding Rule di kolom Actions.
Di tab Forwarding Rules, klik Add New Rule.
Konfigurasikan parameter berikut dan klik OK:
Tambah Kondisi: Pilih HTTP Header dari daftar drop-down, atur kunci menjadi user-agent, lalu atur nilainya menjadi *Mozilla/4.0*.
Aksi: Pilih Forward dari daftar drop-down dan pilih Grup Server A.
Untuk informasi lebih lanjut, lihat Kelola Aturan Pengalihan untuk Pendengar.
CatatanAnda dapat menambahkan lebih banyak aturan pengalihan untuk meningkatkan persentase lalu lintas pengguna yang didistribusikan ke versi baru. Jika versi baru bekerja sesuai harapan, Anda dapat menghentikan versi lama dan meneruskan semua permintaan ke versi baru.
Rilis canary berdasarkan cookie
Contoh ini menunjukkan cara mengonfigurasi ALB untuk meneruskan permintaan ke versi baru berdasarkan cookie yang ditentukan dalam pasangan kunci-nilai.
Masuk ke Konsol ALB.
Di bilah navigasi atas, pilih wilayah tempat instance ALB diterapkan.
Di halaman Instances, klik ID instance ALB yang ingin Anda kelola.
Di tab Listener, temukan pendengar yang ingin Anda kelola dan klik View/Modify Forwarding Rule di kolom Actions.
Di tab Forwarding Rules, klik Add New Rule.
Atur parameter berikut, lalu klik OK:
Add Condition: Pilih Cookie dari daftar drop-down dan atur nilainya menjadi kunci: nilai.
Aksi: Pilih Forward dari daftar drop-down dan pilih Grup Server A.
Untuk informasi lebih lanjut, lihat Kelola Aturan Pengalihan untuk Pendengar.
CatatanAnda dapat menambahkan lebih banyak aturan pengalihan untuk meningkatkan persentase lalu lintas pengguna yang didistribusikan ke versi baru. Jika versi baru bekerja sesuai harapan, Anda dapat menghentikan versi lama dan meneruskan semua permintaan ke versi baru.
Rilis canary berdasarkan grup server
Dalam contoh ini, 80% dari permintaan yang ditujukan untuk example.com diteruskan ke versi lama dan 20% dari permintaan diteruskan ke versi baru.
Masuk ke Konsol ALB.
Di bilah navigasi atas, pilih wilayah tempat instance ALB diterapkan.
Di halaman Instances, klik ID instance ALB yang ingin Anda kelola.
Di tab Listener, temukan pendengar yang ingin Anda kelola dan klik View/Modify Forwarding Rule di kolom Actions.
Di tab Forwarding Rules, klik Add New Rule.
Konfigurasikan aturan pengalihan berdasarkan informasi berikut dan klik OK:
Tambah Kondisi: Pilih Domain Name dari daftar drop-down dan atur nama domain menjadi example.com.
Aksi: Pilih Forward dari daftar drop-down, dan pilih Grup Server B dan Grup Server A. Atur bobot Grup Server B menjadi 80 dan Grup Server A menjadi 20.
Untuk informasi lebih lanjut, lihat Kelola Aturan Pengalihan untuk Pendengar.
CatatanAnda dapat mengubah bobot grup server untuk memenuhi kebutuhan bisnis. Jika versi baru bekerja sesuai harapan, Anda dapat menghentikan versi lama sehingga semua permintaan dapat diteruskan ke versi baru.