Modernization of Monolithic Legacy Applications towards a Microservice Architecture with ExplorViz

Lenga, Stephan (2019) Modernization of Monolithic Legacy Applications towards a Microservice Architecture with ExplorViz (Master thesis), Kiel University, Kiel, Germany, 97 pp

[img]
Preview
Text
thesis.pdf - Published Version

Download (4Mb) | Preview

Abstract

With the rapid advance of the digitization in nearly every branch of industry, the scope and complexity of required software systems have reached new heights. In order to keep up and adapt to the ever-changing requirements of the fast-moving markets, it is often not enough to only rely on state-of-the-art technologies when developing software applications. Additionally, software developers have to adjust their development process for staying competitive. As a matter of fact, a monolithic software system, which was and still is a popular architecture style among software developers, tends to struggle with meeting these standards. Especially legacy software monoliths suffer from their over the time convoluted and tightly coupled inner structure. Their often outdated technology stack as well as their cumbersome deployment and delivery process pose a great risk for successful maintenance and further development. Consequently, within the last years, companies have been extensively investing in modernizing the software architecture and development processes of their products. By moving away from software monoliths towards the emerging microservice architecture style, an agile and robust software system with a compatible development process can be realized. However, this modernization can be highly challenging from a practical point of view. Available software solutions, which aim at supporting the restructuring of software monoliths into microservices, often do not satisfy the arising needs of the developers. While these products offer numerous static analysis functionalities, dynamic analysis aspects are mostly missing. Yet, especially a dynamic analysis can provide invaluable information about overlooked characteristics of the software system.
In this thesis, we investigate the beneficial impact of the live trace visualization tool ExplorViz when it comes to supporting developers during the software modernization process. Therefore, we combine the dynamic analysis toolkit of ExplorViz with commonly used static analysis tools for discovering a feasible microservice architecture within the monolithic online lottery application in|FOCUS. Based on relevant research results and fundamental domain-driven design concepts, a well-structured software modernization process is presented and executed. Furthermore, we exploit the self-contained systems architecture style as an intermediate step towards a microservice architecture. After discussing opportunities and challenges that are encountered during this modernization endeavor, we evaluate the supporting features of ExplorViz. To this end, a questionnaire containing qualitative open-ended questions is developed and used for conducting a guided interview with the software developers of the in|FOCUS application. Besides providing critical feedback on the current development state of ExplorViz, in particular its capabilities to support software modernization process, this evaluation gives rise to possible future development ideas for the live trace visualization tool.

Document Type: Thesis (Master thesis)
Thesis Advisors: Hasselbring, Wilhelm and Krause, Alexander
Keywords: Microservices
Research affiliation: Kiel University > Software Engineering
Projects: ExplorViz, Kieker
Date Deposited: 19 Oct 2019 18:27
Last Modified: 25 Oct 2019 11:47
URI: http://eprints.uni-kiel.de/id/eprint/48007

Actions (login required)

View Item View Item

Document Downloads

More statistics for this item...