A simulation approach to assess microservice applications

Abstract

The microservices architectural style is an increasingly popular way of designing large, complex applications. Recent literature has proposed an automatic aid for verifying compliance of microservice architecture models with best practices, as a way to ensure good quality microservice architectures. However, compliance with best practices does not guarantee that the resulting microservice application will meet its performance requirements. In the literature, there is a lack of approaches to predict performance of microservice applications based on their architecture models. In this thesis, we propose a discrete-event simulation approach to predict the performance of microservice applications. To do this, our approach uses user-generated architecture models, workload scenario descriptions, and deployment configuration to simulate the behavior of microservices and their interactions. The results can be used to gain detailed insight into the expected performance and its causes, allowing architectures to be adjusted cost-effectively before writing a single line of code. We validate our approach by first simulating two microservice applications, one using broker-based messaging and the other using brokerless messaging. Subsequently, we implement these applications and perform real-world measurements. From a comparison of the results, we conclude that while our approach is promising in principle, further elaboration is needed, especially for the simulation of the hardware on which the microservices run.

Resources

Project information

Status:

Finished

Thesis for degree:

Master

Student:

Jonathan Ilk

Supervisor:
Id:

2023-003