Cloud Native / Kubernetes / Tools / Sponsored

Why Frameworks Define Java’s Cloud Native Future

15 Sep 2020 5:00pm, by and

DataStax sponsored this podcast.

Java remains one of the most popular and trusted programming languages, but it is not necessarily well-suited, out of the box, for building cloud native applications.

While Java’s elegance and versatility are reflected in how it can be written once and run practically anywhere, it was developed by before the distributed computing model now encouraged by containerization and Kubernetes. In other words, Java is not Golang for Kubernetes. And yet…

Subscribe: SoundCloud | Fireside.fm | Pocket Casts | Stitcher | Apple Podcasts | Overcast | Spotify | TuneIn

Frameworks will likely serve as the solution to Java’s Kubernetes dilemma. In this edition of The New Stack Makers podcast, DataStax’s Alice Lottini, Vanguard architect, and Christopher Splinter, DataStax senior product manager, open source, discuss how frameworks can allow Java to still work for creating applications that run better in cloud native environments and how they represent a new identity for the 25-year-old programming language. Alex Williams, founder and publisher of The New Stack, hosted this episode.

While Java certainly remains relevant today thanks to its robustness, versatility and overall elegance, the language alone is not particularly adapted to the ephemeral nature and other constraints associated with containerized platforms in cloud native environments.

Java needs to be made more efficient in order to meet the demands of applications that are rapidly spun up and down and “can coexist easily and make the most of the available resources by sharing them,” Lottini said.

The fact that Java was largely designed to “run anywhere” and it uses an adjusting time model to adapt to the different platforms on which it runs, Lottini explained that this Java feature, consequently, “is really great in other contexts, but it becomes a hindrance for cloud environments.”

An able Java framework for cloud native applications will thus need to shift to compile-time preparation in order to make the application startup phases “as light as possible,” Lottini said. “I think this is the direction that we need to take and there are frameworks that are going towards this and are working to address exactly this kind of problem,” said Lottini.

The good news is that frameworks are in development that are offering faster start-up times. Some of the more promising options include Quarkus, Micronaut and others. “We’re seeing all of these different things that come up in the Java ecosystem to start addressing these problems, both within the JVM scopes specifically — for folks building applications in Java. I think we’re just at the start of a lot of those things,” said Splinter.

Frameworks under development were also created relatively recently. Given the speed at which the open source community can solve problems, Java’s lack of a swift start-up time speed may very well just be a footnote in what will likely be its role to cloud native applications of the future as the frameworks see improvements.

“I think we’re at the forefront of a lot of the maturity” for Java frameworks, Splinter said. “We’ll see a lot more adoption as more and more users become more concerned with the startup times and the resource allocations and really being container-native.”

A newsletter digest of the week’s most important stories & analyses.