One of the most challenging problems in the migration of a monolith to a microservices architecture is the identification of the microservices boundaries. Several approaches have been recently proposed for the automatic identification of microservices, which, even though following the same basic steps, diverge on how data of the monolith system is collected and analysed. In this paper, we compare the decompositions generated for two monolith systems into a set of candidate microservices, when static and dynamic analysis data collection techniques are used. The decompositions are generated using a combination of similarity measures and are evaluated according to a complexity metric to answer the following research question: which collection of monolith data, static or dynamic analysis, allows to generate better decompositions? As result of the analysis we conclude that neither of the analysis techniques, static nor dynamic, outperforms the other, but the dynamic collection of data requires more effort.
翻译:在将一个单一体迁移到微观服务结构中最具挑战性的问题之一是确定微观服务界限。最近为自动识别微观服务提出了几种办法,尽管采取了同样的基本步骤,但在如何收集和分析单一体系统的数据方面,这些办法各不相同。在本文件中,我们将两个单一体系统产生的分解情况比较为一套候选微观服务,在使用静态和动态分析数据收集技术时,这些分解情况是使用一系列类似性措施结合产生的,并且根据一个复杂的衡量标准进行评估,以回答以下研究问题:哪些单体数据的收集,即静态或动态分析,能够产生更好的分解情况?通过分析,我们得出结论,无论是静态或动态分析技术,都没有超越其他分析技术,而是动态收集数据需要更多努力。