Rilis canary memungkinkan Anda menguji versi aplikasi baru pada sebagian kecil instans, sementara versi saat ini tetap melayani traffic. Setelah setiap batch selesai, Anda dapat meninjau metrik bisnis dan memutuskan apakah akan melanjutkan penerapan atau melakukan rollback—menyediakan jalur peningkatan yang terkendali dan berisiko rendah.
Prasyarat
Sebelum memulai, pastikan bahwa:
Aplikasi target memiliki lebih dari satu instans.
Cara kerja rilis canary
Rilis canary mengikuti siklus berulang: terapkan batch kecil, amati, lalu putuskan apakah akan melanjutkan atau melakukan rollback.
Batch canary dibatasi hingga maksimal 50% dari total instans. Instans sisanya diterapkan dalam jumlah batch yang Anda tentukan. Setelah setiap batch selesai, Anda secara manual memicu batch berikutnya—atau melakukan rollback.
SAE mendukung dua strategi perutean traffic untuk rilis canary:
By traffic ratio: Arahkan persentase traffic ke versi baru—misalnya, 20% ke V2 dan 80% ke V1.
By request content: Arahkan traffic berdasarkan atribut permintaan—misalnya, kirim permintaan dari ID pengguna tertentu ke V2 dan seluruh traffic lainnya ke V1.
Contoh: Aplikasi dengan 10 instans yang menjalankan V1 melakukan rilis canary pada 2 instans (20%), lalu menerapkan 8 instans sisanya dalam 3 batch.
Untuk metode rilis bertahap (tanpa batch canary), lihat Lakukan rilis bertahap untuk aplikasi.
Lakukan rilis canary
Menyebarkan ulang aplikasi akan me-restart-nya. Untuk menghindari gangguan bisnis, lakukan deployment selama jam sepi.
Pada halaman SAE Application List, pilih wilayah dan namespace, lalu klik ID aplikasi untuk membuka halaman detail aplikasi.
Pada halaman Basic Information, klik Deploy Application.
Perbarui artefak deployment sesuai metode deployment yang digunakan.
Metode deployment bersifat tetap sesuai metode yang Anda pilih saat aplikasi pertama kali dideploy.
Deployment method Action WAR package Unggah paket WAR baru atau masukkan path ke paket baru, lalu konfigurasikan lingkungan runtime. JAR package Unggah paket JAR baru atau masukkan path ke paket baru, lalu konfigurasikan lingkungan runtime. ZIP package Unggah paket ZIP baru atau masukkan path ke paket baru, lalu konfigurasikan lingkungan runtime. Image Pada bagian Configure Image, klik Modify Image. Pada panel Modify Image, pilih repository image atau versi gambar yang berbeda. Pada bagian Release Policy Settings, konfigurasikan parameter rilis canary.

Configuration item Description Release Policy Pilih Canary Release (Phased). Instances for Canary Release Jumlah instans yang dimasukkan dalam batch canary. Tidak boleh melebihi 50% dari total instans. Remaining Batches After Canary Jumlah batch untuk menerapkan instans sisanya setelah batch canary selesai. Minimum Available Instances Jumlah minimum instans yang harus tetap tersedia selama peningkatan bergulir. Pilih By Number untuk memasukkan jumlah absolut (memilih Use System Recommended Value akan mengatur nilai ini menjadi 25% dari instans yang ada, dibulatkan ke atas), atau pilih By Ratio untuk memasukkan persentase. Mengatur nilai ini ke 0 akan menyebabkan gangguan bisnis selama peningkatan. Enable Layer 7 Traffic Canary Release Rule (Kubernetes Ingress) Menerapkan aturan traffic canary Lapisan 7. Hanya berlaku setelah Anda membuat aturan rilis canary Kubernetes Ingress. Enable Canary Release Rule of Microservices (Spring Cloud and Dubbo Applications) Menerapkan aturan traffic canary layanan mikro. Hanya berlaku setelah Anda membuat aturan rilis canary layanan mikro. Contoh: Untuk aplikasi dengan 10 instans, atur Instances for Canary Release ke
2dan Remaining Batches After Canary ke3. SAE memperbarui 2 instans dalam batch canary, lalu menerapkan 8 instans sisanya dalam 3 batch yang kira-kira sama besar.Klik OK untuk memulai rilis canary. SAE langsung meningkatkan instans canary.
Setelah batch canary selesai, periksa apakah dalam kondisi sehat.
Pada halaman Change Records, lihat detail perubahan dan status rilis. Jika semua batch ditandai sebagai dieksekusi, peningkatan telah selesai.
Pada halaman Basic Information, klik tab Instances. Jika kolom Status menampilkan Running untuk semua instans, deployment berhasil.
Pada halaman Change Details, picu batch berikutnya atau lakukan rollback.
Jika batch canary dalam kondisi sehat, picu batch berikutnya. Ulangi siklus tinjau-dan-terapkan ini untuk setiap batch berikutnya.
Jika batch canary menunjukkan masalah, klik Roll Back Now untuk mengembalikan ke versi sebelumnya. Lihat Roll back aplikasi untuk detailnya.
Roll back aplikasi
Saat satu atau beberapa instans masih dalam proses peningkatan, status aplikasi menampilkan Executing.
| Rollback scenario | Action |
|---|---|
| Batch rilis pertama tidak memberikan respons karena exception | Klik Roll Back Now pada halaman Change Details. SAE mengembalikan instans yang telah ditingkatkan ke versi sebelumnya dan memulihkan konfigurasi aplikasi asli. |
| Peningkatan gagal karena exception (misalnya, paket deployment tidak tersedia atau pemeriksaan kesehatan gagal) | SAE secara otomatis menghentikan dan melakukan rollback aplikasi. Tidak diperlukan tindakan manual. |
| Peningkatan timeout (sekitar 30 menit) | SAE melaporkan exception timeout dan menghentikan proses perubahan. Hentikan secara manual proses rilis dan lakukan rollback pada halaman Change Details. |
Langkah berikutnya
| Operation | Reference |
|---|---|
| Kelola siklus hidup aplikasi (perbarui, mulai, hentikan, hapus, scale in, scale out) | Kelola siklus hidup aplikasi |
| Konfigurasikan kebijakan auto scaling | Konfigurasikan kebijakan auto scaling |
| Bind instance CLB ke aplikasi | Bind instance CLB ke aplikasi, dan hasilkan IP publik atau privat untuknya |
| Buat aturan start dan stop terjadwal | Buat aturan start dan stop terjadwal |
| Kelola konfigurasi terdistribusi | Manajemen konfigurasi terdistribusi |
| Ubah spesifikasi instans | Ubah spesifikasi instans |
| Lihat log | Manajemen log |
| Lihat data pemantauan | Manajemen pemantauan |
| Lihat event aplikasi | Lihat event aplikasi |
| Lihat catatan perubahan | Lihat catatan perubahan |
| Periksa kesehatan aplikasi melalui webshell | Gunakan fitur webshell untuk memeriksa status kesehatan aplikasi |