Workload Characterization for Microservices

The microservice architecture is a new service model to compose 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. We want to understand their characteristics to design an infrastructure optimized for microservices. In this study, we used Acme Air, an open-source benchmark application for Web services, and analyzed the behavior of the application in two models, microservice and monolithic, for two widely used language runtimes, Node.js and Java Enterprise Edition (EE). We observed a significant overhead due to the microservice architecture; the performance of the microservice model can be 79.1% lower than the monolithic model on the same hardware configuration. The microservice model spent much more time in runtime libraries to process one client request than the monolithic model by 4.22x on a Node.js application server and by 2.69x on a Java EE application server. We explain the performance impact due to the microservice architecture through detailed performance analysis. We also discuss the performance impact due to network virtualization associated with the Docker container framework, which is commonly used as an infrastructure for microservices. These findings give us clues to optimizing the language runtime and hardware architecture for microservices.

By: Takanori Ueda, Takuya Nakaike, and Moriyoshi Ohara

Published in: RT0973 in 2016


This Research Report is available. This report has been submitted for publication outside of IBM and will probably be copyrighted if accepted for publication. It has been issued as a Research Report for early dissemination of its contents. In view of the transfer of copyright to the outside publisher, its distribution outside of IBM prior to publication should be limited to peer communications and specific requests. After outside publication, requests should be filled only by reprints or legally obtained copies of the article (e.g., payment of royalties). I have read and understand this notice and am a member of the scientific community outside or inside of IBM seeking a single copy only.


Questions about this service can be mailed to .