Innovations for Java running in containers

This blog is co-authored by Hang Shao, Marius Pirvu, Tobi Ajila and Vijay Sundaresan. 1.     Introduction Over a decade ago, the common form of deployment was large monolithic applications that handled all the business logic. In this model applications typically had long deployment windows and they were typically deployed on large on-prem server farms. Since…

Comparing Jenkins startup in Docker

Containers are increasingly becoming the preferred way of deploying applications. They facilitate consistency between development and operations, allow for an easy way to build layers for reuse, and make it very easy for users to try out an application without having to deal with setting up all the prerequisites. However, just because applications have moved…

Leveraging Docker for Eclipse OpenJ9

This post adds on to Dockerfile for Building and Testing OpenJ9. At Eclipse OpenJ9 we want to be able to compile & test code on different architecture and operating system combinations. However we are constrained by the number of machines we have access to, so we use Docker containers to supplement them. Docker containers are…

Gather Diagnostic Data from your Containerized Java Application on the fly

Ever tried to debug Java issues in Docker containers? How does one go about doing it? This article talks about one mechanism in Eclipse OpenJ9 that makes it a lot easier to obtain debug information from Java applications running inside Docker containers. A running OpenJ9 JVM includes mechanisms for producing different types of diagnostic data when events of interest occur. In general, the…

Eclipse OpenJ9 in Containers

There has been a lot of talk about Java not behaving properly when running in a docker container. Many blogs like this cover the problems that Java faces in containers. Although these talks are targeting OpenJDKs that use the Hotspot JVM, such issues are mostly applicable to Eclipse OpenJ9 too. The root cause of these problems can be attributed to the fact…