Font Size: a A A

A Microservice Identification Method For Legacy System

Posted on:2021-05-27Degree:MasterType:Thesis
Country:ChinaCandidate:Y K ZhangFull Text:PDF
GTID:2518306479465084Subject:Master of Engineering
Abstract/Summary:PDF Full Text Request
With the rapid increase in software complexity and scale,the system based on monolithic architecture can't adapt the need of quick response ability and scale flexibility under uncertain demands due to its inherent defects in construction,evolution,and deployment.The software based on microservice architecture is consist of a series of smaller,well-defined,and autonomous service components that can support independent deployment and independent evolution,it has been a hot issue in academic and the main method for the industry to replace monolithic architecture.The literature points out that it is quite a challenge to properly partitioning the legacy system into suitable part as microservices when migrating from a monolithic legacy system to a microservice architecture system.The division decision will directly affect the functional integrity and independence of each microservice and architecture no-functional considerations in deployment,maintenance,and evolution,thus affect the overall quality of system architecture design.However,engineering practice has proved that the identification process of microservices is a labor-intensive work that relies heavily on the architect's technical experience and domain knowledge.In the academic field,most of the existing work related to identifying microservices from the legacy system is based on a very ideal assumption that documents,design models,codes,etc.can be obtained directly.This does not consider the fact that the legacy system may have missing documents,inconsistencies between codes and documents,and codes that cannot be provided due to competition agreements or confidentiality clauses.The latest researches of some scholars have begun to pay attention to the irrationality of this hypothesis,but they all implement the identification process based on a single functional perspective,fail to systematically characterize the comprehensive indicators of microservice architecture systems in design,operation,and maintenance,the results of which may cause inaccuracy in the identification results or inaccurate performance load.Therefore,this thesis attempts to discuss a microservice identification framework based on comprehensive indicators.We propose a microservice identification method based on the typical functional metric(high cohesion and low coupling)and non-functional metric(CPU and memory load balance).This method has document-free and code-free features,and can only rely on the system execution log to provide an automated solution for identifying microservices from legacy systems.The main contributions are as follows:Firstly,aiming at the problem of inaccessible documents and codes,a method for generating running cases and collecting log based on the profile is proposed.It uses a hierarchical profile to reorganize the functional description of the document-missing legacy system,moreover generates running cases.Then with the help of JMeter,these cases are executed into a black box system monitored by Kieker and Jvisual VM to collect functional logs and non-functional logs.Secondly,in view of the shortcoming of the existing researches that mainly use single-aspect metrics,a microservice identification method based on multi-objective genetic algorithm is proposed.Controller objects are firstly identified from log as key objects to converge strongly related subordinate objects.Subsequently,the relation between each pair of CO and SO is evaluated by relation matrix from the functional and non-functional perspective.The legacy system is ultimately partitioned into the microservices by optimizing the multi-objective of high-cohesion-low-coupling and load balance.Thirdly,a prototype demo is implemented to support the AMI method in the way of a web application,provides static model and dynamic model for identification result.Finally,the result of AMI is compared with other methods in a customized evaluation system.The evaluation data show that the generated microservice candidate set has an obvious advantage in load balance under the premise of ensuring high cohesion and low coupling.
Keywords/Search Tags:microservice architecture, automated microservice identification, legacy system restructuring, non-functional metrics, multi-objective genetic algorithm
PDF Full Text Request
Related items