The evolution and erosion of a service-oriented architecture in enterprise software : A study of a service-oriented architecture and its transition to a microservice architecture

University essay from Linköpings universitet/Programvara och system

Abstract: In this thesis project, a company’s continuously evolved service-oriented software architecture was studied for signs of architectural erosion. The architecture has been continuously developed over some time and the company have experienced a reduction in architectural quality and felt that it no longer fulfilled its design goals and therefore decided to start working on a replacement architecture based on the microservice archi-tectural style. This thesis project therefore aimed to study how the current architectures quality have changed during its evolution, find the causes of these changes in quality, andestimate how the planned microservice migration will effect these changes in quality. This study was performed in three steps. First, a suite of suitable quality metrics where gathered based on the stated architectural design goals and what information can be ex-tracted from the history of the implemented architecture. A tool was developed to model the architecture and to gather the quality metrics from the current architecture and how ithas changed over one year’s worth of development and evolution. Secondly, the causes ofthese changes in architectural quality was investigated through developer interviews with a wide range of developers that had worked on the architecture and the web application that it provides the structure for. The interviews focused on the topics of architectural knowledge, what consideration is taken to its design during component development, maintenance of existing components and architecture, as well as questions regardingspecific components and anomalies. Thirdly and finally, the migration to a microserviceand its effects on the quality of the current architecture is estimated through performing microservice reengineering on the model used to evaluate the current architecture. The tools developed during this thesis allowed for an analysis of the architecture didshow an increase in consistency violations, structural problems and level the of coupling have substantially increased over the version history that the model tracked. It was discov-ered by the developer interviews that some of the causes of this erosion was due to among other reasons an abandonment of some architectural deign decisions, lack of architectural knowledge on certain topics, and none-optimal development conditions and priorities. The microservice reengineering showed how the migration could be used to improve themeasured quality metrics and that a migration alongside some other architectural erosionprevention and repair methods could create an architecture that are more modular and erosion tolerant.

  AT THIS PAGE YOU CAN DOWNLOAD THE WHOLE ESSAY. (follow the link to the next page)