基于微服务特性的容器自动扩缩容研究
详细信息    查看全文 | 推荐本文 |
  • 英文篇名:Research on container auto-scaling based on microservices feature
  • 作者:李翔 ; 张帆 ; 李治江
  • 英文作者:LI Xiang;ZHANG Fan;LI Zhijiang;School of Printing and Packaging,Wuhan University;
  • 关键词:自动扩缩容 ; 微服务 ; Docker容器 ; 容器规格 ; 请求频次 ; 响应时间
  • 英文关键词:auto-scaling;;microservices;;Docker container;;container-size;;request frequency;;response time
  • 中文刊名:WSDD
  • 英文刊名:Engineering Journal of Wuhan University
  • 机构:武汉大学印刷与包装系;
  • 出版日期:2019-07-15
  • 出版单位:武汉大学学报(工学版)
  • 年:2019
  • 期:v.52;No.268
  • 语种:中文;
  • 页:WSDD201907013
  • 页数:8
  • CN:07
  • ISSN:42-1675/T
  • 分类号:90-97
摘要
基于微服务特性和其在Docker容器中的应用,提出了基于请求频次和响应时间的容器自动扩缩容策略.不同于传统基于阈值扩容策略中使用单一系统指标,通过对微服务REST API访问的监控,使用应用级指标请求频次和响应时间,定量描述应用特征.通过测试得到不同大小容器规格与服务请求频次、响应时间的关系数据.在应用部署时,可根据服务所需请求频次选择合适的容器资源配置,在应用扩容时,可将响应时间作为扩容阈值.实验验证,该扩容策略可在满足服务SLA(响应时间等)的同时,在应用部署与扩容过程中最大化地利用计算资源.
        Based on the microservice characteristics and the Docker container, a container auto-scaling strategy is proposed by using service request frequency and response time. Different with traditional threshold-based autoscaling using single system-level index, we apply the application-level characteristics,the request frequency and the response time,to describe an application quantitatively by monitoring the micro-service REST API. We can measure the relationship between container-size, service request frequency and response time. According to the relationship data, we can select the appropriate container-size by the different required service request frequency when deploy an application and we can take the response time as auto-scaling threshold when scale. The experiments results prove that our auto-scaling strategy could make the application maximizing the usage of computing resources while satisfy the service SLA, no matter deploying or scaling.
引文
[1]Amazon AWS Services[EB/OL].[2017-05-20].https://aws.amazon.com/.
    [2]Google Cloud Platform[EB/OL].[2017-05-20].https://cloud.google.com/.
    [3]Microsoft Azure[EB/OL].[2017-05-20].https://azure.microsoft.com/enus/?b=16.48/.
    [4]阿里云[EB/OL].[2017-05-20].https://www.aliyun.com/.
    [5]腾讯云[EB/OL].[2017-05-20].https://www.qcloud.com/.
    [6]华为云[EB/OL].[2017-05-20].http://www.hwclouds.com/.
    [7]网易云[EB/OL].[2017-05-20].https://c.163.com/.
    [8]Merkel D.Docker:lightweight Linux containers for consistent development and deployment[J].Linux Journal,2014,2014(239):76-91.
    [9]Richardson C.Building microservices:inter-process communication in a microservices architecture[EB/OL].[2015-07-24].https://www.nginx.com/blog/building-microservices-inter-process-communication/.
    [10]Lorido-Botran T,Miguel-Alonso J,Lozano J A.Areview of auto-scaling techniques for elastic applications in cloud environments[J].Journal of Grid Computing,2014,12(4):559-592.
    [11]Dutreilh X,Moreau A,Malenfant J,et al.From data center resource allocation to control theory and back[C]//IEEE International Conference on Cloud Computing,IEEE,2010:410-417.
    [12]Han R,Guo L,Ghanem M M,et al.Lightweight resource scaling for cloud applications[C]//IEEEInternational Symposium on Cluster,Cloud and Grid Computing,2012:644-651.
    [13]Hasan M Z,Magana E,Clemm A,et al.Integrated and autonomic cloud resource scaling[C]//IEEENetwork Operations and Management Symposium,IEEE,2012:1327-1334.
    [14]Koperek P,Funika W Odzimierz.Dynamic business metrics-driven resource provisioning in cloud environments[C]//International Conference on Parallel Processing and Applied Mathematics.SpringerVerlag,2011:171-180.
    [15]Chieu T C,Mohindra A,Karve A A,et al.Dynamic scaling of web applications in a virtualized cloud computing environment[C]//IEEE International Conference on e-Business Engineering,IEEE,2009:281-286.
    [16]Chieu T C,Mohindra A,Karve A A,et al.Scalability and performance of web applications in a compute cloud[C]//IEEE International Conference on e-Business Engineering,IEEE,2011:317-323
    [17]RightScale[EB/OL].[2017-05-20].http://www.rightscale.com/.
    [18]Simmons B,Ghanbari H,Litoiu M,et al.Managing a SaaS application in the cloud using PaaS policy sets and a strategy-tree[C]//International Conference on Network and Service Management,IEEE,2011:1-5.
    [19]Lorido-Botran T,Miguel-Alonso J,Lozano J A.Comparison of auto-scaling techniques for cloud environments[R].Technical Report EHU-KAT-IK,2012:1-44.
    [20]Docker:What is Docker[EB/OL].[2017-05-20]https://www.Docker.com/what-Docker/.
    [21]Xavier M G,Neves M V,Rose C A F D.Aperformance comparison of container-Based virtualization systems for MapReduce clusters[C]//Euromicro International Conference on Parallel,Distributed,and Network-Based Processing,IEEEComputer Society,2014:299-306.
    [22]Dua R,Raja A R,Kakadia D.Virtualization vs containerization to support PaaS[C]//IEEEInternational Conference on Cloud Engineering,IEEE,2014:610-614.
    [23]Felter W,Ferreira A,Rajamony R,et al.An updated performance comparison of virtual machines and Linux containers[C]//IEEE International Symposium on Performance Analysis of Systems and Software(ISPASS),IEEE,2015:171-172.
    [24]Joy A M.Performance comparison between Linux containers and virtual machines[C]//Computer Engineering and Applications,IEEE,2015:342-346.
    [25]Seo K T,Hwang H S,Moon I Y,et al.Performance comparison analysis of Linux container and virtual machine for building cloud[J].Advanced Science and Technology Letters,2014,66(25):105-111.
    [26]Scheepers M J.Virtualization and containerization of application infrastructure:A comparison[C]//21st Twente Student Conference on IT,2014:1-7.
    [27]Barham P,Dragovic B,Fraser K,et al.Xen and the art of virtualization[J].ACM SIGOPS Operating Systems Review,2003,37(5):164-177.
    [28]Qumranet A K,Qumranet Y K,Qumranet D L,et al.KVM:the Linux virtual machine monitor[C]//Proc Linux Symposium,2007:225-230
    [29]Lewis J,Fowler M.Microservices:a definition of this new architectural term[EB/OL].[2017-05-20].https://martinfowler.com/articles/microservices.html/.
    [30]Richardson C.Introduction to microservices[EB/OL].[2015-05-19].https://www.nginx.com/blog/introduction-to-microservices/.
    [31]Richardson C.Choosing a microservices deployment strategy[EB/OL].[2016-02-10].https://www.nginx.com/blog/deploying-microservices/.