{'fraction_non_alphanumeric': 0.01276595744680851, 'fraction_numerical': 0.0, 'mean_word_length': 6.27319587628866, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Characterizing and synthesizing the workflow structure of microservices in ByteDance Cloud

Modern Cloud applications have evolved from monolithic systems to numerous distributed microservices whose workflows interact via Remote Procedure Calls (RPCs). The benchmarks focusing on individual microservice components are insufficient because the reference relationships between components, which form the microservice workflow structure, are another critical aspect of microservice applications. Unfortunately, understanding the characteristics of microservice workflow in the production Cloud remains a missing piece in the literature, which prevents the representative of microservice benchmarks. In this paper, we fill this gap by characterizing and synthesizing the microservice workflows based on the trace data of the Toutiao application that is running on ByteDance Cloud. We examine the microservice workflows starting from DAG graphs, introduce observed properties that are easy to ignore but important, show the artificiality of the workflow by statistic description, and explore the high cost of network overhead. We further synthesize the workflow following the characteristics observed. The extensive evaluations show that the synthesized microservice workflows have consistent statistical characteristics as the production ones. A case study applying the synthesized workflows proves its usability.