The management and implementation of distributed applications has been completely transformed by software containerization technologies. Before providing the containers to the clients, they must be correctly scaled. It is crucial that cloud service providers efficiently scale and distribute their resources and avoid under and over-provisioning of resources. Particularly, additional care should be taken for under provisioning of resources to avoid crashing of distributed applications. It is hard to manually assign resources to customers based on their continuously fluctuating workloads. The resource provisioning must be quick and automatic. Kubernetes provides a feature called autoscaler which allocates resources dynamically. However, the default autoscaler in Kubernetes is reactive as it will scale resources when load comes and allocation takes some time to get ready. This reactive nature may decrease the overall performance of application deployed. Hence, in this work, we present a proactive autoscaler mechanism that employs Bi-LSTM model to anticipate future demands and scale the containers automatically. The results using 3 node Kubernetes setup reveals that Bi-LSTM performs better than stacked LSTM and proactive autoscaler performs better than default Kubernetes autoscaler.
Hoa Xuan NguyenShaoshu ZhuMingming Liu
Luciano BaresiDavide Yi Xian HuGiovanni QuattrocchiLuca Terracciano
Somshekar PatilD. G. NarayanAjeya BhatAishwarya HungundDisha M. Patil
Kaile ZhuShihao ShenShizhan LanXiaofei WangCheng ZhangChao QiuVictor C. M. Leung