What is it about Java EE and container-based technologies like Docker and Kubernetes that lends itself so well to enterprise development? Be it a basic web application that delivers HTML to the browser, or a microservice running on a server in the backend, the big trend in the industry is to containerize these applications and services, with Docker and Kubernetes always being the technology of preference.
So why is Docker, Kubernetes and enterprise Java such a natural fit? "The main reason is there is a hard separation between the infrastructure and the business logic, and you only get it with Java EE," said Java Champion Adam Bien. And what's the big benefit to using Docker and Kubernetes? The most obvious benefit to using container technology with Java EE applications, and perhaps the feature most beneficial to software developers, is the incredibly fast build times.
Bien emphasized this by pointing out that in an hour-long conference session, he built and re-built his microservices application over 50 times, and the builds were so fast that they didn't detract from the talk itself. "You can only achieve this performance with very thin WARs, and infrastructure that doesn't have to be rebuilt each time. This is the whole trick with Docker and Java EE."
Docker and Java EE without Kubernetes
Java Champion Adam Bien
Of course, all of this can be done with just Java EE and the Docker container. Kubernetes only needs to be introduced into the mix when orchestration capabilities become a requirement, which is pivotal for production systems hosting applications that are deployed into containers that need to be clustered and managed. In the development environment, there are big wins to be had by keeping things simple by leaving Kubernetes out of the mix and working with Java EE and Docker alone.
To learn more about how Docker and Kubernetes are changing the way enterprise software is developed, watch Cameron McKenzie's full interview with Adam Bien.