Kevin Boone

I'm a software maintenance engineer with Red Hat, specializing in middleware products, particularly integration technologies.

Areas of Expertise

Java, C/C++, middleware, integration, messaging, JEE

Recent Posts

Developing micro-microservices in C on Red Hat OpenShift

Developing micro-microservices in C on Red Hat OpenShift

Java holds its dominating position in enterprise middleware for good reasons; however, describing anything in Java as “micro” requires a generous interpretation. It isn’t unusual to find Java-based microservices that need half a gigabyte of RAM to provide modest functionality at a modest load. The trend toward serverless architectures, where services are started and stopped according to demand, does little to improve the situation.

It has recently become possible to compile Java to a native executable using tools like GraalVM. This technique, coupled with an optimized Java runtime like Quarkus, tames Java’s resource consumption to some extent.

Nevertheless, we should not lose sight of programming languages that were designed from the start to compile to native code, with little to no runtime overhead. Languages like Rust and Go have become popular, and justifiably so. For optimal runtime resource usage and millisecond startup times, though, it remains hard to beat C.

Continue reading “Developing micro-microservices in C on Red Hat OpenShift”

Share
How the fabric8 Maven plug-in deploys Java applications to OpenShift

How the fabric8 Maven plug-in deploys Java applications to OpenShift

The fabric8 Maven plug-in, often abbreviated FMP, can be added to a Maven Java project and takes care of the administrative tasks involved in deploying the application to a Red Hat OpenShift cluster. These tasks include:

  1. Creating an OpenShift build configuration (BC).
  2. Coordinating the source-to-image (S2I) process to create a container image from the application’s compiled bytecode.
  3. Creating and instantiating a deployment configuration (DC) from information in the project.
  4. Defining and instantiating OpenShift services and routes.

All of the relevant components of this process are well-documented individually. This article pulls together documentation sources to create an overview of how the plug-in works, and the structure of the image it generates—which might make the plug-in easier to use and troubleshoot.

Continue reading “How the fabric8 Maven plug-in deploys Java applications to OpenShift”

Share