Java was introduced 25 years ago, and to this day, remains one of the most popular programming languages among developers. However, Java has developed a reputation for not being a good fit for cloud-native applications. Developers look for (and often choose) alternative frameworks such as Go and Node.js to support their cloud-native development requirements.
Why learn another language when you can use your existing skills? Quarkus allows Java developers to leverage their expertise to develop cloud-native, event-driven, reactive, and serverless applications. Quarkus provides a cohesive Java platform that feels familiar but new at the same time. Not only does it leverage existing Java standards, but it also provides a number of features that optimize developer joy, including live coding, unified configuration, IDE plugins, and more.
Recently, Red Hat announced support for Quarkus. With Quarkus, Red Hat advances Java on Kubernetes and bridges the gap between traditional Java applications and cloud-native environments.
What is Quarkus?
Quarkus is more than just a runtime. It is a Kubernetes-native Java stack for building fast, lightweight microservices and serverless applications. It is purpose-built to capitalize on the benefits of cloud-native applications. Quarkus delivers significant runtime efficiencies for applications deployed on Kubernetes with fast startup times, low memory utilization, and small image footprints.
A modern Java stack
One of the founding principles of the Quarkus project was to bring developer joy to enterprise Java developers. What does that mean, and how does Quarkus bring joy?
Quarkus is a Kubernetes-native Java framework targeted for containers and serverless due to its fast startup, low memory, and small application size.
Quarkus works out of the box with popular Java standards, frameworks, and libraries. Developers familiar with these will feel at home with Quarkus, which streamlines code for 80% of common use cases while providing the flexibility to cover the remaining 20%.
Quarkus also provides live coding for fast iteration during development, where code changes are automatically and immediately reflected in the running app.
Unified imperative and reactive programming models
Developers can choose the right programming model that best fits their use case, and easily integrate their code with other components in a reactive system—like reactive streams—with Vert.x and Kafka, reactive database APIs, and much more.
90 standards and libraries
The Quarkus community has developed over 90 extensions that provide additional enhancements and integrations to the framework, including the ability to compile an application into a native executable.
How does it work?
Traditional Java stacks are optimized for monolithic applications where lots of work occurs when the application is started. This dynamic behavior creates unnecessary overhead in a Kubernetes environment where containers are scaled up or down quickly with relatively short lifespans. Quarkus moves as much of that processing to the build phase such as optimizing library frameworks, minimizing dependencies, and eliminating unused code to greatly reduce startup time and the memory needs of the application.
Developers can choose to deploy their applications in JVM mode or compiled and run in native mode. Both delivery modes provide significant performance improvements versus traditional java stacks.
Why choose the Red Hat build of Quarkus?
Red Hat has long been a leader in the Java community and remains committed to moving it forward through open, community-driven innovation. With the Red Hat build of Quarkus, developers are getting a fully supported technology that includes an active community, continuous updates, and a fast release cadence. Quarkus is advancing quickly and Red Hat is committed to supporting developers as they adopt, deploy, and maintain Kubernetes-native Java applications.
Quarkus support is available via Red Hat Runtimes, which provides top integrated products, migration tools, and components to create cloud-native applications while also speeding up development and delivery time. Red Hat Runtimes offers developers and architects the choice of the right tool for the right task through a collection of lightweight runtimes and frameworks for highly-distributed cloud architectures—like microservices—with in-memory caching for fast data access, and messaging for quick data transfer between existing applications.
Quarkus uses an extension framework that creates a vibrant ecosystem to integrate with other Red Hat Middleware products such as Red Hat AMQ Streams (Kafka), Red Hat Fuse (Camel K), and Red Hat Process Automation Manager (Kogito).
Quarkus is also optimized to run on Red Hat OpenShift providing an ideal hybrid-cloud application development environment for scalable, fast, and lightweight applications. Using Red Hat OpenShift and a cloud-native development toolchain including Quarkus, developers can significantly increase their productivity and ability to drive innovation.
Red Hat support
With a Red Hat subscription, you have access to a global network of the most experienced, motivated, and knowledgeable Linux, Kubernetes, and middleware support engineers. They can virtually extend your in-house expertise as you develop on Red Hat enterprise products. Support engineers are here to help you with advice and guidance throughout the development process.
Check out these resources for getting started with Red Hat's build of Quarkus: