Untuk melakukan upgrade aplikasi dengan beberapa instans, Anda dapat menggunakan rilis canary atau rilis bertahap. Topik ini menjelaskan rilis bertahap serta cara mengonfigurasinya dan melakukan rollback.
Prasyarat
Aplikasi memiliki lebih dari satu instans.
Informasi latar belakang
Rilis bertahap menyebar aplikasi dalam batch, hanya meng-upgrade sebagian instans pada setiap batch. Jika terjadi kegagalan selama rilis bertahap, Anda dapat menghentikan proses tersebut dan segera melakukan rollback. Setelah masalah teratasi, Anda dapat memulai kembali penyebaran.
Selama rilis bertahap, instans aplikasi disebar dalam batch dan didistribusikan secara merata di antara batch tersebut. Anda dapat memilih untuk meninjau setiap batch secara manual atau otomatis. Jika instans tidak dapat didistribusikan secara merata, batch awal berisi lebih sedikit instans, sedangkan batch akhir berisi lebih banyak.
Rilis bertahap hanya dapat digunakan ketika aplikasi memiliki lebih dari satu instans. Jika Anda menggunakan command line di IntelliJ IDEA untuk melakukan rilis bertahap pada aplikasi yang hanya memiliki satu instans, sistem akan melaporkan error.
Contoh skenario
Misalnya, sebuah aplikasi memiliki 10 instans aplikasi yang perlu di-upgrade dari versi V1 ke V2. Jika upgrade dilakukan dalam tiga batch, proses rilis bertahap ditampilkan pada .
Prosedur
Setelah Anda menyebar ulang aplikasi, aplikasi akan restart. Untuk mencegah error tak terduga seperti gangguan bisnis, kami menyarankan agar Anda menyebar aplikasi selama jam sepi.
Pada halaman SAE Application List, pilih wilayah dan namespace di bagian atas, lalu klik ID aplikasi target untuk membuka halaman detail aplikasi.
Pada halaman Basic Information aplikasi target, klik Deploy Application.
Konfigurasikan parameter penyebaran.
CatatanMetode penyebaran aplikasi didasarkan pada metode penyebaran yang Anda pilih saat pertama kali membuat aplikasi. Konfigurasikan parameter sesuai dengan metode yang dipilih.
Deployment with WAR Packages: Unggah paket WAR lain atau masukkan path paket WAR yang baru diterapkan, lalu konfigurasikan lingkungan runtime dan pengaturan lainnya.
Deployment with JAR Packages: Unggah paket JAR lain atau masukkan path paket JAR yang baru diterapkan, lalu konfigurasikan lingkungan runtime dan pengaturan lainnya.
Deployment with ZIP Packages: Unggah paket ZIP lain atau masukkan path paket ZIP yang baru diterapkan, lalu konfigurasikan lingkungan runtime dan pengaturan lainnya.
Image: Pada bagian Configure Image, klik Modify Image. Di panel Modify Image, pilih repository image atau versi gambar lainnya.
Pada bagian Release Policy Settings, Anda dapat mengonfigurasi rilis bertahap.
Configuration Item
Description
Release Policy
Pilih Phased Release.
Publish Batches
Tentukan jumlah batch untuk rilis instans aplikasi.
Interval Between Deployments In A Batch
Interval penyebaran antar instans aplikasi dalam satu batch jika batch tersebut berisi lebih dari satu instans. Satuan: detik.
Peak Volume
Ini sesuai dengan parameter MaxSurge di Kubernetes (K8s). Parameter ini menentukan jumlah instans tambahan yang dapat dibuat melebihi jumlah instans yang diharapkan.
PentingFitur ini berada dalam invitational preview. Untuk meminta akses, hubungi tim kami di grup DingTalk (ID: 32874633).
CatatanJika Minimum Alive Instances diatur ke 100% (artinya MaxUnavailable adalah 0), Peak Volume tidak boleh 0.
Jika Anda menggunakan persentase, nilainya dibulatkan ke atas. Misalnya, jika Anda mengatur nilai menjadi 25% dan terdapat 5 instans, maka Peak Volume adalah 2.
Minimum Surviving Instances
Jumlah minimum instans yang harus tetap aktif selama setiap rolling upgrade.
CatatanKami menyarankan agar Anda mengatur Minimum Alive Instances ke 1 atau lebih untuk memastikan kelangsungan bisnis. Jika Anda mengatur parameter ini ke 0, aplikasi Anda akan terganggu selama upgrade.
Jika Anda menggunakan persentase, nilainya dibulatkan ke atas. Misalnya, jika Anda mengatur nilai menjadi 25% dan terdapat 5 instans, maka Minimum Alive Instances adalah 2.
Setelah menyelesaikan konfigurasi, klik OK.
Verifikasi bahwa konfigurasi telah diterapkan dengan salah satu cara berikut:
Metode 1: Pada halaman Change History aplikasi, Anda dapat melihat detail perubahan dan status rilis. Aplikasi diperbarui jika semua batch berhasil dieksekusi.
Metode 2: Pada tab Instance List di halaman Basic Information aplikasi, Anda dapat memeriksa status berjalan instans. Penyebaran berhasil jika Execution Status bernilai Running.
Rollback aplikasi
Saat Anda melakukan upgrade instans aplikasi menggunakan rilis grayscale atau rilis bertahap, status upgrade tetap In Progress hingga semua instans di-upgrade.
Saat memantau upgrade aplikasi, jika terjadi error yang menyebabkan instans pada batch pertama berhenti merespons, klik Roll Back Immediately pada halaman Change Details untuk memastikan kelangsungan bisnis. Tindakan ini akan mengembalikan instans yang telah di-upgrade ke versi sebelumnya dan memulihkan konfigurasi sebelumnya.
Jika terjadi error—seperti deployment package yang tidak tersedia atau health check yang gagal—selama proses penyebaran, upgrade aplikasi akan gagal. SAE akan menghentikan penyebaran saat ini dan melakukan rollback.
Upgrade aplikasi di SAE akan timeout setelah sekitar 30 menit. Jika terjadi timeout, SAE akan menjeda proses perubahan. Anda kemudian dapat membuka halaman Change Details untuk secara manual menghentikan proses rilis dan melakukan rollback aplikasi.
Hentikan rilis
Untuk menghentikan perubahan yang sedang berlangsung, klik Terminate Release pada halaman Change Details.
Menghentikan rilis dapat menyebabkan beberapa versi aplikasi berjalan secara bersamaan:
Instans yang sudah diterapkan: Instans ini terus berjalan dalam status saat ini dan tidak dikembalikan (rollback).
Instans yang sedang diterapkan: Penyebaran instans ini tetap berlanjut. Setelah penyebaran selesai, instans tersebut menjalankan versi baru dari rilis ini.
Instans yang belum diterapkan (termasuk semua instans dalam batch yang belum dieksekusi): Instans ini terus berjalan dalam status saat ini. Proses rilis tidak dilanjutkan untuk instans tersebut.
Instans baru dari Auto Scaling: Instans baru yang dibuat oleh Auto Scaling menggunakan versi baru dari rilis ini.
Setelah Anda menghentikan rilis, segera sebar ulang aplikasi atau lakukan rollback ke versi sebelumnya. Hal ini memastikan bahwa semua instans aplikasi menjalankan versi yang sama.
Informasi lebih lanjut
Setelah Anda menyebar aplikasi di SAE, Anda dapat melakukan operasi berikut pada aplikasi tersebut.
Operation | References |
Operasi manajemen lifecycle, seperti memperbarui, menskalakan, memulai, menghentikan, dan menghapus aplikasi | |
Operasi untuk meningkatkan performa aplikasi, seperti auto scaling, bind CLB instance, serta start dan stop batch | |
Operasi terkait status berjalan aplikasi, seperti manajemen log, manajemen pemantauan, melihat event aplikasi, dan melihat catatan perubahan |