Companies like Netflix, Google, Amazon, Twitter successfully exemplified elastic and scalable microservicearchitectures for very large systems. Microservice architectures are often realized in a way to deploy servicesas containers on container clusters. Containerized microservices often use lightweight and REST-based mech-anisms. However, this lightweight communication is often routed by container clusters through heavyweightsoftware defined networks (SDN). Services are often implemented in different programming languages addingadditional complexity to a system, which might end in decreased performance. Astonishingly it is quite com-plex to figure out these impacts in the upfront of a microservice design process due to missing and specializedbenchmarks. This contribution proposes a benchmark intentionally designed for this microservice setting. Weadvocate that it is more useful to reflect fundamental design decisions and their performance impacts in theupfront of a microservice architecture development and not in the aftermath. We present some findings regard-ing performance impacts of some TIOBE TOP 50 programming languages (Go, Java, Ruby, Dart), containers(Docker as type representative) and SDN solutions (Weave as type representative).

Keywords: microservice, container, Docker, cluster, network, performance, reference, benchmark, REST, SDN

Details [KQ2016a]

Author(s): Kratzke, Nane and Quint, Peter-Christian
Title(s): ppbench - A Visualizing Network Benchmark for Microservices
In book: Proceedings of the 6th International Conference on Cloud Computing and Services Science (CLOSER 2016
Pages: 223-231
Url: https://www.researchgate.net/publication/292657431
Year: 2016