Advanced Horizontal Pod Autoscaler (AHPA) adalah fitur autoscaling prediktif di Container Service for Kubernetes (ACK) yang menganalisis data metrik historis untuk memprediksi permintaan workload dan menyediakan Pod sebelum terjadi lonjakan traffic, sehingga menghilangkan keterlambatan reaktif yang melekat pada autoscaling Kubernetes standar.
Latar Belakang
Pendekatan autoscaling Kubernetes standar memiliki sejumlah kekurangan:
| Metode | Keterbatasan |
|---|---|
| Jumlah Pod tetap | Pod menganggur membuang resource selama jam sepi |
| Horizontal Pod Autoscaler (HPA) | Hanya melakukan scaling setelah penggunaan resource melewati ambang batas, sehingga Pod belum siap hingga setelah permintaan meningkat |
| CronHPA | Mengharuskan Anda menentukan jumlah Pod secara manual untuk setiap slot waktu — 1.440 jadwal terpisah untuk mencakup satu hari penuh dengan granularitas per menit — dan harus diperbarui setiap kali pola traffic berubah |
AHPA mengatasi keterbatasan ini dengan mempelajari data historis. Alih-alih bereaksi terhadap permintaan setelah datang, AHPA mengidentifikasi fluktuasi workload berdasarkan nilai historis metrik tertentu dan durasi waktu yang dibutuhkan Pod hingga statusnya menjadi Ready. Dengan demikian, AHPA dapat menyediakan jumlah Pod yang tepat per menit selama 24 jam ke depan, sehingga kapasitas sudah tersedia saat traffic tiba.
Cara Kerja
Metrik yang Didukung
AHPA melakukan scaling workload berdasarkan CPU, GPU, memori, queries per second (QPS), response time (RT), dan metrik eksternal.
Mekanisme Prediksi
AHPA menggunakan dua mekanisme prediksi yang saling melengkapi:
Prediksi proaktif — Menganalisis data metrik historis untuk mendeteksi pola periodik dan memprediksi permintaan di masa depan. Cocok untuk workload dengan siklus traffic reguler dan berulang.
Prediksi pasif — Memantau metrik secara real time dan menyesuaikan kapasitas secara dinamis saat kondisi berubah.
Bersama-sama, kedua mekanisme ini mencapai akurasi identifikasi fluktuasi workload di atas 95%.
Degradasi Layanan
Saat workload berperilaku tidak sesuai ekspektasi, AHPA memungkinkan Anda menentukan jumlah Pod minimum dan maksimum untuk periode waktu tertentu—hingga tingkat menit—sebagai batas bawah dan atas guna menjaga stabilitas.
Target penskalaan
AHPA terintegrasi dengan tiga mekanisme scaling:
| Target penskalaan | Cara AHPA menggunakannya |
|---|---|
| Knative | Mengatasi latensi cold start dalam skenario arsitektur tanpa server dengan melakukan scaling berdasarkan konkurensi, QPS, atau RT |
| HPA | Membungkus HPA standar dengan logika prediktif, menyederhanakan konfigurasi kebijakan, dan menghilangkan keterlambatan reaktif |
| Deployment | Melakukan scaling Deployment secara langsung tanpa memerlukan HPA sebagai perantara |
Kemampuan Utama
| Kemampuan | Detail |
|---|---|
| Kecepatan prediksi | Memprediksi fluktuasi workload dalam hitungan milidetik |
| Kecepatan scaling | Menyediakan Pod dalam hitungan detik |
| Akurasi | Mengidentifikasi fluktuasi workload dengan akurasi >95% |
| Granularitas waktu | Mendukung batas jumlah Pod yang akurat hingga tingkat menit |
Kasus Penggunaan
Workload periodik — Aplikasi dengan siklus traffic yang dapat diprediksi, seperti live streaming, pendidikan daring, dan platform game.
Penanganan traffic lonjakan — Deployment yang menggabungkan jumlah Pod garis dasar tetap dengan autoscaling untuk menyerap lonjakan traffic tak terduga dalam skenario bisnis reguler.
Integrasi perencanaan kapasitas — Sistem yang membutuhkan rekomendasi penyediaan Pod. AHPA menyediakan API Kubernetes standar sehingga hasil prediksi dapat diambil dan diintegrasikan ke dalam sistem Anda sendiri.