Going beyond the container — compact and fast containers with (and without) native image

 /  RU

Sooner or later, you will want to improve the efficiency of your deployment without wasting time and resources fixing the source code. We suggest you trying to go beyond the usual thinking (and beyond the traditional container) to make the containerization of applications more productive. We will look at how to achieve this in two ways — using traditional containers and native images, discuss the advantages and disadvantages of both options and find the most suitable approach for your tasks.

We'll cover several topics, including JDK and flag selection, static compilation builds, and the effectiveness of different containerization methods for the same application. We are going to test ways to optimize both native images and standard containers with the JDK by choosing the right platform, setting compilation settings, and using additional tools. Dmitry will talk about minimalistic Alpine Linux, full support for which was recently implemented for both OpenJDK and GraalVM.

You will learn how to evaluate the behavior of your application to shrink containers, speed up their work, and effectively use all the capabilities of different platforms. Together, we will learn to go beyond what is possible to ensure your services and applications work perfectly.


Dmitry Chuyko

Dmitry Chuyko is a performance engineer at BellSoft, one of the most active corporate OpenJDK developers. Before joining BellSoft, Dmitry worked on HotSpot JVM in Oracle. His previous experience with Java showed that the most interesting problems in applications find their solutions in the underlying platform. Dmitry is currently mainly optimizing OpenJDK for x86 and ARM, and also contributing to the development of JEP 386 to make the smallest Java containers even better. Dmitry speaks at large conferences such as Joker, JPoint, Oracle Code One, Devoxx, or GeeCON, as well as at JUG meetups in different countries.