If you prefer running on the JVM and startup performance is important I recommend using the
GraalVM’s native image functionality. To my understanding kotless supports ootb building this for AWS, but not Azure at this date. Kotless’ main contributor,
@TanVD, is great at replying to questions in
#kotless. Also please correct me if I’m wrong 🙂
For Azure functions, if you want to use the native image you need to use
custom handlers.
The
azure-native-spring-function repo provides a great tutorial for this. The example can with minor modifications be used with other frameworks like Micronaut.
Ktor also supports GraalVM.
The following
article is a very helpful tool if you opt for GraalVM native image