All Products
Search
Document Center

Serverless App Engine:Lakukan rilis canary untuk aplikasi

Last Updated:Apr 02, 2026

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.

Canary release process

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

Peringatan

Menyebarkan ulang aplikasi akan me-restart-nya. Untuk menghindari gangguan bisnis, lakukan deployment selama jam sepi.

  1. Pada halaman SAE Application List, pilih wilayah dan namespace, lalu klik ID aplikasi untuk membuka halaman detail aplikasi.

  2. Pada halaman Basic Information, klik Deploy Application.

  3. Perbarui artefak deployment sesuai metode deployment yang digunakan.

    Metode deployment bersifat tetap sesuai metode yang Anda pilih saat aplikasi pertama kali dideploy.
    Deployment methodAction
    WAR packageUnggah paket WAR baru atau masukkan path ke paket baru, lalu konfigurasikan lingkungan runtime.
    JAR packageUnggah paket JAR baru atau masukkan path ke paket baru, lalu konfigurasikan lingkungan runtime.
    ZIP packageUnggah paket ZIP baru atau masukkan path ke paket baru, lalu konfigurasikan lingkungan runtime.
    ImagePada bagian Configure Image, klik Modify Image. Pada panel Modify Image, pilih repository image atau versi gambar yang berbeda.
  4. Pada bagian Release Policy Settings, konfigurasikan parameter rilis canary.

    Release Policy Settings

    Configuration itemDescription
    Release PolicyPilih Canary Release (Phased).
    Instances for Canary ReleaseJumlah instans yang dimasukkan dalam batch canary. Tidak boleh melebihi 50% dari total instans.
    Remaining Batches After CanaryJumlah batch untuk menerapkan instans sisanya setelah batch canary selesai.
    Minimum Available InstancesJumlah 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 2 dan Remaining Batches After Canary ke 3. SAE memperbarui 2 instans dalam batch canary, lalu menerapkan 8 instans sisanya dalam 3 batch yang kira-kira sama besar.

  5. Klik OK untuk memulai rilis canary. SAE langsung meningkatkan instans canary.

  6. 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.

  7. 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 scenarioAction
Batch rilis pertama tidak memberikan respons karena exceptionKlik 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

OperationReference
Kelola siklus hidup aplikasi (perbarui, mulai, hentikan, hapus, scale in, scale out)Kelola siklus hidup aplikasi
Konfigurasikan kebijakan auto scalingKonfigurasikan kebijakan auto scaling
Bind instance CLB ke aplikasiBind instance CLB ke aplikasi, dan hasilkan IP publik atau privat untuknya
Buat aturan start dan stop terjadwalBuat aturan start dan stop terjadwal
Kelola konfigurasi terdistribusiManajemen konfigurasi terdistribusi
Ubah spesifikasi instansUbah spesifikasi instans
Lihat logManajemen log
Lihat data pemantauanManajemen pemantauan
Lihat event aplikasiLihat event aplikasi
Lihat catatan perubahanLihat catatan perubahan
Periksa kesehatan aplikasi melalui webshellGunakan fitur webshell untuk memeriksa status kesehatan aplikasi