In recent years, there has been a shift in software development towards microservice-based architectures, which consist of small services that focus on one particular functionality. Many companies are migrating their applications to such architectures to reap the benefits of microservices, such as increased flexibility, scalability and a smaller granularity of the offered functionality by a service. On the one hand, the benefits of microservices for functional testing are often praised, as the focus on one functionality and their smaller granularity allow for more targeted and more convenient testing. On the other hand, using microservices has their consequences (both positive and negative) on other types of testing, such as performance testing. Performance testing is traditionally done by establishing the baseline performance of a software version, which is then used to compare the performance testing results of later software versions. However, as we show in this paper, establishing such a baseline performance is challenging in microservice applications. In this paper, we discuss the benefits and challenges of microservices from a performance tester's point of view. Through a series of experiments on the TeaStore application, we demonstrate how microservices affect the performance testing process, and we demonstrate that it is not straightforward to achieve reliable performance testing results for a microservice application.
CITATION STYLE
Eismann, S., Bezemer, C. P., Shang, W., Okanović, D., & Van Hoorn, A. (2020). Microservices: A performance tester’s dream or nightmare? In ICPE 2020 - Proceedings of the ACM/SPEC International Conference on Performance Engineering (pp. 138–149). Association for Computing Machinery, Inc. https://doi.org/10.1145/3358960.3379124
Mendeley helps you to discover research relevant for your work.