Understanding how GraalVM addresses various non-functional aspects
In this section, we will go through the typical non-functional requirements of a microservices cloud-native architecture, and how GraalVM addresses these requirements.
Performance and scalability
Performance and scalability are among the more important non-functional requirements of a microservices cloud-native architecture. The microservices are automatically scaled out and down by orchestrators such as Kubernetes. This requires the microservices to be built on a runtime that starts up quickly and runs fast, consuming minimal cloud resources. GraalVM AOT compilation helps to build native images that perform on a par with native languages such as C/C++.
To understand how AOT compiled code (native image) is faster than JIT compiled code, let's look at the steps that JIT and AOT follow at runtime:
This diagram shows the high...