Jakarta EE + MicroProfile + Kubernetes = Cloud Native for Java Day @ KubeCon/CloudNativeCon

Cloud Native for Java Day will be held on March 30 as a co-located event with KubeCon/CloudNativeCon Europe. I am honored to be part of the program committee for the event alongside Tanja Obradovic and Arun Gupta. In this post I will share a few details on what the event is about and perhaps why you should consider attending. In essence the event covers how Jakarta EE and MicroProfile can be used with Docker and Kubernetes.

If you look around social media you find some pretty colorful dialog around Kubernetes. Some advocate it as the greatest thing since sliced bread as far as the data center and cloud goes. Others offer various bits of criticism such as it is complex, they do not like YAML, it is the wrong level of abstraction and so on. I can certainly see the merit of these points especially from the perspective of developers not used to dealing with the complexities of data centers but instead have spent most of their career at the application level. Unfortunately I have not had that luxury and have needed to dive into hardware rack-and-stack, buying servers, configuring routers/switches, tweaking firewalls/load balancers, installing operating systems, and so on. Perhaps for these reasons, I find myself pretty firmly in the Kubernetes fanboy club. For me Kubernetes offers the right level of abstraction – any higher takes away too much necessary flexibility and any lower is far too close to the “bad old” days. Compared to the alternatives, Kubernetes is battle tested, robust, feature-rich, productive, vendor neutral, portable and location-transparent. It almost feels like the modern Java EE of infrastructure. Wherever you might fall in the spectrum of the dialog, one thing is for sure – Kubernetes is growing like gangbusters. Just take a brief look at the graph below as some reasonably objective evidence.

The Java EE, Jakarta EE and MicroProfile ecosystem is actually pretty ready for the Kubernetes sea change. Don’t believe it? Here are some surprising things to consider:

  • Pretty much every notable runtime including WildFly, Payara, WebLogic, WebSphere and TomEE has Kubernetes ready Docker images.
  • There are already Helm Charts for WebLogic and WebSphere.
  • WebLogic, Liberty, WildFly already have Kubernetes Operators.
  • MicroProfile Health Checks are geared towards integration with Kubernetes liveness, readiness and startup probes.
  • MicroProfile Metrics are geared towards integration with Prometheus.
  • Quarkus and Helidon offer faster startup times and lower memory footprint thanks largely to AOT (although one could observe these characteristics are more relevant for FaaS than Kubernetes, where long lived nodes and cheap, abundant memory are commonplace).

Such topics and more will be explored in depth at Cloud Native for Java Day. Veteran Speakers like Adam Bien, Sebastian Daschner and Emily Jiang will be there. Companies represented will include Oracle, IBM and Red Hat. The full agenda is already up and you should check it out.

Do note, Cloud Native for Java Day is not free. You will need to register for KubeCon/CloudNativeCon in addition to the event. Hopefully there is enough here for you to convince your manager. If you can’t make it, fear not. Some of the same basic material is covered in this talk/workshop (there is a link to a YouTube video you can watch as well as the self-directed workshop materials). I am revamping the talk to be more Kubernetes centric. I expect the revamped talk and material to be out there by Fall.

Please note these views are my own and do not reflect the views of Microsoft as a company.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: