通过运行时位置适应改进基于微服务的应用程序

IF 2.4 Q3 COMPUTER SCIENCE, INFORMATION SYSTEMS
Adalberto R. Sampaio, Julia Rubin, Ivan Beschastnikh, Nelson S. Rosa
{"title":"通过运行时位置适应改进基于微服务的应用程序","authors":"Adalberto R. Sampaio, Julia Rubin, Ivan Beschastnikh, Nelson S. Rosa","doi":"10.1186/s13174-019-0104-0","DOIUrl":null,"url":null,"abstract":"Microservices are a popular method to design scalable cloud-based applications. Microservice-based applications (μApps) rely on message passing for communication and to decouple each microservice, allowing the logic in each service to scale independently. Complex μApps can contain hundreds of microservices, complicating the ability of DevOps engineers to reason about and automatically optimize the deployment. In particular, the performance and resource utilization of a μApp depends on the placement of the microservices that compose it. However, existing tools for μApps, like Kubernetes, provide minimal ability to influence the placement and utilization of a μApp deployment. In this paper, we first identify the runtime aspects of microservice execution that impact the placement of microservices in a μApp. We then review the challenges of reconfiguring a μApp based on these aspects. Our main contribution is an adaptation mechanism, named REMaP, to manage the placement of microservices in an μApp automatically. To achieve this, REMaP uses microservice affinities and resource usage history. We evaluate our REMaP prototype and demonstrate that our solution is autonomic, lowers resource utilization, and can substantially improve μApp performance.","PeriodicalId":46467,"journal":{"name":"Journal of Internet Services and Applications","volume":"21 1","pages":"1-30"},"PeriodicalIF":2.4000,"publicationDate":"2019-02-26","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"49","resultStr":"{\"title\":\"Improving microservice-based applications with runtime placement adaptation\",\"authors\":\"Adalberto R. Sampaio, Julia Rubin, Ivan Beschastnikh, Nelson S. Rosa\",\"doi\":\"10.1186/s13174-019-0104-0\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"Microservices are a popular method to design scalable cloud-based applications. Microservice-based applications (μApps) rely on message passing for communication and to decouple each microservice, allowing the logic in each service to scale independently. Complex μApps can contain hundreds of microservices, complicating the ability of DevOps engineers to reason about and automatically optimize the deployment. In particular, the performance and resource utilization of a μApp depends on the placement of the microservices that compose it. However, existing tools for μApps, like Kubernetes, provide minimal ability to influence the placement and utilization of a μApp deployment. In this paper, we first identify the runtime aspects of microservice execution that impact the placement of microservices in a μApp. We then review the challenges of reconfiguring a μApp based on these aspects. Our main contribution is an adaptation mechanism, named REMaP, to manage the placement of microservices in an μApp automatically. To achieve this, REMaP uses microservice affinities and resource usage history. We evaluate our REMaP prototype and demonstrate that our solution is autonomic, lowers resource utilization, and can substantially improve μApp performance.\",\"PeriodicalId\":46467,\"journal\":{\"name\":\"Journal of Internet Services and Applications\",\"volume\":\"21 1\",\"pages\":\"1-30\"},\"PeriodicalIF\":2.4000,\"publicationDate\":\"2019-02-26\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"49\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"Journal of Internet Services and Applications\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1186/s13174-019-0104-0\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"Q3\",\"JCRName\":\"COMPUTER SCIENCE, INFORMATION SYSTEMS\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"Journal of Internet Services and Applications","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1186/s13174-019-0104-0","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"Q3","JCRName":"COMPUTER SCIENCE, INFORMATION SYSTEMS","Score":null,"Total":0}
引用次数: 49

摘要

微服务是设计可伸缩的基于云的应用程序的流行方法。基于微服务的应用程序(μApps)依靠消息传递进行通信,并解耦每个微服务,允许每个服务中的逻辑独立扩展。复杂的μ应用程序可以包含数百个微服务,使DevOps工程师推理和自动优化部署的能力变得复杂。特别是,μApp的性能和资源利用率取决于组成它的微服务的位置。然而,现有的μApp工具,如Kubernetes,提供的影响μApp部署的位置和利用的能力很小。在本文中,我们首先确定影响微服务在μApp中放置的微服务执行的运行时方面。然后,我们回顾了基于这些方面重新配置μApp的挑战。我们的主要贡献是一个名为REMaP的适应机制,用于自动管理μApp中微服务的放置。为了实现这一点,REMaP使用微服务关联和资源使用历史。我们评估了我们的REMaP原型,并证明了我们的解决方案是自主的,降低了资源利用率,并且可以大大提高μApp的性能。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
Improving microservice-based applications with runtime placement adaptation
Microservices are a popular method to design scalable cloud-based applications. Microservice-based applications (μApps) rely on message passing for communication and to decouple each microservice, allowing the logic in each service to scale independently. Complex μApps can contain hundreds of microservices, complicating the ability of DevOps engineers to reason about and automatically optimize the deployment. In particular, the performance and resource utilization of a μApp depends on the placement of the microservices that compose it. However, existing tools for μApps, like Kubernetes, provide minimal ability to influence the placement and utilization of a μApp deployment. In this paper, we first identify the runtime aspects of microservice execution that impact the placement of microservices in a μApp. We then review the challenges of reconfiguring a μApp based on these aspects. Our main contribution is an adaptation mechanism, named REMaP, to manage the placement of microservices in an μApp automatically. To achieve this, REMaP uses microservice affinities and resource usage history. We evaluate our REMaP prototype and demonstrate that our solution is autonomic, lowers resource utilization, and can substantially improve μApp performance.
求助全文
通过发布文献求助,成功后即可免费获取论文全文。 去求助
来源期刊
Journal of Internet Services and Applications
Journal of Internet Services and Applications COMPUTER SCIENCE, INFORMATION SYSTEMS-
CiteScore
3.70
自引率
0.00%
发文量
2
审稿时长
13 weeks
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术官方微信