Red Hat added the Java-focused Quarkus platform as a supported framework within the vendor’s broader Runtimes portfolio in a move that modernizes the Java programming language for cloud native environments.
Red Hat’s Runtimes portfolio includes migration tools and components to support the development of cloud-native applications. It’s part of the vendor’s middleware portfolio that includes its JBoss product.
Red Hat launched Quarkus early last year. It was initiated as a Kubernetes native Java framework that would allow the programming language to be more easily used in Kubernetes or serverless environments. It basically acts as a bridge between the popularity of Java with the new world of cloud-native environments.
Quarkus includes more than 200 extensions and a library of cloud-native frameworks and tools like RESTEasy, which is used to help build RESTful web and Java applications; and Eclipse MicroProfile, which optimizes enterprise Java for a microservices architecture. It also can be tied into Red Hat cloud services like its AMQ Streams data streaming platform and Fuse integration platform.
“With Quarkus, users are getting a fully Red Hat supported technology, which includes an active community, continuous updates, and a fast release cadence,” the company noted in a press release.
Quarkus hit its 1.0 release late last year, and currently sits on its 1.4.2 iteration.
Red Hat claims that Quarkus increases developer productivity because it works with widely used Java tools. It also has a live coding and unified configuration feature that speeds up iteration during development as code changers are automatically reflected in a running application.
There is also a cost savings claims tied to lower memory consumption and a faster startup. “This translates into better resource utilization and end user experience, with new applications and services instantly available,” Red Hat states. “This efficiency leads to a high density of workloads per CPU, also translating to increased cost savings.”
Rich Sharples, senior director for product management of Runtimes at Red Hat, explained that while Java is an older programming language, it remains successful and relevant because of its ability to adapt to new environments.
"The industry is ensuring Java is still a key choice for an organization to build its next generation of applications," Sharples said. "They built the last generation with Java, they have the skills and they often have the kind of a logic they need to bring forward. So providing an opportunity to stick with the language they already know and love out of the investment in yet still get the benefits in these cloud native environments like serverless and containerization."
Why Java?According to a recent ranking from Redmonk, Java was tied with Python as the second most popular programming language during the first quarter of this year. It trailed only JavaScript, which is designed to run only in a browser environment.
Sharples noted that Java might not always be the best choice for developers.
"Developers have choice and I think open source has provided developers more choice than any time in history and that's good," Sharples said of Java's place in the programming ecosystem. "We fully expect developers to use the right tool for the job. Python is clearly the language of choice if you're doing data and AI applications."
He also explained that something like Golang is probably a more obvious choice for Kubernetes-based environments. But, developers with Java experience still outnumber most other programming languages, which makes it easier for organizations to attract developers.
"If I need a team of 35 Go developers versus 35 Java developers, I'm likely going to get more experience on the Java side than I am likely to find on some of the more obscure languages," Sharples said.