Teknologi aplikasi yang dikemas berkembang seiring dengan meningkatnya minat
terhadap arsitektur microservice pada pengembangan aplikasi terdistribusi. Tren ini
menunjukkan pentingnya pengelolaan dan orkestrasi aplikasi yang dikemas supaya
aplikasi dapat beroperasi dengan baik. Salah satu aspek pengelolaan aplikasi yang
dikemas adalah scaling. Proses scaling kini sudah banyak dilakukan otomasi oleh
teknologi orkestrasi aplikasi seperti Kubernetes.
Di sisi pengembangan aplikasi, terdapat Service Level Objective (SLO) yang perlu
dipenuhi oleh pengembang. Salah satu metrik yang umum digunakan adalah
average response time. Pada level operasional, autoscaling dapat menjadi alternatif
solusi untuk memenuhi SLO berupa average response time.
Pada Tugas Akhir ini, dikembangkan autoscaler yang menggunakan prediksi
response time sebagai parameter saat melakukan scaling untuk aplikasi berbasis
microservice pada lingkungan Kubernetes. Fungsi prediksi yang dikembangkan
memiliki fitur-fitur metrik kinerja pada level microservice dan node. Prediksi
response time kemudian digunakan untuk menghitung jumlah replika yang
diperlukan oleh aplikasi supaya memenuhi SLO.
Hasil-hasil yang didapatkan adalah sistem autoscaler yang diusulkan dapat
melayani request dengan mean absolute error dari response time dan SLO lebih
kecil daripada HPA dengan target penggunaan CPU. Meskipun demikian,
autoscaler yang diusulkan masih belum dapat melayani request sebanyak HPA
dengan target penggunaan CPU. Autoscaler yang diusulkan juga memakan lebih
banyak sumber daya node daripada HPA dengan target penggunaan CPU karena
lebih sering melakukan scale out.