An automatic extraction approach: transition to microservices architecture from monolithic application

An automatic extraction approach: transition to microservices architecture from monolithic application
复制标题

自动提取方法:从单体应用程序过渡到微服务架构

DOI:
10.1145/3234152.3234195
复制
发表时间:
2018
期刊:
Proceedings of the 19th International Conference on Agile Software Development: Companion
影响因子:
--
通讯作者:
F. Buzluca
F. Buzluca
中科院分区:
--
文献类型:
--
作者:
Sinan Eski;F. Buzluca

文献摘要

被引文献

相似文献

微服务架构已被引入作为单片架构的新替代方案。它有几个好处,如可扩展性,可靠性,敏捷性和生产力的提高,故障恢复能力,易于部署和维护,以及缩短上市时间。因此,软件公司已经表现出将其遗留应用程序的架构从单体转换为微服务架构的趋势。在这个转换过程中,软件开发团队面临着将大型应用程序迁移到新体系结构的挑战,在新体系结构中,理解当前应用程序和重用现有代码库非常重要。在本文中,我们提出了一种使用代码存储库将现有应用程序转换为微服务的新方法。我们使用进化和静态代码耦合信息以及图聚类方法,以便从整体中自动提取微服务。在实验分析中,我们调查了两个软件项目,通过将提取的微服务与实际结果进行比较,我们的方法达到了89%的成功率。
Microservice architecture has been introduced as a new alternative to the monolithic architecture. It has several benefits like scalability, reliability, increase in agility and productivity, resilience to failure, ease of deployment and maintenance, and decrease in time to market. Therefore, software companies have showed a tendency to transform architecture of their legacy applications from monoliths to microservice architecture. In this transformation process, software development teams face the challenge of migration of large applications to the new architecture, where understanding the current application and reusing existing code base are important. In this paper, we propose a new approach to transform existing applications into microservices using code repositories. We use evolutionary and static code coupling information, and the graph clustering methodology, in order to automatically extract microservices from monoliths. In experimental analysis, we investigate two software projects and our approach reach up to 89% of success rate by comparing extracted microservices with the actual results.