End-to-End Cloud Application Cloning With Ditto

Published: 2024, Last Modified: 30 Sept 2024IEEE Micro 2024EveryoneRevisionsBibTeXCC BY-SA 4.0
Abstract: The lack of publicly available cloud services has been a recurring problem in architecture and systems. Although open source benchmarks exist, they do not capture the complexity of cloud services. Application cloning is a promising approach, however, prior work is limited to CPU-/cache-centric, single-node services. We present Ditto, a framework for cloning end-to-end cloud applications and monolithic and microservices that captures input–output and network activity as well as kernel operations, in addition to application logic. Ditto takes a hierarchical approach to application cloning, capturing the dependency graph across services, recreating each tier’s control/dataflow, and generating system calls and assembly that mimics individual applications. Ditto does not reveal the logic of the original application, facilitating publicly sharing clones of production services. We show that across a diverse set of applications, Ditto accurately captures their resource characteristics as well as their performance metrics, is portable across platforms, and facilitates a wide range of studies.
Loading