The transition from monolith to microservices poses several challenges, like how to redistribute the features of system over different microservices. During the transition, developers may also redesign or rethink system services significantly, which can have a strong impact on various quality aspects of the resulting system. Thus, the new system may be more or less performing depending on the ability of the developers to design microservices and the capability of the microservice architecture to represent the system. Overall, a transition to microservices may or may not end up with the same or a better performing system. One way to control the migration to microservices is to continuously monitor a system by continuously collecting performance data and feeding the resulting data analysis back in the transition process. In DevOps, such continuous feedback can be exploited to re-tune the development and deployment of system's builds. In this paper, we present PPTAM+, a tool to continuously assess the degradation of a system during a transition to microservices. In an in-production system, the tool can continuously monitor each microservice and provide indications of lost performance and overall degradation. The system is designed to be integrated in a DevOps process. The tool automates the whole process from collecting data for building the reference operational profile to streamline performance data and automatically adapt and regress performance tests on each build based the analysis' feedback obtained from tests of the previous build.
[1]
Andrea Janes,et al.
Non-distracting, Continuous Collection of Software Development Process Data
,
2018,
Synergies Between Knowledge Engineering and Software Engineering.
[2]
Sam Newman,et al.
Building microservices - designing fine-grained systems, 1st Edition
,
2015
.
[3]
Gabriele Bavota,et al.
Using Cohesion and Coupling for Software Remodularization
,
2016,
ACM Trans. Softw. Eng. Methodol..
[4]
André van Hoorn,et al.
A Quantitative Approach for the Assessment of Microservice Architecture Deployment Alternatives by Automated Performance Testing
,
2018,
ECSA.
[5]
Gregor Kiczales,et al.
Aspect-oriented programming
,
2001,
ESEC/FSE-9.
[6]
Mark Richards,et al.
Microservices AntiPatterns and Pitfalls
,
2016
.
[7]
Tommi Mikkonen,et al.
Challenges When Moving from Monolith to Microservice Architecture
,
2017,
ICWE Workshops.
[8]
Cesare Pautasso,et al.
A Declarative Approach for Performance Tests Execution in Continuous Software Development Environments
,
2018,
ICPE.
[9]
André van Hoorn,et al.
PPTAM: Production and Performance Testing Based Application Monitoring
,
2019,
ICPE Companion.
[10]
André van Hoorn,et al.
Towards Automating Representative Load Testing in Continuous Software Engineering
,
2018,
ICPE Companion.