Workload characterization for microservices
2016 IEEE international symposium on workload characterization (IISWC), 2016•ieeexplore.ieee.org
The microservice architecture is a new framework to construct a Web service as a collection
of small services that communicate with each other. It is becoming increasingly popular
because it can accelerate agile software development, deployment, and operation practices.
As a result, cloud service providers are expected to host an increasing number of
microservices that can generate significant resource pressure on the cloud infrastructure.
We want to understand the characteristics of microservice workloads to design an …
of small services that communicate with each other. It is becoming increasingly popular
because it can accelerate agile software development, deployment, and operation practices.
As a result, cloud service providers are expected to host an increasing number of
microservices that can generate significant resource pressure on the cloud infrastructure.
We want to understand the characteristics of microservice workloads to design an …
The microservice architecture is a new framework to construct a Web service as a collection of small services that communicate with each other. It is becoming increasingly popular because it can accelerate agile software development, deployment, and operation practices. As a result, cloud service providers are expected to host an increasing number of microservices that can generate significant resource pressure on the cloud infrastructure. We want to understand the characteristics of microservice workloads to design an infrastructure optimized for microservices. In this paper, we used Acme Air, an open-source benchmark for Web services, and analyzed the behavior of two versions of the benchmark, microservice and monolithic, for two widely used language runtimes, Node.js and Java. We observed a significant overhead due to the microservice architecture; the performance of the microservice version can be 79.2% lower than the monolithic version on the same hardware configuration. On Node.js, the microservice version consumed 4.22 times more time in the libraries of Node.js than the monolithic version to process one user request. On Java, the microservice version also consumed more time in the application server than the monolithic version. We explain these performance differences from both hardware and software perspectives. We discuss the network virtualization in Docker, an infrastructure for microservices that has nonnegligible impact on performance. These findings give clues to develop optimization techniques in a language runtime and hardware for microservice workloads.
ieeexplore.ieee.org
Showing the best result for this search. See all results