Online / 5 & 6 February 2022


Java & Alpaca: A Beautiful Friendship

BellSoft created tiny containers based on Alpine Linux. But Alpine has its cons: musl sometimes performs worse than glibc, LTS support is not long enough. So we developed Alpaca Linux based on Alpine. Alpaca is more performant and secure, has longer LTS support, and is perfect for Java deployment.

The size matters when it comes to containers: they should be small but performant. BellSoft engineers came up with the solution and integrated the Alpine musl port into JDK 16. We made containers based on Alpine Linux and immediately understood that we hit the spot. These containers are still in demand and keep gaining popularity. Alpine Linux is based on musl. There is usually no difference in performance, but in some cases, musl is less efficient than glibc. The problem is that any Linux distro is made for general purposes, and Linux engineers don’t have Java in mind when developing them. In addition, LTS support for Linux kernel and OpenJDK is longer than that for Alpine Linux, which leads to a more frequent migration between OS versions within one Java release. We want to make sure that Java LTS visions are stable within the environments we offer. This is why we created our own distribution, Alpaca Linux, based on Alpine. Alpaca Linux has a longer support cycle and includes musl-perf and other components to boost the performance of apps, including Java-based ones. In my talk, I will describe the differences between Alpaca and Alpine and show the results of the benchmarks. I will also tell you about the Alpaca release cycle and how to get hands on with this new Linux distro. You will find out how to boost the performance and security of Java deployment with Alpaca Linux. All in all, I think that this is the beginning of a beautiful friendship between Alpaca and Java.


Photo of Dmitry Chuyko Dmitry Chuyko