Abstract

Context: The adoption of microservice architectures is often driven by organizational benefits like team autonomy and independent deployability, which align well with agile methods. However, this choice is frequently contested due to concerns about performance overhead from inter-service communication. Objective: This paper empirically investigates this performance trade-off across different technology ecosystems. We present a comparative analysis of monolithic and microservice architectures implemented in Java (Spring Boot), .NET (ASP.NET Core), and Python (Flask/FastAPI). Method: A containerized route-planning benchmark with identical REST APIs was implemented in six variants. Each variant was subjected to controlled load tests using Locust, with performance evaluated based on response time percentiles (p50, p95) and throughput. Results: Our findings reveal that for Java and .NET, the choice of architecture has a negligible impact on performance. In contrast, the Python implementation exhibited severe performance degradation as a monolith, though regardless of the architectural choice, remained significantly slower than Java and .NET. Conclusion: These results challenge the axiom that microservices inherently introduce a significant performance penalty. This finding suggests that agile teams can adopt microservices to leverage key organizational advantages without being hindered by performance concerns.

Recommended Citation

Jankowski, R., Boruczkowska, A., Bartczak, B. & Pilarski, J.(2026). Monolith vs. Microservices: A Preliminary Performance Analysis Across Java, .NET, and Python. In M. Valenta, B. Mannová, R. Pergl, A. Przybylek, M. Lang, H. Linger, C. Schneider, N. Iivari, & E. Insfran (Eds.), Making ISD Sustainable: Reloaded with AI and Automation (ISD2026 Proceedings). Prague, Czech Republic: Czech Technical University in Prague. ISBN: 978-80-01-07585-2. https://doi.org/10.62036/ISD.2026.29

Paper Type

Poster

DOI

10.62036/ISD.2026.29

Share

COinS
 

Monolith vs. Microservices: A Preliminary Performance Analysis Across Java, .NET, and Python

Context: The adoption of microservice architectures is often driven by organizational benefits like team autonomy and independent deployability, which align well with agile methods. However, this choice is frequently contested due to concerns about performance overhead from inter-service communication. Objective: This paper empirically investigates this performance trade-off across different technology ecosystems. We present a comparative analysis of monolithic and microservice architectures implemented in Java (Spring Boot), .NET (ASP.NET Core), and Python (Flask/FastAPI). Method: A containerized route-planning benchmark with identical REST APIs was implemented in six variants. Each variant was subjected to controlled load tests using Locust, with performance evaluated based on response time percentiles (p50, p95) and throughput. Results: Our findings reveal that for Java and .NET, the choice of architecture has a negligible impact on performance. In contrast, the Python implementation exhibited severe performance degradation as a monolith, though regardless of the architectural choice, remained significantly slower than Java and .NET. Conclusion: These results challenge the axiom that microservices inherently introduce a significant performance penalty. This finding suggests that agile teams can adopt microservices to leverage key organizational advantages without being hindered by performance concerns.