By: Daniel Oh
Java is still the pervasive development language among enterprise developers, even though it is not developers’ preferred cloud-native runtime and is falling behind other languages, according to GitHub’s Octoverse.
Because of Java and Enterprise Java’s history, an application built on a traditional Java stack, even if it is optimized for cloud-native environments, requires more memory and takes longer to start than applications built on other popular languages. With modern platforms like Kubernetes, Istio, and Knative, the need to have smaller runtimes that can scale up, down, and even down to zero is becoming more and more important.
So, what should cloud-native Java look like in order to enable people to develop, build, run, debug, and deploy in an immutable infrastructure without a steep learning curve? How easily can developers evolve cloud-native Java for serverless applications on demand?
New cloud-native Java runtimes need to provide the following four major benefits for developers to build cloud-native, microservices, and serverless Java applications:
Keeping these criteria in mind, the cloud-native architecture considerations for Java are clear. We need to design for running containerized applications on DevOps and cloud-native platforms at scale and speed. This will enable developers to build cloud-native Java applications based on architectures such as high-performing cache, event-driven/reactive, and serverless on immutable infrastructures like Kubernetes with all of the expected benefits. The outcome will be effective in enabling developers to use the power and history of Java in a very new environment.
Join the DevOps Continuous Learning Community for FREE and get access to member-only content such as industry research, podcasts, e-books, and more!