Microservices-based Software Systems Reengineering: State-of-the-Art and Future Directions

Read original: arXiv:2407.13915 - Published 7/22/2024 by Thakshila Imiya Mohottige (University of Melbourne), Artem Polyvyanyy (University of Melbourne), Rajkumar Buyya (University of Melbourne), Colin Fidge (Queensland University of Technology), Alistair Barros (Queensland University of Technology)
Total Score

0

Microservices-based Software Systems Reengineering: State-of-the-Art and Future Directions

Sign in to get full access

or

If you already have an account, we'll log you in

Overview

  • This paper provides a comprehensive review of the state-of-the-art in microservices-based software system reengineering.
  • It examines the current practices, challenges, and future directions in this rapidly evolving field.
  • The review covers a wide range of topics, including architecture, deployment, testing, and monitoring of microservices.

Plain English Explanation

Microservices are a way of designing software applications by breaking them down into smaller, independent components that can be developed, deployed, and scaled independently. This paper looks at the current state of the art in how organizations are transitioning their existing software systems to use a microservices architecture.

The paper surveys the latest research and practices in this area, exploring the benefits and challenges that come with restructuring a monolithic application into a microservices-based system. For example, microservices can make it easier to update and scale individual parts of an application, but they also introduce new complexities around things like communication between services, monitoring, and testing.

The authors examine the various approaches and techniques that developers and architects are using to overcome these challenges and successfully reengineer their software systems using microservices. They also identify some of the key areas where further research and innovation is needed to advance the state of the art in microservices-based software reengineering.

Technical Explanation

The paper begins by outlining the systematic literature review process used to identify and analyze the relevant research on microservices-based software reengineering. This involved searching multiple academic databases to find peer-reviewed publications on the topic, and then carefully screening and selecting the most relevant studies.

The authors then present their findings from the literature review, organized into several key themes. These include the architectural patterns and deployment strategies being used for microservices-based systems, as well as the testing and monitoring approaches.

The paper also discusses the challenges and future research directions in this domain, highlighting areas such as improved tooling, better integration with legacy systems, and more advanced techniques for managing the complexity of microservices-based architectures.

Critical Analysis

The paper provides a comprehensive and well-structured review of the current state of microservices-based software reengineering. The authors have clearly put a lot of effort into surveying the relevant literature and synthesizing the key insights.

That said, the paper does acknowledge some of the limitations of the existing research in this area. For example, many of the studies focus on specific case studies or proof-of-concept implementations, rather than large-scale real-world deployments. There is also a need for more empirical research to quantify the benefits and trade-offs of adopting a microservices architecture.

Additionally, the paper does not delve deeply into some of the more complex technical challenges, such as the implications of using distributed data storage or the security considerations for microservices-based systems. Further exploration of these topics could provide valuable insights for practitioners.

Conclusion

This paper offers a comprehensive overview of the current state of microservices-based software reengineering. It highlights the major architectural patterns, deployment strategies, testing approaches, and monitoring techniques being used in practice, as well as the key challenges and future research directions in this rapidly evolving field.

The review provides a valuable resource for software engineers, architects, and researchers who are interested in understanding the latest trends and best practices in transitioning monolithic applications to a microservices-based architecture. The insights gained from this paper can help organizations make more informed decisions and develop more effective strategies for reengineering their software systems.



This summary was produced with help from an AI and may contain inaccuracies - check out the links to read the original source documents!

Follow @aimodelsfyi on 𝕏 →

Related Papers

Microservices-based Software Systems Reengineering: State-of-the-Art and Future Directions
Total Score

0

Microservices-based Software Systems Reengineering: State-of-the-Art and Future Directions

Thakshila Imiya Mohottige (University of Melbourne), Artem Polyvyanyy (University of Melbourne), Rajkumar Buyya (University of Melbourne), Colin Fidge (Queensland University of Technology), Alistair Barros (Queensland University of Technology)

Designing software compatible with cloud-based Microservice Architectures (MSAs) is vital due to the performance, scalability, and availability limitations. As the complexity of a system increases, it is subject to deprecation, difficulties in making updates, and risks in introducing defects when making changes. Microservices are small, loosely coupled, highly cohesive units that interact to provide system functionalities. We provide a comprehensive survey of current research into ways of identifying services in systems that can be redeployed as microservices. Static, dynamic, and hybrid approaches have been explored. While code analysis techniques dominate the area, dynamic and hybrid approaches remain open research topics.

Read more

7/22/2024

Total Score

0

Service Mesh: Architectures, Applications, and Implementations

Behrooz Farkiani, Raj Jain

The scalability and flexibility of microservice architecture have led to major changes in cloud-native application architectures. However, the complexity of managing thousands of small services written in different languages and handling the exchange of data between them have caused significant management challenges. Service mesh is a promising solution that could mitigate these problems by introducing an overlay layer on top of the services. In this paper, we first study the architecture and components of service mesh architecture. Then, we review two important service mesh implementations and discuss how the service mesh could be helpful in other areas, including 5G.

Read more

5/24/2024

Towards Secure Management of Edge-Cloud IoT Microservices using Policy as Code
Total Score

0

Towards Secure Management of Edge-Cloud IoT Microservices using Policy as Code

Samodha Pallewatta, Muhammad Ali Babar

IoT application providers increasingly use MicroService Architecture (MSA) to develop applications that convert IoT data into valuable information. The independently deployable and scalable nature of microservices enables dynamic utilization of edge and cloud resources provided by various service providers, thus improving performance. However, IoT data security should be ensured during multi-domain data processing and transmission among distributed and dynamically composed microservices. The ability to implement granular security controls at the microservices level has the potential to solve this. To this end, edge-cloud environments require intricate and scalable security frameworks that operate across multi-domain environments to enforce various security policies during the management of microservices (i.e., initial placement, scaling, migration, and dynamic composition), considering the sensitivity of the IoT data. To address the lack of such a framework, we propose an architectural framework that uses Policy-as-Code to ensure secure microservice management within multi-domain edge-cloud environments. The proposed framework contains a control plane to intelligently and dynamically utilise and configure cloud-native (i.e., container orchestrators and service mesh) technologies to enforce security policies. We implement a prototype of the proposed framework using open-source cloud-native technologies such as Docker, Kubernetes, Istio, and Open Policy Agent to validate the framework. Evaluations verify our proposed framework's ability to enforce security policies for distributed microservices management, thus harvesting the MSA characteristics to ensure IoT application security needs.

Read more

7/1/2024

A Document-based Knowledge Discovery with Microservices Architecture
Total Score

0

A Document-based Knowledge Discovery with Microservices Architecture

Habtom Kahsay Gidey, Mario Kesseler, Patrick Stangl, Peter Hillmann, Andreas Karcher

The first step towards digitalization within organizations lies in digitization - the conversion of analog data into digitally stored data. This basic step is the prerequisite for all following activities like the digitalization of processes or the servitization of products or offerings. However, digitization itself often leads to 'data-rich' but 'knowledge-poor' material. Knowledge discovery and knowledge extraction as approaches try to increase the usefulness of digitized data. In this paper, we point out the key challenges in the context of knowledge discovery and present an approach to addressing these using a microservices architecture. Our solution led to a conceptual design focusing on keyword extraction, similarity calculation of documents, database queries in natural language, and programming language independent provision of the extracted information. In addition, the conceptual design provides referential design guidelines for integrating processes and applications for semi-automatic learning, editing, and visualization of ontologies. The concept also uses a microservices architecture to address non-functional requirements, such as scalability and resilience. The evaluation of the specified requirements is performed using a demonstrator that implements the concept. Furthermore, this modern approach is used in the German patent office in an extended version.

Read more

7/2/2024