Font Size: a A A

Research On Microservice-oriented Decomposition Techniques For Monolithic Applications

Posted on:2022-07-11Degree:DoctorType:Dissertation
Country:ChinaCandidate:S S LiFull Text:PDF
GTID:1488306725970459Subject:Software engineering
Abstract/Summary:PDF Full Text Request
Microservice architecture(MSA)is the latest trend in software engineering.International Data Corporation(IDC)published a report,which pointed out that 90% of the new software systems would adopt MSA by 2022.As a new architectural style,MSA advocates decomposing applications into small services for independent development and deployment,which brings many recognized advantages,such as high deployability and scalability.However,MSA is not a silver bullet and it may also bring negative impacts to certain quality attributes(QA)of software applications,if a system is designed or decomposed inappropriately.There are still many problems to be solved when designing MSA,especially for the effective microservice-oriented decomposition,which is an acknowledged challenge in practice.It is theoretically fundamental to study the state-of-the-art of academic research and industrial practice from a scientific point of view.Moreover,it is also valuable and practical to explore microservice-oriented techniques for software systems to efficiently support the identification of appropriate service boundaries.Since microservice-oriented decomposition is critical during the migration to microservices architecture,solving relevant problems can help practitioners to analyze the return on investment ratio in advance and achieve a more effective design of MSA.Although many investigations have been conducted on related problems in the industry,they are still at an immature stage.In academia,current researches lack a systematic understanding of the concerns in this thesis.Design and decomposition methods need further exploration and optimization to effectively support the migration to microservice architecture.This thesis aims to address the aforementioned microserviceoriented decomposition problem using empirical software engineering methods.In short,it firstly collected relevant evidence from both academic and industrial dimensions to help establish a comprehensive understanding of microservice-oriented decomposition techniques.Then a systematic and efficient microservice-oriented decomposition method was explored and further optimized.The output of this thesis is aimed at guiding the design practice of MSA and promoting the smooth and rapid migration of traditional software system architecture to MSA.Specifically,the main research contents,methods,and contributions of this thesis are introduced as follows:1.Proposing a model for the classification of microservice-oriented decomposition techniques.A systematic literature review(SLR)was conducted to identify and synthesize the relevant studies that report evidence related to the current status of the academic research in terms of microservice-oriented decomposition techniques.Based on the data extracted from the selected primary studies,this thesis portrays an overview of the identified microservice-oriented decomposition techniques,including the impacts on quality attributes(QAs)due to decomposition,classifications,limitations,and future work directions.The contribution of this research is threefold: 1)It identifies six critical QAs impacted by the microserviceoriented decomposition.2)It establishes a model to classify and analyze the existing decomposition techniques from the aspects of three main phases adopting microservice-oriented decomposition,i.e.analyzing and understanding monolithic applications,identifying microservice candidates,and evaluating the candidate microservices identified.3)It discusses four limitations and future research directions about the current decomposition techniques,including the usability,flexibility,and universality of techniques as well as the comprehensiveness of the evaluation mechanism.This research could help practitioners to gain an in-depth understanding of microservice-oriented decomposition techniques and make tactical decisions in their practices based on the theoretical support.In particular,the findings about the limitations of existing techniques can be served as a direction indicator of the following research in this thesis to develop more effective decomposition techniques for the identification of microservices with suitable granularity.2.Establishing a framework about the industrial patterns of microservice-oriented decomposition in practice.This thesis conducted an exploratory survey based on in-depth interviews with different types of companies having MSA practices.The survey conducted paid attention to the current status,patterns,and constraints of adopting MSA.The contribution of this research is threefold: 1)It generates a set of common motivations,gains,and pains when practitioners applying the new MSA style.2)It establishes a framework refining typical patterns used in three main activities of conducting microservice-oriented decomposition,namely three patterns for analyzing and understanding monolithic applications,seven patterns for identifying microservices candidates,and two patterns for refactoring legacy applications.3)It identifies three constraints that should be considered during the process of microservice-oriented decomposition,the implementation of Database per Service criteria,flexibility,and usability.Based on the findings of the SLR research,this research provides a practical pattern framework,which can guide the subsequent study to propose a more effective,flexible,efficient,and easy-to-use microserviceoriented decomposition technique and can also benefit other practitioners for their exercises in adopting and implementing microservices.3.Designing a more effective and easy-to-use microservice-oriented decomposition technique.Based on the technique classification model and the pattern framework established by the first two research,this thesis proposes a Data-Flow Driven Decomposition approach(DFD)for microservice-oriented decomposition,since data flow diagrams have the promising features of presenting the coupling relation between processes and data stores and may effectively support the implementation of the Database per Service criteria and the successful identification of microservice candidates and their own databases.In particular,it extracts the dependencies between processes and data stores from different levels of data flow diagrams of systems.Then candidate microservices are identified by clustering processes and their closely related data stores using rules and algorithms designed based on the“high cohesion and loose coupling” criteria.The semi-automatic DFD method proposed can generate candidate microservices of different granularities to minimize the side effects of microservice-oriented decomposition on systems,e,g.,performance.To validate the effectiveness of this method,a case study on a Cargo Tracking System was performed.The results show that the DFD approach can recommend microservice candidates with sound coupling and cohesion through a rigorous and easy-to-operate implementation with semi-automatic support,which proves the effectiveness and usability of the proposed DFD approach.4.Implementing an optimized microservice-oriented decomposition technique supporting framework.Based on the theoretical foundation of the DFD method,this thesis proposes an optimized approach(DFD-A)through overcoming its two limitations,i.e.efficiency and flexibility.Combining the dynamic and static analysis technology,the DFD-A approach realizes the automatic data flow information collection and identifies microservices using a more flexible two-phase clustering algorithm.The data flow information collected can reflect the cohesion and coupling feature of processes and data.Based on the technique classification model and the pattern framework,this thesis also implements a prototype tool to automatically support the whole process of applying microservice-oriented decomposition,which are data collection,decomposition,and even the evaluation of microservice candidates using some typical metrics.The results of a case study demonstrate the effectiveness,efficiency,and flexibility of the DFD-A method for microserviceoriented decomposition and evaluation.In conclusion,this thesis is based on the systematic evidence identified from both academia and industry in terms of microservice-oriented decomposition techniques that contribute to the establishment of the technique classification model and the pattern framework respectively.It particularly explores,validates,and implements a more effective,easy-to-use,efficient,and flexible solution as well as framework for microserviceoriented decomposition to help practitioners quickly incorporate MSA into their software systems.The outputs of this thesis involve theoretical tactics,methods,and practical tool support,which can also advance the development of research and techniques in this domain.
Keywords/Search Tags:Microservices architecture, Quality attributes, Data flow, Decomposition techniques
PDF Full Text Request
Related items