Introduction
What is Quarkus?
For years, the client-server architecture has been the de-facto standard to build applications. But a major shift happened. The one model rules them all age is over. A new range of applications and architectural styles has emerged and impacts how code is written and how applications are deployed and executed. HTTP microservices, reactive applications, message-driven microservices, and serverless are now central players in modern systems.
Quarkus has been designed with this new world in mind and provides first-class support for these different paradigms. Quarkus development model morphs to adapt itself to the type of application you are developing.
Quarkus is a Kubernetes-native Java stack tailored for GraalVM & OpenJDK HotSpot, crafted from the best-of-breed Java libraries and standards. This approach offers amazingly fast boot time, incredibly low RSS memory (not just heap size!), and near instant scale-up and high-density memory utilization in container orchestration platforms like Kubernetes. Quarkus uses a technique called compile time boot to achieve these results and more.
Unifies Imperative and Reactive
Application requirements have changed drastically over the last few years. For any application to succeed in the era of cloud computing, big data or IoT, going reactive is increasingly becoming the architecture style to follow.
Quarkus combines both the familiar imperative code and the non-blocking reactive style when developing applications.
Functions as a Service and Serverless
Thanks to its stellar startup time and low memory usage, you can implement functions using Quarkus to be used in serverless environments such as AWS Lambda, Azure Functions, Google Cloud Platform, and Knative. You can use any of the Quarkus features in your function and benefit from the fast startup and low memory utilization. With Quarkus, you can embrace this new world without having to change your programming language.
Developer Productivity
- Dev UI - Visualize and configure extensions as well as access to application logs and testing components.
- Dev services - Automatic provisioning and application wiring of supporting services such as databases, identity servers, and more.
- Continuous testing - Get instant feedback on code changes as tests run in the background on impacted code.
- Command-line interface (CLI) - Create projects, manage extensions, and execute essential build and dev commands.
- Remote development - Run dev mode remotely with changes to local files immediately available in a containerize environment.
Other possibilities
Learn more at quarkus.io, or just drive on and get hands-on!