Performance Evaluation of Microservices Architectures using Containers

Marcelo Amaral,Jordà Polo,David Carrera,Iqbal Mohomed,Merve Unuvar,Malgorzata Steinder
DOI: https://doi.org/10.48550/arXiv.1511.02043
2015-11-06
Distributed, Parallel, and Cluster Computing
Abstract:Microservices architecture has started a new trend for application development for a number of reasons: (1) to reduce complexity by using tiny services; (2) to scale, remove and deploy parts of the system easily; (3) to improve flexibility to use different frameworks and tools; (4) to increase the overall scalability; and (5) to improve the resilience of the system. Containers have empowered the usage of microservices architectures by being lightweight, providing fast start-up times, and having a low overhead. Containers can be used to develop applications based on monolithic architectures where the whole system runs inside a single container or inside a microservices architecture where one or few processes run inside the containers. Two models can be used to implement a microservices architecture using containers: master-slave, or nested-container. The goal of this work is to compare the performance of CPU and network running benchmarks in the two aforementioned models of microservices architecture hence provide a benchmark analysis guidance for system designers.
What problem does this paper attempt to address?