Characterizing microservice dependency and performance: Alibaba trace analysis
Proceedings of the ACM Symposium on Cloud Computing, 2021•dl.acm.org
Loosely-coupled and light-weight microservices running in containers are replacing
monolithic applications gradually. Understanding the characteristics of microservices is
critical to make good use of microservice architectures. However, there is no comprehensive
study about microservice and its related systems in production environments so far. In this
paper, we present a solid analysis of large-scale deployments of microservices at Alibaba
clusters. Our study focuses on the characterization of microservice dependency as well as its …
monolithic applications gradually. Understanding the characteristics of microservices is
critical to make good use of microservice architectures. However, there is no comprehensive
study about microservice and its related systems in production environments so far. In this
paper, we present a solid analysis of large-scale deployments of microservices at Alibaba
clusters. Our study focuses on the characterization of microservice dependency as well as its …
Loosely-coupled and light-weight microservices running in containers are replacing monolithic applications gradually. Understanding the characteristics of microservices is critical to make good use of microservice architectures. However, there is no comprehensive study about microservice and its related systems in production environments so far. In this paper, we present a solid analysis of large-scale deployments of microservices at Alibaba clusters. Our study focuses on the characterization of microservice dependency as well as its runtime performance. We conduct an in-depth anatomy of microservice call graphs to quantify the difference between them and traditional DAGs of data-parallel jobs. In particular, we observe that microservice call graphs are heavy-tail distributed and their topology is similar to a tree and moreover, many microservices are hot-spots. We reveal three types of meaningful call dependency that can be utilized to optimize microservice designs. Our investigation on microservice runtime performance indicates most microservices are much more sensitive to CPU interference than memory interference. To synthesize more representative microservice traces, we build a mathematical model to simulate call graphs. Experimental results demonstrate our model can well preserve those graph properties observed from Alibaba traces.
ACM Digital Library
Showing the best result for this search. See all results