Abstract
One of the key benefits of a microservice architecture is the ability to dynamically respond to changes in load by spinning up new instances as required. However, when deploying JVM-based services, the warmup time of JIT compilation can be a limitation on the effectiveness of this technique.
One approach to solving this problem is using native images, where the service is statically compiled using an ahead-of-time (AOT) compiler. Although this does reduce startup time and footprint, it does so at the cost of overall performance.
A new project has been proposed and accepted into OpenJDK called CRaC (Coordinated Restore at Checkpoint). The goal is to research the co-ordination of Java programs with mechanisms to checkpoint (snapshot) a running application. Restoring from the snapshot could solve some of the problems with the startup and warmup times, especially in microservices.
In this session, we’ll look at the main challenges for such a project, potential solutions and the results from a proof-of-concept implementation.
Bio
Simon Ritter is the Deputy CTO of Azul Systems. Simon joined Sun Microsystems in 1996 and spent time working in both Java development and consultancy. He has been presenting Java technologies to developers since 1999 focusing on the core Java platform as well as client and embedded applications.
At Azul, he continues to help people understand Java and Azul’s JVM products. He represents Azul on the JCP Executive Committee as well as the JSR Expert Groups for Java SE 9 and later.
|