MSTG: A Flexible and Scalable Microservices Infrastructure Generator
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.
- P. Gill, M. Arlitt, Z. Li, and A. Mahant, “The Flattening Internet Topology: Natural Evolution, Unsightly Barnacles or Contrived Collapse?” in Proc. Passive and Active Measurement Conference (PAM), April 2008.
- A. Dhamdhere and C. Dovrolis, “The Internet is Flat: Modeling the Transition from a Transit Hierarchy to a Peering Mesh,” in Proc. ACM CoNEXT, December 2010.
- H. Zhao and J. Bi, “Characterizing and Analysis of the Flattening Internet Topology,” in Proc. International Symposium on Computers and Communications (ISCC), July 2013.
- T. Böttger, F. Cuadrado, G. Tyson, I. Castro, and S. Uhlig, “Open Connect Everywhere: A Glimpse at the Internet Ecosystem Through the Lens of the Netflix CDN,” ACM SIGCOMM Computer Communication Review, vol. 48, no. 1, January 2018.
- T. Mizrahi, N. Sprecher, E. Bellagamba, and Y. Weingarten, “An Overview of Operations, Administration, and Maintenance (OAM) Tools,” Internet Engineering Task Force, RFC 7276, June 2014.
- D. Katz and D. Ward, “Bidirectional Forwarding Detection (BFD),” Internet Engineering Task Force, RFC 5880, June 2010.
- Facebook, “UdpPinger,” see https://github.com/facebook/UdpPinger.
- Facebook, “fbtracert,” see https://github.com/facebook/fbtracert.
- D. Taibi, V. Lenarduzzi, and C. Pahl, “Processes, motivations, and issues for migrating to microservices architectures: An empirical investigation,” IEEE Cloud Computing, vol. 4, no. 5, pp. 22–32, September/October 2017.
- J. Lewis and M. Folwer, “Microservices: A definition of this new architectural term,” [Last Accessed: January 13th, 2024]. [Online]. Available: https://martinfowler.com/articles/microservices.html
- OpenTelemetry, “Effective observability requires high-quality telemetry,” see https://opentelemetry.io.
- Jaeger, “Open-source, end-to-end distributed tracing,” see https://www.jaegertracing.io.
- Y. Gan, Y. Zhang, D. Cheng, A. Shetty, P. Rathi, N. Katarki, A. Bruno, J. Hu, B. Ritchken, B. Jackson, K. Hu, M. Pancholi, Y. He, B. Clancy, C. Colen, F. Wen, C. Leung, S. Wang, L. Zaruvinsky, M. Espinosa, R. Lin, Z. Liu, J. Padilla, and C. Delimitrou, “An open-source benchmark suite for microservices and their hardware-software implications for cloud & edge systems,” in Proc. International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS), April 2019.
- M. R. Saleh Sedghpour, A. Obeso Duque, X. Cai, B. Skubic, E. Elmroth, C. Klein, and J. Tordsson, “HydraGen: A microservice benchmark geneartor,” in Proc. IEEE International Conference on Cloud Computing (CLOUD), July 2023.
- A. Sriraman and T. F. Wenisch, “υ𝜐\upsilonitalic_υ-suite: A benchmark suite for microservices,” in Proc. IEEE International Symposium on Workload Characterization (IISWC), September 2018.
- M. Ferdman, A. Adileh, O. Kocberber, S. Volos, M. Alisafaee, D. Jevdjic, C. Kaynak, A. D. Popescu, A. Ailamaki, and B. Falsafi, “Clearing the clouds: a study of emerging scale-out workloads on modern hardware,” in Proc. International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS), March 2012.
- Docker, “Docker compose overview,” [Last Accessed: January 23th, 2024]. [Online]. Available: https://docs.docker.com/compose/
- Kubernetes, “Production-grade container orchestration,” [Last Accessed: January 23th, 2024]. [Online]. Available: https://kubernetes.io/
- F. Brockners, S. Bhandari, and T. Mizrahi, “Data fields for in situ operations, administrations, and maintenance (Ioam),” Internet Engineering Task Force, RFC 9197, May 2022.
- Docker, “Bridge network driver,” [Last Accessed: January 23th, 2024]. [Online]. Available: https://docs.docker.com/network/drivers/bridge/
- W. Glozer, “wrk – a HTTP benchmarking tool,” [Last Accessed: February 08th, 2024]. [Online]. Available: https://github.com/wg/wrk
- J. Heyman, C. Bystorm, J. Hamren, and H. Heyman, “locust – an open source load testing tool,” [Last Accessed: February 08th, 2024]. [Online]. Available: https://locust.io
- IANA, “Application for service names and user port numbers,” see https://www.iana.org/form/ports-services.
- OpenTelemetry, “Demo architecture,” [Last Accessed: January 18th, 2024]. [Online]. Available: https://opentelemetry.io/docs/demo/architecture/
- HAProxy, “The reliable, high performance TCP/HTTP load balancer,” [Last Accessed: January 30th, 2024]. [Online]. Available: https://www.haproxy.org/
- Cisco, “M-anycast,” August 2017, see https://github.com/CiscoDevNet/iOAM/tree/master/M-Anycast.
- C. Filsfils, P. Camarillo, J. Leddy, D. Voyer, S. Matsushima, and z. Li, “Segment routing over IPv6 (SRv6) network programming,” Internet Engineering Task Force, RFC 8996, February 2021.
- J. Iurman and B. Donnet, “IPv6 in-situ operations, administrations, and maintenance,” Software Impacts (IMPACTS), vol. 6, p. 100036, November 2020.
- A. Medina, A. Lakhina, I. Matta, and J. Byers, “BRITE: An approach to universal topology generation,” in Proc. International Symposium on Modeling, Analysis and Simulation of Computer (MASCOTS), August 2001.
- L. R. Pereira, R. J. Lopes, and J. Louca, “Syntgen: A system to generate temporal networks with user specified topology,” Journal of Complex Networks, vol. 8, no. 4, August 2020.
- L. Cheng, N. C. Hutchinson, and M. R. Ito, “Realnet: A topology generator based on real internet topology,” in In Proc. International Conference on Advanced Information Networking and Applications - Workshops (AINA Workshops), March 2008.
- B. Quoitin, V. Van den Schrieck, P. Francois, and O. Bonaventure, “IGen: Generation of router-level Internet topologies through network design heuristics,” in Proc. International Teletraffic Congress (ITC), September 2009.
- B. Donnet and T. Friedman, “Internet topology discovery: a survey,” IEEE Communications Surveys & Tutorials, vol. 9, no. 4, pp. 2–15, December 2007.
- P. Mahadevan, D. Krioukov, K. Fall, and A. Vahdat, “Systematic topology analysis and generation using degree correlations,” ACM SIGCOMM Computer Communication Review, vol. 36, no. 4, pp. 135–146, August 2006.
- P. Mahadevan, C. Hubble, D. Krioukov, B. Huffaker, and A. Vahdat, “ORBIS: Rescaling degree correlations to generate annotated internet topologies,” ACM SIGCOMM Computer Communication Review, vol. 37, no. 4, pp. 325–336, August 2007.
- T. N. I. Alrumaih and M. J. F. Alenazi, “GENIND: An industrial network topology generator,” Alexandria Engineering Journal, vol. 79, no. 15, pp. 56–71, September 2023.
- J. Ali, R. H. Jhaveri, M. Alswailim, and B.-H. Roh, “ESCALB: An effective slave controller allocation-based load balancing scheme for multi-domain SDN-enabled-IoT networks,” Journal of King Saud University – Computer and Information Sciences, vol. 35, no. 6, June 2023.
- “Benchmarking microservice systems for software engineering research,” in Proc. International Conference on Software Engineering (ICSE), May 2018.
- Istio, “Bookinfo application,” [Last Accessed: January 12th, 2024]. [Online]. Available: https://istio.io/latest/docs/examples/bookinfo/
- Weaveworks, “Sock shop: A microservices demo application,” [Last Accessed: January 12th, 2024]. [Online]. Available: https://github.com/microservices-demo/microservices-demo
- Google Cloud Platform, “Online boutique: A cloud-first microservices demo application,” [Last Accessed: January 12th, 2024]. [Online]. Available: https://github.com/GoogleCloudPlatform/microservices-demo
Paper Prompts
Sign up for free to create and run prompts on this paper using GPT-5.
Top Community Prompts
Collections
Sign up for free to add this paper to one or more collections.