title: Evolving legacy enterprise systems with microservices-based architecture in cloud environments
Creators: name: Habibullah, Safa
Publisher: name: Edinburgh Napier University
Year: 2021

description: Many legacy enterprise systems suffer from a number of common and critical problems. Such systems have often been implemented in the past with hardware and software technologies which are now out of date. Furthermore, they have often been modified in piecemeal so as to allow them to cope with changed requirements, and the need for new functionalities, which have come to light since their initial implementation. Thus, they are often ‘messy’ in their implementations and difficult to use: the modules are no longer well-structured, and many dependencies exist across module boundaries; also some new functionalities may prove impossible to incorporate within them. The old-fashioned technologies on which they are based frequently are unable to deliver the speed and throughput required by the business environment, and such technologies usually do not offer the ease of modification provided by modern service oriented and networked systems. Further, new technologies are often available on a much wider range of platforms and are generally more scalable and flexible – leading to much greater ease of use.

Therefore, there is a need to migrate legacy systems to the newer technologies and in this process to construct the more well-structured systems. One path by which this can be done is to migrate the system to the Cloud-based technology, and in the course of this migration, to re-structure it into a microservices-based architecture. By doing so, the hope is that the resultant system will be easier to modify, offer higher performance, and offer other benefits as well, such as better security. To attain these hoped-for benefits, it is vital that the migration is performed in an appropriate approach.

The contributions of this thesis are to propose and validate an approach to the migration of a legacy system to a microservice-oriented architecture and Cloud based system. This approach is predicated on the creation and use of two sets of rules: a set of feature-driven microservice transformation rules and a set of feature-driven cloud migration rules. It is hypothesized that the correct interpretation of, and the appropriate adherence to, these rules will lead to the implementation of a new microservices-oriented and Cloud based system, which will replace the functionality of the legacy system, improve the QoS offered by this, in terms of non-functional requirements, and be far easier to modify in the future in order to cope with further functional and other requirements which may emerge.

To verify that the proposed approach and its associated rules are fit for the above purpose, two case studies are embarked upon. One involves the comprehensive conversion of a legacy system, via the rules, into a Cloud and microservices architecture based system implemented within a container technology environment – an environment which, according to the literature, is the one best suited to this purpose. The testing and implementation involved with that case study is focused on the microservice-oriented system’s compliance with non-functional requirements such as throughput. The second case study is analysis-intensive, focusing on how a much more complex and much larger legacy system could be migrated in the same way. This latter case study is focused on interoperability, testability, maintainability, availability, and scalability. The results from these case studies verify the validity and efficacy of the approach and the rules which are developed for it, and lead to some insightful suggestions for future research.