An Open-Source Benchmark Suite for Cloud and IoT Microservices
Abstract
Cloud services have recently started undergoing a major shift from monolithic applications, to graphs of hundreds of loosely-coupled microservices. Microservices fundamentally change a lot of assumptions current cloud systems are designed with, and present both opportunities and challenges when optimizing for quality of service (QoS) and utilization. In this paper we explore the implications microservices have across the cloud system stack. We first present DeathStarBench, a novel, open-source benchmark suite built with microservices that is representative of large end-to-end services, modular and extensible. DeathStarBench includes a social network, a media service, an e-commerce site, a banking system, and IoT applications for coordination control of UAV swarms. We then use DeathStarBench to study the architectural characteristics of microservices, their implications in networking and operating systems, their challenges with respect to cluster management, and their trade-offs in terms of application design and programming frameworks. Finally, we explore the tail at scale effects of microservices in real deployments with hundreds of users, and highlight the increased pressure they put on performance predictability.
Cite
@article{arxiv.1905.11055,
title = {An Open-Source Benchmark Suite for Cloud and IoT Microservices},
author = {Yu Gan and Yanqi Zhang and Dailun Cheng and Ankitha Shetty and Priyal Rathi and Nayan Katarki and Ariana Bruno and Justin Hu and Brian Ritchken and Brendon Jackson and Kelvin Hu and Meghna Pancholi and Yuan He and Brett Clancy and Chris Colen and Fukang Wen and Catherine Leung and Siyuan Wang and Leon Zaruvinsky and Mateo Espinosa and Rick Lin and Zhongling Liu and Jake Padilla and Christina Delimitrou},
journal= {arXiv preprint arXiv:1905.11055},
year = {2019}
}