“Cloud Native”. It’s a great term, one that promises significant benefits for Java developers and Java applications. However there are traps for the unwary traveller undertaking this journey. It’s best to be prepared and forewarned. In this talk hear more about what Cloud Native Java looks like, and how it can differ from what you might be expecting. From application to JVM to hosting environment, there are challenges to face and obstacles to overcome before you’ve reached your goal.
Cloud Native Java
The technical sessions of this track is filled with content covering everything you need to know about developing applications and cloud native microservices using Java. The topics include best practices, experiences, and recommendations using technologies and frameworks such as Eclipse Vert.x, Eclipse MicroProfile, Eclipse Jakarta EE and Java EE as well as reactive programming.
As most organizations do not have the luxury of completely rebuilding their technology foundation or immediately adopting new practices and mindsets, they are embracing gradual yet fundamental shifts in culture, processes, and technology to support greater velocity and agility. With software increasingly key to how users engage with businesses and how businesses innovate to stay competitive, the speed of application development and delivery is the new digital business imperative.
Conventional wisdom has it that Java EE is a bad starting point for building cloud-native Java applications, but despite this most cloud-native frameworks are designed to use and extend Java EE. The issue has been not that Java EE can't be used, but deploying applications to new cloud platforms like Docker and Kubernetes so they can be efficiently updated and scaled requires new API's. Enter the Eclipse MicroProfile initiative which, combined with Jakarta EE, has been rapidly building out these gaps.
A containerized application that consumes less CPU, less memory and less bandwidth (by diminushing the container image size) will generates immediate savings on cloud workloads. Sadly, containerizing Java applications and optimizing them for running inside containers has been quite challenging until recently. Come and see how to improve the situation with distroless container images, Eclipse OpenJ9 (an open source Java virtual machine) and custom Java runtime images.
Reactive microservices are today's choice to design Cloud Native applications. They promise an increased scalability, resilience and modularity, while allowing separate teams to work on large-scale, polyglot projects. But what about the data?
The goal of MicroProfile.IO is to optimise Java EE for a micro-service architecture. It is based on some of the Java EE specifications and standardise a few technologies from the micro-services space.
However, some of the microprofile implementations are completely different 'servers', like the KumuluzEE server. So how can you migrate easily from your favorite Java EE server to a MicroProfile implementation?
With the rise of micro-services, REST communication is more popular than ever. But the communication between the different parts must also be performed in a secure way.
First, we need to know if the user or system is allowed to call the JAX-RS endpoint. For this authentication part, self-contained tokens are the best option to not overload any of our services in the system. JWT which contains the authentication but also can contain the authorization info is ideal for this use-case.
Ever wondered what makes a cloud-native application "cloud-native"? Ever wondered what the unique challenges are and how best to address them on fully-open Java technologies? In this workshop, you'll learn what it means to be cloud-native and how that impacts application development. You'll learn about Eclipse MicroProfile, an industry collaboration defining technologies for the development and management of cloud-native microservices.
The OpenAPI Specification (formally known as Swagger) describes APIs in a way that is standardized, machine-readable, and programming language-agnostic. It is an open source project hosted by the Linux Foundation.
There have been many announcements regarding frameworks or tools supporting this standard: For example, Eclipse MicroProfile 1.3 provides a set of annotations that can be used on top of JAX-RS, and version 3.5.2 of Eclipse Vert.x provides automatic requests validation.
Containers, Kubernetes, Cloud Native, Microservices, Eclipse MicroProfile. It feels like you’re going to drown amongst the buzzwords! In this session we will guide the developer through the minefield of all these buzzwords to understand the concepts and develop solutions with them.