Reviewing modern architectural requirements
Before we dig deeper into the GraalVM architecture, let's first understand the shortcomings of JVM and why we need a new architecture and approach. The older versions of JVM were optimized for traditional architectures, which were built for long-running applications that run in a data center, providing high throughput and stability (for example, monolith web application servers and large client-side applications). Some microservices are long-running, and Graal JIT will also provide the optimum solution. As we move to cloud-native, the whole architecture paradigm has shifted to componentized, modularized, distributed, and asynchronous architecture tuned to run efficiently with high scalability and availability requirements.
Let's break this down into more specific requirements for the modern cloud-native architectures.
Smaller footprint
The applications are composed of granular modular components (microservices) for high...