Creating a native image using Spring Boot
Usually, when we design solutions using a microservice-oriented approach, we imagine that we can easily scale our applications by adding and removing new instances of our application, and we also imagine that this process happens immediately. However, starting new instances of our application can take longer than we initially expected. Spring Boot orchestrates Bean initialization, dependency injection, and event handling during application startup, and most of these steps happen dynamically. This is not a major issue for small applications, but for complex applications, this process can take up to minutes to complete.
Another important factor when designing applications is the efficient use of computing resources. We want the applications to consume as little memory as possible and process the workload efficiently.
For this kind of scenario, we can consider creating native applications, that is, applications that are built as final binaries...