Abstract
This thesis aims to address how monolithic applications can be transformed into microservice architectures, and how migration patterns can enable this transition. Changing the underlying architecture of an existing application is a complex task. VentopayGmbH, the company collaborating on this thesis, wants to evaluate the migration to
microservices as part of their innovation efforts on existing products. This evaluation
includes addressing potential scalability and performance issues in one of their products
and remedying the disadvantages monolithic applications come with.
In this thesis, we will explore how to extract a microservice architecture from a monolithic application serving mobile applications and we will migrate a part of this newly
designed microservice architecture. The design process involves techniques for both automatic and manual microservice extraction from monolithic applications, domain-driven
design and identifying microservice candidates from an application heavily utilizing
stored procedures to implement business logic. We will define and apply our own approach for extracting microservices from monoliths which is based on examined extraction approaches. This will result in a REST-based and event-driven microservice
architecture focussed on solving scalability and performance issues originating from the
monolithic architecture that integrates the legacy SOAP-based service and all of its
current requirements.
The practical part of this thesis covers the migration process, demonstrating how migration patterns can effectively address concerns about architectural evolution using
incremental migration techniques such as strangler fig and blueprint. We will propose
and evaluate the application of migration patterns to solve issues related to the interconnectedness between the migrated service and other independent services, as well as
address the concerns expressed by Ventopay GmbH regarding the transformation. To
tackle these concerns and other problems encountered during the migration phase, we
will select migration patterns based on the underlying requirements of the application
and showcase their application when evolving the existing architecture.
Date of Award | 2024 |
---|---|
Original language | English (American) |
Supervisor | Johann Heinzelreiter (Supervisor) |