Red Hat Sessions at Devoxx 2017

The 2017 edition of the legendary Devoxx conference is over, and as always, it has been a fantastic week.

Hosted in Antwerp, Belgium, and sold out months in advance, it’s one of the top events of the Java community. Five days fully packed with workshops, regular conference sessions, BOFs, ignite sessions and even quickie talks during the lunch breaks – there was something for everyone.

The super-comfortable cinema seats at the Devoxx venue are legendary, but also if you couldn’t attend, you wouldn’t miss a thing as the sessions were live streamed. But it gets even better: all the recordings are freely available on YouTube already.

Red Hat was present with more than ten speakers, so Devoxx was a great opportunity for us to show the latest projects. Our sessions covered the full range of software development, from presenting a new garbage collector, over Java coding patterns and updates on popular libraries such as Hibernate, up to several talks related to microservices, including how to test, secure and deploy them on Kubernetes and OpenShift.

For your convenience, here’s a compilation of the talks hosted or co-presented by engineers from Red Hat. Let’s begin with Aleksey Shipilev’s session on Shenandoah, which is a new ultra-low pause time garbage collector for large heaps:

Mario Fusco was talking about lazy patterns and data structures as enabled by Java 8 lambdas:

Library and API Updates

In terms of library and API updates, there was a fantastic overview on the current state of the Hibernate eco-system done by Sanne Grinovero, including the latest news on Hibernate ORM (the most popular Java object-relational mapping tool), Hibernate Search (integration of full-text search), Hibernate OGM (object mapping for NoSQL stores) and more:

Used by a huge number of projects for authoring their reference guide, how-tos etc., Asciidoctor is the go-to solution when it comes to documentation. Alex Soto gave an update on that great tool, including recent additions, extensions and an outlook to future plans:

I had the opportunity to present the work of the Bean Validation 2.0 expert group (JSR 380). In a 15 min quickie talk, I showed the new validation features such as constraints on container elements, including a short demo using JavaFX:

Bean Validation 2.0 is part of Java EE 8, and you may have heard about the recent announcements of open sourcing the Java EE platform and moving it over to the Eclipse Foundation. Dimitris Andreadis, engineering manager for WildFly and JBoss EAP, took part in a panel discussion around these developments:

Microservice development, testing and deployment

Microservices and the different aspects of their lifecycle as well as related patterns were a leading theme for many talks. The never resting Edson Yanaga did an excellent presentation on data patterns for microservices, a topic that often doesn’t get the attention, which it deserves:

Debezium is a rather new open-source project by Red Hat enabling some of the patterns described in Edson’s talk. It captures the changes in your database and pushes events with the change data into Apache Kafka. In this talk I first discuss the concept of change data capturing (CDC) in general and then show how CDC can be implemented using Debezium:

Often times, we’re not so lucky to start from scratch with a new architecture, but instead need to evolve existing systems. In this deep-dive live coding session by Edson you can find out how to slice your monolith using Domain Driven Design:

Of course, microservices require proper testing, too. This is where this session by Alex and Andy Gumbrecht (from Tomitribe) comes in:

And Alex didn’t stop there. In another talk, he’s explaining how to deal with API changes in microservice architectures and how to prevent accidentally breaking downstream applications using the consumer-driven contract pattern:

Identity and Access Management is a facet of software development often perceived as complex and difficult. But this doesn’t really have to be. Find out how to secure microservices using Keycloak in this coding session by Sebastien Blanc:

Kubernetes and OpenShift

For deploying microservices, lightweight containers saw a huge rise in popularity over the recent years. Kubernetes and Red Hat’s OpenShift container platform help with orchestrating the containers required by distributed microservice architectures.

In this quickie talk, Bilgin Ibryam demonstrates how Kubernetes complements Java with new primitives and abstractions for creating distributed applications:

And in another talk, Bilgin discusses principles and guidelines that containerized applications should adhere to in order to become cloud-native citizens:

Finally, Marek Jelen gave an overview on OpenShift, and what its advantages are for software engineers. Of course, there’s a live demo in it, too:

And that concludes the tour through our talks at Devoxx 2017.

The conference has been a fantastic occasion to get in touch with the users of our projects, learn about their requirements, answer questions and exchange ideas, catch up with colleagues, meet old (and new) friends from the Java community and learn from each other.

Looking forward to seeing you again in 2018 in Antwerp or another Devoxx conference around the globe!