Applied Sciences (Jan 2023)

A Comparative Assessment of JVM Frameworks to Develop Microservices

  • Łukasz Wyciślik,
  • Łukasz Latusik,
  • Anna Małgorzata Kamińska

DOI
https://doi.org/10.3390/app13031343
Journal volume & issue
Vol. 13, no. 3
p. 1343

Abstract

Read online

With the ever-increasing wide spread of the Internet, the number of web services, web applications, and IoT devices is growing every year. This brings a number of challenges, both in terms of network bandwidth and the ability to scale individual computing nodes, whether they are large systems running in computing clouds or smaller IoT devices running closer to their data sources (so-called edge computing). In both cases, the way to cope with handling large numbers of users/requests is horizontal scaling, the implementation of which today is using the concept of microservices. However, the concept itself is not enough—we need ready-made application frameworks that allow us to easily implement and deploy efficient services. In the case of the Java ecosystem, which is one of the most mature platforms for enterprise-class software development, several frameworks dedicated to the development of microservices have been engineered recently. These tools support system developers in implementing communication, computation, and data storage mechanisms. However, so far, there is a lack of comparative analysis of individual solutions in the scholarly discourse to assess their performance and production maturity, so the authors in this article try to fill this gap. Based on synthetic tests developed by the authors, the most promising frameworks (Spring Boot, Micronaut, Quarkus) were analyzed both in terms of computational, compilation, or deployment performance. The results obtained can help system architects make rational and evidence-driven choices of system architecture and technology stacks.

Keywords