A Model-driven Approach for Continuous Performance Engineering in Microservice-based Systems
arXiv:2302.09999 · doi:10.1016/j.jss.2021.111084
Abstract
Microservices are quite widely impacting on the software industry in recent years. Rapid evolution and continuous deployment represent specific benefits of microservice-based systems, but they may have a significant impact on non-functional properties like performance. Despite the obvious relevance of this property, there is still a lack of systematic approaches that explicitly take into account performance issues in the lifecycle of microservice-based systems. In such a context of evolution and re-deployment, Model-Driven Engineering techniques can provide major support to various software engineering activities, and in particular they can allow managing the relationships between a running system and its architectural model. In this paper, we propose a model-driven integrated approach that exploits traceability relationships between the monitored data of a microservice-based running system and its architectural model to derive recommended refactoring actions that lead to performance improvement. The approach has been applied and validated on two microservice-based systems, in the domain of e-commerce and ticket reservation, respectively, whose architectural models have been designed in UML profiled with MARTE.
References in corpus (1)
Cited by in corpus (9)
- Towards effective assessment of steady state performance in Java software: Are we there yet?
- Experimental evaluation of architectural software performance design patterns in microservices
- Many-Objective Optimization of Non-Functional Attributes based on Refactoring of Software Models
- A customizable approach to assess software quality through Multi-Criteria Decision Making
- Architectural Support for Software Performance in Continuous Software Engineering: A Systematic Mapping Study
- Exploring sustainable alternatives for the deployment of microservices architectures in the cloud
- Multi-objective Software Architecture Refactoring driven by Quality Attributes
- Performance of Genetic Algorithms in the Context of Software Model Refactoring
- On the Role of Search Budgets in Model-Based Software Refactoring Optimization