Microservices: A Performance Tester's Dream or Nightmare?
S. Eismann, C. Bezemer, W. Shang, D. Okanovic, and A. van Hoorn. Proceedings of the 2020 ACM/SPEC International Conference on Performance Engineering (ICPE), (April 2020)Acceptance Rate: 23.4% (15/64), ACM Artifacts Evaluated — Functional.
Abstract
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 testers 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.
%0 Conference Paper
%1 EiBeShOkHo2020-ICPE-ServerlessWorkflows
%A Eismann, Simon
%A Bezemer, Cor-Paul
%A Shang, Weiyi
%A Okanovic, Dusan
%A van Hoorn, Andre
%B Proceedings of the 2020 ACM/SPEC International Conference on Performance Engineering (ICPE)
%D 2020
%K descartes se2 t_full
%T Microservices: A Performance Tester's Dream or Nightmare?
%U https://dl.acm.org/doi/abs/10.1145/3358960.3379124
%X 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 testers 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.
@inproceedings{EiBeShOkHo2020-ICPE-ServerlessWorkflows,
abstract = {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 testers 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.},
added-at = {2020-04-06T12:15:14.000+0200},
author = {Eismann, Simon and Bezemer, Cor-Paul and Shang, Weiyi and Okanovic, Dusan and van Hoorn, Andre},
biburl = {https://www.bibsonomy.org/bibtex/2e95625b5e6a1db331d65307bf2e2991c/se-group},
booktitle = {Proceedings of the 2020 ACM/SPEC International Conference on Performance Engineering (ICPE)},
interhash = {d351041570054d07d34b56ffbe510f6e},
intrahash = {e95625b5e6a1db331d65307bf2e2991c},
keywords = {descartes se2 t_full},
month = {April},
note = {{Acceptance Rate: 23.4% (15/64), ACM Artifacts Evaluated — Functional}},
series = {ICPE'20},
timestamp = {2021-12-13T11:15:40.000+0100},
title = {{Microservices: A Performance Tester's Dream or Nightmare?}},
url = {https://dl.acm.org/doi/abs/10.1145/3358960.3379124},
year = 2020
}