Keep Your Openshift Cluster Operators Highly Traceable Using GitOps

Currently, GitOps has become increasingly present in the day-to-day of an SRE. Fast error recovery, Self-documenting deployments, and highly traceable changes are just a few advantages provided in this case. 

The core idea is having a Git repository that always contains declarative descriptions of the infrastructure currently desired in the environment and an automated process (ArgoCD) to make the environment match the described state in the repository.

Java High Availability With WildFly on Kubernetes

Legacy Java Applications

With the advancement of the dockerization of applications, Kubernetes has become a standard in the market, but we must remember that there are still thousands of legacy applications that depend on certain features provided by the application servers. So, if you need to use session replication, you will surely need Wildfly instances to be clustered. To solve this smoothly, you can use the “Kubernetes discovery protocol for JGroups” aka “KUBE-PING”. KUBE_PING is a discovery protocol for JGroups cluster nodes managed by Kubernetes: jgroups-kubernetes.

Walkthrough

I assume you already have a Kubernetes cluster, so let’s just focus on WildFly settings.

Building a Mission-Critical Open Source Java Platform – The Web Layer

Currently the Java platform is one of the most consolidated in the world, much of this is due to platform's ability to support other languages such as Kotlin, Groovy and Scala, etc. Thousands of web and mobile applications are developed using the platform as a base. The Java platform has changed a lot in recent years and probably will keep evolving.

In parallel with these changes, we see the evolution application servers, that increasingly offer highly complex features such as load balancing components, smart asynchronous messaging, transaction control and many other technologies facilitating application development and standardization. They also provide a stable and scalable infrastructure for mission critical applications. One of the biggest challenges for application servers is to couple highly complex services, making them stable and flexible.