用单块优先方法设计微服务的可视化工具

Rina Nakazawa, Takanori Ueda, Miki Enoki, H. Horii
{"title":"用单块优先方法设计微服务的可视化工具","authors":"Rina Nakazawa, Takanori Ueda, Miki Enoki, H. Horii","doi":"10.1109/VISSOFT.2018.00012","DOIUrl":null,"url":null,"abstract":"The microservice architecture is essential for agile development and deployment of the application components; however, designing microservices for a web application is not a straight-forward task. One of the best ways to design microservices is to decompose a monolithic prototype of an application into microservices on the basis of both the complexity in engineering and the component boundaries of the application in the early phase of development. We propose a visualization tool allowing developers to interactively design microservice applications on the basis of the characteristics of source codes and the behaviors of a monolithic prototype. This visualization tool first constructs a calling-context tree from profile data taken in a dry-run of the application. Next, it generates an initial microservice design while considering keyword features in the source codes or amount of function calls between components. Developers can interactively refine this design via this visual interface by taking four-choice actions to revise boundaries of microservices while considering expected communications between them. This interaction will have a significant impact on runtime performance. Case studies of two open-source benchmark applications demonstrate the proposed tool enables interactive design of microservices. The results of the demonstration show that compared to the official microservice designs of the applications, the proposed tool can effectively design microservice applications.","PeriodicalId":412558,"journal":{"name":"2018 IEEE Working Conference on Software Visualization (VISSOFT)","volume":"1 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2018-09-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"13","resultStr":"{\"title\":\"Visualization Tool for Designing Microservices with the Monolith-First Approach\",\"authors\":\"Rina Nakazawa, Takanori Ueda, Miki Enoki, H. Horii\",\"doi\":\"10.1109/VISSOFT.2018.00012\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"The microservice architecture is essential for agile development and deployment of the application components; however, designing microservices for a web application is not a straight-forward task. One of the best ways to design microservices is to decompose a monolithic prototype of an application into microservices on the basis of both the complexity in engineering and the component boundaries of the application in the early phase of development. We propose a visualization tool allowing developers to interactively design microservice applications on the basis of the characteristics of source codes and the behaviors of a monolithic prototype. This visualization tool first constructs a calling-context tree from profile data taken in a dry-run of the application. Next, it generates an initial microservice design while considering keyword features in the source codes or amount of function calls between components. Developers can interactively refine this design via this visual interface by taking four-choice actions to revise boundaries of microservices while considering expected communications between them. This interaction will have a significant impact on runtime performance. Case studies of two open-source benchmark applications demonstrate the proposed tool enables interactive design of microservices. The results of the demonstration show that compared to the official microservice designs of the applications, the proposed tool can effectively design microservice applications.\",\"PeriodicalId\":412558,\"journal\":{\"name\":\"2018 IEEE Working Conference on Software Visualization (VISSOFT)\",\"volume\":\"1 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2018-09-01\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"13\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"2018 IEEE Working Conference on Software Visualization (VISSOFT)\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1109/VISSOFT.2018.00012\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"2018 IEEE Working Conference on Software Visualization (VISSOFT)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/VISSOFT.2018.00012","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 13

摘要

微服务架构对于应用组件的敏捷开发和部署至关重要;然而,为web应用程序设计微服务并不是一项直截了当的任务。设计微服务的最佳方法之一是在开发的早期阶段,根据工程的复杂性和应用程序的组件边界,将应用程序的整体原型分解为微服务。我们提出了一种可视化工具,允许开发人员基于源代码的特征和整体原型的行为交互式地设计微服务应用程序。这个可视化工具首先根据应用程序运行时获取的概要数据构造一个调用上下文树。接下来,在考虑源代码中的关键字特性或组件之间的函数调用数量时,生成初始微服务设计。开发人员可以在考虑微服务之间的预期通信的同时,通过以下四种选择来修改微服务的边界,从而通过这个可视化界面交互式地改进这个设计。这种交互将对运行时性能产生重大影响。两个开源基准应用程序的案例研究表明,所提出的工具支持微服务的交互式设计。实验结果表明,与官方微服务应用设计相比,该工具能够有效地设计微服务应用。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
Visualization Tool for Designing Microservices with the Monolith-First Approach
The microservice architecture is essential for agile development and deployment of the application components; however, designing microservices for a web application is not a straight-forward task. One of the best ways to design microservices is to decompose a monolithic prototype of an application into microservices on the basis of both the complexity in engineering and the component boundaries of the application in the early phase of development. We propose a visualization tool allowing developers to interactively design microservice applications on the basis of the characteristics of source codes and the behaviors of a monolithic prototype. This visualization tool first constructs a calling-context tree from profile data taken in a dry-run of the application. Next, it generates an initial microservice design while considering keyword features in the source codes or amount of function calls between components. Developers can interactively refine this design via this visual interface by taking four-choice actions to revise boundaries of microservices while considering expected communications between them. This interaction will have a significant impact on runtime performance. Case studies of two open-source benchmark applications demonstrate the proposed tool enables interactive design of microservices. The results of the demonstration show that compared to the official microservice designs of the applications, the proposed tool can effectively design microservice applications.
求助全文
通过发布文献求助,成功后即可免费获取论文全文。 去求助
来源期刊
自引率
0.00%
发文量
0
×
引用
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学术文献互助群
群 号:604180095
Book学术官方微信