MSTG: A Flexible and Scalable Microservices Infrastructure Generator
Emilien Wansart, Maxime Goffart, Justin Iurman, Benoit Donnet
TL;DR
MSTG tackles the need for network-aware benchmarking of microservice architectures by providing a topology generator that synthesizes both application and network layers from a YAML config. It supports deployment on Docker Compose or Kubernetes and integrates telemetry stacks (OpenTelemetry, Jaeger) as well as in-path telemetry (Ioam). The paper details the architecture, components, configuration format, and limitations, and validates MSTG through methodology-driven evaluation and use cases, including replication of the OpenTelemetry demo and intelligent service selection using Ioam, SDN, and M-Anycast. The results demonstrate MSTG's correctness, performance, and practical utility for testing telemetry integration and network conditions prior to production deployment. The work culminates with a public codebase and implications for broader adoption in cloud-native, network-aware microservices evaluation.
Abstract
The last few years in the software engineering field has seen a paradigm shift from monolithic application towards architectures in which the application is split in various smaller entities (i.e., microservices) fueled by the improved availability and ease of use of containers technologies such as Docker and Kubernetes. Those microservices communicate between each other using networking technologies in place of function calls in traditional monolithic software. In order to be able to evaluate the potential, the modularity, and the scalability of this new approach, many tools, such as microservices benchmarking, have been developed with that objective in mind. Unfortunately, many of these tend to focus only on the application layer while not taking the underlying networking infrastructure into consideration. In this paper, we introduce and evaluate the performance of a new modular and scalable tool, MicroServices Topology Generator (MSTG), that allows to simulate both the application and networking layers of a microservices architecture. Based on a topology described in YAML format, MSTG generates the configuration file(s) for deploying the architecture on either Docker Composer or Kubernetes. Furthermore, MSTG encompasses telemetry tools, such as Application Performance Monitoring (APM) relying on OpenTelemetry. This paper fully describes MSTG, evaluates its performance, and demonstrates its potential through several use cases.
