  Microservice-based architecture has become prevalent for cloud-native
applications. With an increasing number of applications being deployed on cloud
platforms every day leveraging this architecture, more research efforts are
required to understand how different strategies can be applied to effectively
manage various cloud resources at scale. A large body of research has deployed
automatic resource allocation algorithms using reactive and proactive
autoscaling policies. However, there is still a gap in the efficiency of
current algorithms in capturing the important features of microservices from
their architecture and deployment environment, for example, lack of
consideration of graphical dependency. To address this challenge, we propose
Graph-PHPA, a graph-based proactive horizontal pod autoscaling strategy for
allocating cloud resources to microservices leveraging long short-term memory
(LSTM) and graph neural network (GNN) based prediction methods. We evaluate the
performance of Graph-PHPA using the Bookinfo microservices deployed in a
dedicated testing environment with real-time workloads generated based on
realistic datasets. We demonstrate the efficacy of Graph-PHPA by comparing it
with the rule-based resource allocation scheme in Kubernetes as our baseline.
Extensive experiments have been implemented and our results illustrate the
superiority of our proposed approach in resource savings over the reactive
rule-based baseline algorithm in different testing scenarios.
