Autoscaling functions provide the foundation for achieving elasticity in the modern cloud computing paradigm. It enables dynamic provisioning or de-provisioning resources for cloud software services and applications without human intervention to adapt to workload fluctuations. However, autoscaling microservice is challenging due to various factors. In particular, complex, time-varying service dependencies are difficult to quantify accurately and can lead to cascading effects when allocating resources. This paper presents DeepScaler, a deep learning-based holistic autoscaling approach for microservices that focus on coping with service dependencies to optimize service-level agreements (SLA) assurance and cost efficiency. DeepScaler employs (i) an expectation-maximization-based learning method to adaptively generate affinity matrices revealing service dependencies and (ii) an attention-based graph convolutional network to extract spatio-temporal features of microservices by aggregating neighbors' information of graph-structural data. Thus DeepScaler can capture more potential service dependencies and accurately estimate the resource requirements of all services under dynamic workloads. It allows DeepScaler to reconfigure the resources of the interacting services simultaneously in one resource provisioning operation, avoiding the cascading effect caused by service dependencies. Experimental results demonstrate that our method implements a more effective autoscaling mechanism for microservice that not only allocates resources accurately but also adapts to dependencies changes, significantly reducing SLA violations by an average of 41% at lower costs.
翻译:自动伸缩功能为现代云计算范式实现弹性提供了基础,它能够在无需人工干预的情况下,为云软件服务和应用动态配置或释放资源,以适应工作负载波动。然而,由于多种因素,微服务的自动伸缩颇具挑战性。特别是,复杂且随时间变化的服务依赖关系难以精确量化,并在资源分配时可能导致级联效应。本文提出DeepScaler,一种基于深度学习的微服务整体自动伸缩方法,专注于应对服务依赖关系,以优化服务等级协议(SLA)保障和成本效率。DeepScaler采用:(i)基于期望最大化(EM)的学习方法自适应生成揭示服务依赖关系的亲和矩阵;(ii)基于注意力机制的图卷积网络,通过聚合图结构数据的邻居信息提取微服务的时空特征。因此,DeepScaler能够捕获更多潜在的服务依赖关系,并在动态工作负载下准确估计所有服务的资源需求。这使得DeepScaler能够在一项资源供应操作中同时重新配置相互依赖服务的资源,避免由服务依赖关系引起的级联效应。实验结果表明,我们的方法为微服务实现了更有效的自动伸缩机制,不仅能精确分配资源,还能适应依赖关系的变化,在较低成本下平均将SLA违规率降低41%。