Auto scaling secara dinamis menyesuaikan jumlah instans aplikasi berdasarkan metrik real-time atau jadwal yang telah ditentukan. Saat terjadi lonjakan traffic, EDAS menambahkan instans untuk menjaga performa; saat permintaan turun, EDAS menghapus instans untuk mengurangi biaya.
Auto scaling tersedia untuk aplikasi yang diterapkan di kluster Container Service for Kubernetes (ACK) dan kluster ACK Serverless. EDAS memanfaatkan teknologi manajemen lonjakan traffic yang digunakan oleh Alibaba Group untuk menangani event bertraffic tinggi seperti Double 11, sehingga memungkinkan auto scaling dalam hitungan detik. Hal ini menjamin kepatuhan terhadap SLA dan mengurangi biaya retensi server. Auto scaling berlaku untuk industri seperti Internet, game, dan platform jejaring sosial.
Cara kerja auto scaling
Auto scaling EDAS mendukung dua jenis pemicu:
Time triggers: Melakukan scaling berdasarkan jadwal berulang. Gunakan time triggers ketika beban mengikuti pola yang dapat diprediksi, misalnya traffic tinggi selama jam kerja dan traffic rendah pada malam hari.
Metric-based triggers: Melakukan scaling berdasarkan metrik real-time seperti penggunaan CPU, memory usage, laju permintaan, atau response time. Gunakan metric-based triggers ketika beban tidak dapat diprediksi atau berkorelasi dengan indikator performa tertentu.
Multiple triggers
Anda dapat mengonfigurasi multiple triggers dalam satu kebijakan. Perilakunya bergantung pada versi kluster Kubernetes Anda:
| Versi kluster | Evaluasi pemicu |
|---|---|
| Lebih awal dari V1.15.0 | Scaling hanya terjadi ketika semua pemicu terpenuhi. |
| V1.15.0 atau lebih baru | Scaling terjadi ketika salah satu pemicu terpenuhi. Jika multiple triggers aktif, sistem menggunakan jumlah instans yang diharapkan tertinggi. |
Integrasi SLB dan persistent storage
Auto scaling bekerja secara otomatis dengan fitur EDAS lainnya:
Server Load Balancer (SLB): Jika Service dikonfigurasi dan sebuah Instance SLB diikat ke aplikasi, EDAS secara otomatis menambahkan atau menghapus instans yang diskalakan dari daftar server backend SLB.
Persistent storage: Jika persistent storage dikonfigurasi, EDAS secara otomatis mengaitkan instans baru dengan penyimpanan yang telah dikonfigurasi.
Prasyarat
Sebelum memulai, pastikan bahwa:
Aplikasi Anda diterapkan di kluster ACK atau ACK Serverless.
Auto scaling node diaktifkan untuk kluster Kubernetes Anda. Jika auto scaling node dinonaktifkan, auto scaling aplikasi mungkin tidak berlaku. Aktifkan auto scaling node di Konsol ACK pada halaman Clusters.
Tidak ada perubahan aplikasi yang sedang berlangsung (deployment, scaling, atau perubahan spesifikasi). Anda tidak dapat membuat kebijakan auto scaling selama perubahan aktif berlangsung.
Setelah Anda mengaktifkan kebijakan auto scaling, Anda tidak dapat stop, start, atau manually scale aplikasi. Untuk melakukan operasi tersebut, nonaktifkan terlebih dahulu kebijakan auto scaling.
Buat kebijakan auto scaling
Masuk ke Konsol EDAS.
Di panel navigasi sebelah kiri, pilih Application Management > Applications. Di bilah navigasi atas, pilih wilayah. Di bagian atas halaman Applications, pilih ruang mikroservis dari daftar drop-down Microservices Namespace. Lalu, klik nama aplikasi yang ingin Anda kelola.
Di panel navigasi sebelah kiri halaman detail aplikasi, pilih Application Settings > Auto Scaling. Di halaman Auto Scaling, klik Create Auto Scaling Policy. Atau, di pojok kanan atas halaman Application Overview, pilih Scale > Auto Scaling, lalu klik Create Auto Scaling Policy. Anda juga dapat memilih templat di bagian bawah halaman Auto Scaling pada bagian Create Metric-based Auto Scaling Policy atau Create Scheduled Auto Scaling Policy.
Di bidang Policy Name, masukkan nama untuk kebijakan tersebut.
CatatanNama harus dimulai dengan huruf, dan dapat berisi angka, huruf, tanda hubung (-), dan garis bawah (_). Panjang maksimum: 30 karakter.
Di bagian Trigger Conditions, klik Create Trigger. Di panel Create Trigger, konfigurasikan pemicu tersebut lalu klik OK.
Masukkan Trigger Name. Nama harus dimulai dengan huruf, dan dapat berisi angka, huruf, tanda hubung (-), dan garis bawah (_). Panjang maksimum: 30 karakter.
Konfigurasikan time trigger
Gunakan time trigger untuk melakukan scaling instans sesuai jadwal berulang.
Atur Trigger Type ke Time Trigger.
Atur Cycle ke Every Day, Every Week, atau Every Month.
CatatanJika Anda memilih Every Week, tentukan hari dalam minggu tersebut. Untuk mengatur aturan berbeda untuk hari berbeda, buat time triggers terpisah.
Konfigurasikan Trigger Time on a Single Day: tentukan waktu pemicu dan jumlah instans target untuk setiap event. Klik Add untuk menambahkan baris lain.
Batasan berikut berlaku:
Batasan Detail Waktu pemicu lampau Jika waktu pemicu yang ditentukan telah lewat, konfigurasi akan berlaku pada siklus berikutnya. Interval minimum Interval antara event pemicu berturut-turut harus lebih dari 10 menit. Laju perubahan minimum Jumlah instans harus berubah lebih dari 10% antara event berturut-turut. Jika event pertama menargetkan Pod1 instans dan yang kedua menargetkan Pod2 instans, rasio Pod2/Pod1 harus lebih besar dari 1,1 atau kurang dari 0,9. Atur Retained Instances ke jumlah instans yang ingin dipertahankan setelah kebijakan diaktifkan. Nilai valid: 0 hingga 50.
Atur Trigger Mode (hanya tersedia saat Cycle diatur ke Every Day):
Mode Perilaku Applied for Time Range Jumlah instans target tetap berlaku hingga event pemicu berikutnya. Applied at Time Point Jumlah instans target hanya berlaku pada waktu pemicu yang tepat.
Konfigurasikan metric-based trigger
Gunakan metric-based trigger untuk melakukan scaling instans berdasarkan metrik aplikasi real-time.
Atur Trigger Type ke Application Metric-based Trigger.
Pilih Metric Name:
Metrik Deskripsi Average Number of Requests per Second Provided by Applications Rata-rata QPS di seluruh instans Average Response Time of Services Provided by Applications (Milliseconds) Rata-rata response time dalam milidetik Average CPU Utilization of Applications Persentase penggunaan CPU rata-rata Average Memory Usage of Applications Persentase penggunaan memori rata-rata Opsional: Untuk metrik laju permintaan atau response time, pilih Calculate Metric Value Based on Average Data untuk meredam fluktuasi. Lalu atur Time Window for Metric Statistics ke nilai antara 300 hingga 3.600 detik.
Secara default, nilai metrik dihitung dari data real-time. Mengaktifkan opsi ini menggunakan nilai rata-rata selama jendela waktu yang ditentukan, sehingga mengurangi noise akibat lonjakan singkat.
Atur Expected Value ke nilai metrik target. Sistem akan menambah atau menghapus instans agar metrik sedekat mungkin dengan nilai ini.
Jika nilai metrik saat ini di bawah nilai yang diharapkan, sistem akan menghapus instans.
Jika nilai metrik saat ini melebihi nilai yang diharapkan, sistem akan menambah instans.
Pilih mode pemicu
Untuk setiap pemicu, pilih Mode:
Mode Perilaku Observe Only Mengirim event ke Event Center saat ambang batas tercapai, tetapi tidak memicu scaling. Gunakan mode ini untuk memvalidasi ambang batas Anda sebelum mengaktifkan auto scaling. Observe and Scale Memulai scaling dan mengirim event ke Event Center saat ambang batas tercapai. CatatanJika Anda mengatur metrik ke Average CPU Utilization of Applications atau Average Memory Usage of Applications, sistem menganggap rentang valid sebesar 0,9 hingga 1,1 kali nilai yang diharapkan. Event pemicu hanya terjadi ketika nilai metrik berada di luar rentang ini.
Atur batas jumlah instans:
CatatanNilai minimum dan maksimum tidak boleh sama.
Atur nilai-nilai ini sehingga jumlah instans saat ini berada di antara keduanya. Jika tidak, peringatan akan muncul saat Anda menyimpan kebijakan, tetapi kebijakan tetap disimpan.
Saat multiple triggers aktif, sistem menggunakan jumlah instans yang diharapkan tertinggi, dibatasi oleh maksimum dan dibatasi bawah oleh minimum.
Parameter Nilai valid Deskripsi Maximum Application Instances 2 hingga 1.000 Sistem tidak melakukan scaling melebihi batas ini. Minimum Application Instances 0 hingga 1.000 Sistem tidak melakukan scaling di bawah batas ini. Opsional: Aktifkan Custom Auto Scaling Policy untuk menyesuaikan perilaku scale-out dan scale-in secara lebih rinci.
Cooldown time
Atur Cooldown Time (Seconds) untuk mencegah tindakan scaling berurutan yang terlalu cepat. Nilai valid: 0 hingga 3.600 detik.
Perilaku Cooldown default Scale-out 0 detik Scale-in 300 detik Scaling step policies
Di bagian Scale-out Behavior, klik Create Scale-out Policy. Di bagian Scale-in Behavior, klik Create Scale-in Policy. Konfigurasikan parameter berikut untuk masing-masing:
Parameter Deskripsi Policy Type Pods (jumlah instans absolut) atau Percent (persentase dari instans saat ini). Step Size/Percentage Jumlah instans atau persentase yang ditambahkan atau dihapus per langkah. Time Period (Seconds) Jendela waktu untuk menerapkan kebijakan. Misalnya, Percent = 10 dan Time Period = 60 berarti jumlah instans berubah hingga 10% per menit. Klik Synchronize to Scale-in Policy atau Synchronize to Scale-out Policy untuk menyalin pengaturan antara perilaku scale-out dan scale-in.
Policy selection
Atur Policy Selection untuk mengontrol cara sistem memilih di antara multiple scaling policies:
Opsi Perilaku Max (default) Terapkan kebijakan yang menghasilkan perubahan terbesar. Min Terapkan kebijakan yang menghasilkan perubahan terkecil. Disabled Nonaktifkan kebijakan kustom. Klik Save.
Di pojok kanan atas halaman Auto Scaling, klik enable.
Setelah kondisi pemicu terpenuhi, EDAS melakukan scaling aplikasi berdasarkan kebijakan yang dikonfigurasi.
Verifikasi event scaling
Setelah mengaktifkan kebijakan auto scaling, verifikasi bahwa event scaling dipicu sesuai harapan:
Di pojok kanan atas halaman Auto Scaling, klik Event.
Di pojok kanan atas halaman Event Center, atur rentang waktu.
Klik tab Normal View.
Pilih k8s event dari daftar drop-down Event Source, pilih jenis event dari daftar drop-down Event Type, lalu klik Search.
Jenis Peristiwa Deskripsi ScalingReplicaSet Event yang dihasilkan dalam mode Observe and Scale. Menampilkan tindakan scaling aktual. DryRunSuccessfulReScale Event yang dihasilkan dalam mode Observe Only. Menunjukkan scaling yang seharusnya terjadi.

Anda juga dapat berlangganan event scaling di Event Center untuk menerima notifikasi saat scaling berhasil atau saat jumlah instans mencapai batas yang dikonfigurasi. Untuk informasi selengkapnya, lihat Event center.
Kelola kebijakan auto scaling
Setelah kebijakan auto scaling diaktifkan, Anda dapat disable, modify, atau delete kebijakan tersebut dari halaman Auto Scaling. Anda juga dapat enable kebijakan yang dinonaktifkan.
Selama kebijakan auto scaling diaktifkan, Anda tidak dapat stop, start, atau manually scale aplikasi. Nonaktifkan terlebih dahulu kebijakan auto scaling untuk melakukan operasi tersebut.