Fact-checked by Grok 2 weeks ago

Quarkus

Quarkus is an open-source, Kubernetes-native framework tailored for building cloud-native applications on and , leveraging hundreds of best-of-breed Java libraries and standards to enable fast, lightweight, and efficient deployments. Originally developed as a research effort by and publicly launched in March 2019 with its 1.0 release at Devoxx in November 2019, Quarkus has grown into a community-driven project under the Apache License 2.0. In July 2024, the project transitioned from to the neutral governance of the Commonhaus Foundation to foster broader contributions and ensure long-term viability. Key features of Quarkus include supersonic startup times and low memory footprint achieved through compile-time optimizations and native executable generation via , making it ideal for serverless and containerized environments like . It supports both imperative and styles, unified configuration management, live code reloading for rapid development iteration, and seamless integrations with over 800 extensions for technologies such as databases, messaging systems, and AI/ML workloads. Designed for developer productivity—often termed "developer joy"—Quarkus simplifies the inner development loop while optimizing for production-scale deployments, targeting developers building , event-driven systems, and hybrid applications. As of November 2025, the continues to evolve with active involvement, over 1,100 contributors and emphasizing standards-based extensibility for adoption.

Overview

Definition and Purpose

Quarkus is a Kubernetes-native framework tailored for building modern, cloud-native applications, particularly those deployed in and serverless environments. It is optimized for both native compilation and JVM execution, enabling exceptionally fast boot times in the range of tens of milliseconds for native images. Additionally, Quarkus achieves low resource consumption, with native images typically using under 50 MB of RSS memory, making it suitable for resource-constrained environments. The primary purpose of Quarkus is to simplify the development of efficient and scalable by addressing key limitations of traditional frameworks, such as prolonged startup times and high memory overhead that hinder performance in dynamic infrastructures. By shifting much of the initialization work to build time, Quarkus reduces overhead, facilitating rapid and deployment in containerized setups like . This approach empowers developers to create lightweight, responsive applications without sacrificing the robustness of the ecosystem. Quarkus embodies the "supersonic subatomic Java" branding, which highlights its focus on delivering cloud-native efficiency through ultra-fast performance and minimal resource demands, while enhancing developer productivity with a unified tooling experience. It seamlessly supports both imperative and models, allowing developers to choose the paradigm that best fits their application needs within a consistent . This versatility promotes the creation of distributed, event-driven systems optimized for modern architectures.

Core Technologies

Quarkus integrates as the primary environment for its JVM mode, enabling standard execution with full compatibility for dynamic features like and class loading. In parallel, Quarkus supports native compilation through Native Image, which performs ahead-of-time (AOT) optimization to produce standalone executables with reduced and faster startup times by analyzing and compiling the application into during the build phase, eliminating much of the JVM overhead at . This dual-mode architecture allows developers to choose between JVM-based development for flexibility and native deployment for cloud-native efficiency. At its foundation, Quarkus unifies hundreds of best-of-breed open-source libraries, integrating them seamlessly on a standards-based backbone to provide a cohesive full-stack . Notable examples include Hibernate for object-relational mapping, which handles persistence with support for both imperative and reactive paradigms, and for , enabling non-blocking I/O and event-driven architectures within Quarkus applications. These libraries are extended via Quarkus-specific wrappers that optimize their behavior for both JVM and native modes, ensuring minimal runtime initialization. Quarkus is an open-source project licensed under the 2.0 and governed by the Commonhaus Foundation, promoting collaborative development and vendor-neutral contributions. A core concept in Quarkus is build-time , which shifts much of the initialization and generation to the compilation phase to minimize runtime overhead; for instance, via Contexts and Dependency Injection (CDI) occurs at build time by scanning and indexing beans, producing optimized code that avoids reflective lookups during execution. Similarly, testing frameworks like Arquillian are integrated through extensions, allowing container-agnostic integration tests that leverage build-time configuration for efficient validation in both JVM and native environments. This approach ensures that runtime resources are dedicated to application logic rather than framework bootstrapping.

History

Development Origins

Quarkus originated as an internal research project at in 2018, focused on addressing 's limitations in cloud-native environments such as and . Traditional applications often suffered from slow startup times and high memory footprints, making them less suitable for rapid scaling and dense deployments compared to lighter runtimes like or Go. The project aimed to rethink the Java stack by leveraging and optimizing existing libraries without requiring full rewrites. The initial public prototype, version 0.11, was released on March 7, 2019, alongside the project's announcement as an open-source initiative. This early version emphasized a "Kubernetes-native" approach, integrating technologies like for native image compilation to produce low-footprint executables—termed "subatomic" deployments—that minimized resource usage in containerized settings. Development was led by engineers, including Sanne Grinovero as a founding member and Gavin King, whose expertise in frameworks like Hibernate influenced key integrations. In July 2024, Quarkus transitioned from sponsorship to neutral governance under the Commonhaus Foundation to encourage broader contributions and ensure long-term sustainability. Quarkus 1.0, the first stable release, was unveiled at Devoxx on November 6, 2019, highlighting growing contributions and establishing the as a mature option for cloud-native development. This milestone built on the prototype's foundations, incorporating feedback from early adopters to enhance compatibility with standards-based architectures while maintaining the focus on fast boot times and efficient resource utilization.

Version History

Quarkus follows a release cadence of bi-weekly minor releases to deliver new features and improvements, with (LTS) versions released semi-annually to provide extended stability for production environments. The LTS policy was introduced starting with version 3.2 in July 2023, with new LTS releases every six months and maintenance micro-releases every two months focused on bug fixes and security updates. LTS versions receive 12 months of support, including critical patches. For example, Quarkus 3.20 LTS, released on March 26, 2025, is supported until March 2026. Similarly, Quarkus 3.27 LTS, released on September 24, 2025, follows this timeline.
VersionRelease DateNotes
0.12.0March 20, 2019Initial release, introducing framework capabilities.
1.0.0.FinalNovember 25, 2019First stable release, marking production readiness after rapid iterations.
2.0.0.FinalJune 30, 2021Major update with 4, MicroProfile 4, and .
3.0.0.FinalApril 26, 2023Shift to 10, improved performance, and 17 baseline.
3.20 LTSMarch 26, 2025LTS version with bug fixes and stability enhancements over 3.19.
3.27 LTSSeptember 24, 2025LTS version featuring updates to extensions and .
3.29.3November 14, 2025Latest maintenance release addressing recent fixes.
Key milestones include the introduction of Funqy in version 1.4.1.Final (April 27, 2020), a for building Functions-as-a-Service (FaaS) applications portable across providers. In early 2025, Quarkus 3.18 (January 29, 2025) added Micrometer integration for s Next, enabling enhanced observability in reactive applications. Later, Quarkus 3.26 (August 28, 2025) brought significant Hibernate stack updates, including support for named persistence units in Hibernate Reactive, improving database handling in reactive contexts. These releases underscore Quarkus's evolution toward better cloud-native integration and developer tools.

Design Principles

Container-First Approach

Quarkus embodies a container-first by prioritizing the and optimization of applications for deployment in containerized environments, particularly , from the outset. This approach shifts much of the initialization and configuration work to build time, enabling applications to start quickly and consume minimal resources at runtime, which is essential for scalable cloud-native architectures. By focusing on containers, Quarkus reduces the overhead associated with traditional applications, making it ideal for and serverless workloads where rapid scaling and density are critical. A key aspect of this philosophy is the optimization for Kubernetes deployments through the Quarkus Kubernetes extension, which automatically generates Kubernetes manifests such as , , and based on application annotations and configuration properties. These manifests include built-in support for via the SmallRye Health extension and Prometheus metrics annotations for , all produced during the build phase using the Dekorate toolkit. Developers can deploy to a cluster with a single command, such as kubectl apply -f target/kubernetes/kubernetes.yml, streamlining the process without manual authoring. This automation ensures seamless integration with container orchestrators, facilitating efficient scaling and management in dynamic environments. The benefits of this container-first design are evident in the performance characteristics of Quarkus applications, particularly when compiled to native executables using , which achieve ultra-fast startup times on the order of 50 milliseconds and low memory footprints ranging from 10 to 50 MB for typical workloads. Build-time optimizations further enable the creation of efficient images under 100 MB by minimizing runtime reflection, generating custom proxies for via the Arc , and performing aggressive to exclude unused classes and features. These optimizations not only reduce resource consumption but also support seamless scaling in container orchestrators by avoiding long initialization delays common in JVM-based applications. Quarkus extends its container-first approach to serverless paradigms, such as Knative on , through extensions like Funqy, which provide a portable for writing functions that handle HTTP and event-based invocations with minimal overhead. This support, combined with compatibility for hybrid cloud environments, allows Quarkus applications to run consistently across on-premises clusters, public clouds, and serverless platforms, leveraging the same build-time metadata generation for diverse deployment targets.

Standards-Based Architecture

Quarkus adheres to standards to promote developer familiarity and application portability across Java environments. It implements the 4.1 specification for , enabling declarative management of bean lifecycles and scopes without runtime . Similarly, Quarkus supports 3.1 for building RESTful APIs, leveraging annotations like @Path and @GET to define endpoints in a standardized manner. For persistence, it integrates Hibernate ORM as the of 3.1, allowing entity mapping and query execution compliant with the specification. These alignments ensure Quarkus applications can leverage existing expertise and tools. In the reactive domain, Quarkus incorporates standards through its library, which provides an intuitive API compatible with the specification for asynchronous data processing. Additionally, it employs SmallRye implementations to fulfill MicroProfile specifications, such as MicroProfile 6.0, covering areas like configuration, metrics, and . This support enables reactive messaging and streaming patterns that integrate seamlessly with broader reactive ecosystems. To accommodate ahead-of-time (AOT) compilation, particularly for native executables via , Quarkus performs extensive build-time processing, including bytecode generation and dependency resolution. This approach substitutes runtime —common in traditional and JPA—with static analysis and code insertion, such as adding default constructors to beans, ensuring standards compliance without dynamic introspection. Failures in resolution, like unsatisfied or ambiguous dependencies, are detected at build time rather than runtime, enhancing reliability in constrained environments. Quarkus's standards-based design facilitates interoperability with non-Quarkus Java applications by exposing standard APIs, allowing components like services or persistent entities to interact via protocols such as HTTP/ or JDBC without proprietary dependencies. This portability extends to integration with legacy systems, where Quarkus modules can serve as drop-in replacements or clients using shared specifications.

Developer Experience

Live Coding

Quarkus provides a feature in its development mode, activated by running commands such as mvn quarkus:dev or ./mvnw quarkus:dev using , which launches the application in a JVM-based environment enabling hot reload of code changes without requiring full rebuilds or restarts. This mode facilitates rapid iteration by automatically detecting modifications and redeploying the affected components, allowing developers to maintain a seamless . The feature supports changes to source code, configuration files, and resource files including templates, with the application reflecting updates upon a simple browser refresh, often achieving sub-second feedback loops for enhanced productivity. This hot reload capability is powered by a specialized ClassLoader hierarchy that isolates user code, combined with classpath scanning to detect alterations and incremental handled by the JDT (Java Development Tools) core for efficient processing. While effective for most development scenarios, in Quarkus dev mode has limitations, particularly lacking support for modifications to reflection-heavy code when targeting native mode , as native executables are generated from the build profile rather than the dynamic dev environment. This ensures reliability in JVM-based development but requires switching to a full build cycle for native-specific adjustments.

Dev UI and Tools

Quarkus provides a developer-friendly web interface known as Dev UI, which activates automatically when running an application in development mode via commands like ./mvnw quarkus:dev. Accessible at http://[localhost](/page/Localhost):8080/q/dev-ui, this interface offers an interactive dashboard for inspecting and managing application components without modifying code. The Dev UI delivers visual overviews of key elements, including runtime and deployment dependencies searchable by name, as well as a comprehensive list of configuration properties editable in either text or form-based modes. It includes real-time monitoring tools such as health checks, performance metrics from build and reload cycles, and endpoint listings for HTTP , , and other routes. Additional productivity features encompass a file browser for navigation and inline editing, alongside live log viewing with tabs tailored to specific extensions like HTTP or database interactions. Extensibility is a core aspect of Dev UI, allowing Quarkus extensions to contribute custom pages, informational cards, and settings through , thereby tailoring the interface to specific use cases. For enhanced usability, it supports theme customization with options for light, dark, and desktop modes, and integrates with by enabling direct navigation to source files from the UI. Complementing the Dev UI, the Quarkus (CLI) streamlines and extension handling to boost developer productivity. Key commands include quarkus create app for scaffolding new projects with predefined archetypes, and quarkus extension add for incorporating integrations like Hibernate or RESTEasy directly into an existing application. The CLI installs via tools like JBang and supports specifying Quarkus versions, facilitating rapid iteration during development.

DevServices

Dev Services is a Quarkus feature that enables zero-configuration provisioning of external services during development and testing. It automatically starts production-like services, such as databases and messaging systems, using containers via the Testcontainers library when relevant extensions are present in the project and no explicit configuration is provided. This functionality requires a container runtime like or Podman and is activated only in dev and test modes, leaving production environments unaffected. The provisioning process begins upon application startup in dev mode or during test execution, with Quarkus detecting unconfigured extensions and launching the appropriate container within a default 60-second timeout, which can be adjusted using the quarkus.devservices.timeout property. Services can be customized through properties like custom Docker images (e.g., quarkus.datasource.devservices.image-name for databases) or fixed ports (e.g., quarkus.amqp.devservices.port for messaging), and global disabling is possible via quarkus.devservices.enabled=false or service-specific flags such as quarkus.datasource.devservices.enabled=false. Containers are automatically torn down when dev mode ends or tests complete, though reuse across runs can be enabled by setting testcontainers.reuse.enable=true in the Testcontainers properties file. Specific examples include database services for Java Persistence API (JPA) integrations and messaging services for protocols like AMQP. For JPA, adding the Agroal extension for triggers the startup of a PostgreSQL container with default credentials (username and password: quarkus), allowing immediate use without manual setup. For AMQP messaging, the SmallRye Reactive Messaging AMQP extension provisions an ActiveMQ Artemis broker using the image quay.io/artemiscloud/activemq-artemis-broker:1.0.25 by default, supporting features like shared instances in dev mode via label discovery. These services ensure compatibility with production setups while simplifying workflows. By eliminating the need for developers to install, configure, or manage external dependencies manually, Dev Services fosters consistent environments across teams and machines, reducing setup friction and enhancing productivity in development and testing cycles. This approach particularly benefits and ensures tests run reliably without external infrastructure prerequisites.

Continuous Testing

Quarkus provides as a development feature that automatically executes tests in response to code changes during development mode, enabling rapid feedback without manual invocation. Introduced in Quarkus 2.0.0.Final, this capability integrates seamlessly with the dev mode, where saving modifications to application or test code triggers the re-execution of only the impacted tests, leveraging the same hot-reload classloading mechanism used for application code updates. To initiate continuous testing, developers can press the 'r' key in the dev mode console or interact with the Dev UI, which starts an initial run followed by ongoing for changes. The feature supports both tests and tests annotated with @QuarkusTest, allowing for comprehensive validation of application behavior, including and overrides directly within classes. such as quarkus.test.type enable selective execution based on categories, while quarkus.test.continuous-testing controls whether testing starts enabled, paused, or disabled by default. Hot-swapping of test code is facilitated through Quarkus's dev mode reloading, permitting modifications to test methods or assertions without restarting the process, thus maintaining a fluid iteration cycle. execution is supported via 5's built-in parallelism features, configurable through or plugins, to accelerate test suites during continuous runs. Additionally, profile-specific testing is achieved using the @TestProfile , which applies distinct configurations—such as different datasources or feature flags—to isolate scenarios without duplicating test modules. Integration with DevServices enhances by automatically provisioning in-memory or containerized services, like or message brokers, for test environments without explicit setup, ensuring consistent and isolated data handling across runs. Support for mocking frameworks, such as , allows developers to stub dependencies in unit and integration tests, while performance-oriented tests can leverage Quarkus's HTTP testing tools, like RestAssured, to validate response times and resource usage under load. Terminal output can be customized to show test status updates, with options to suppress verbose logs for cleaner Dev UI interactions.

Build and Runtime

Native Compilation

Quarkus enables the compilation of applications into native s using GraalVM's Native Image technology, which employs the Substrate VM for ahead-of-time (AOT) compilation. This process begins with a build command such as ./mvnw package -Pnative (or ./mvnw install -Dnative for local builds), triggering static points-to analysis from the application's to identify reachable , methods, and classes. During this phase, metadata is collected for dynamic features like , resources, and to ensure compatibility, often automated via the Native Image Tracing Agent that generates configuration files (e.g., reflect-config.json) when running integration tests in JVM mode. The resulting standalone binary embeds the application logic, dependencies, and a minimal , producing a platform-specific without requiring a JVM at runtime. The primary benefits of native compilation in Quarkus stem from eliminating JVM overhead, enabling instant startup times—often in milliseconds, such as 0.011 seconds for a application—and drastically reduced footprints, with examples showing around 35 MB on startup for applications. This approach also minimizes the by excluding unused code and libraries, enhancing security for containerized or serverless deployments. Build times vary by application complexity but can be as quick as 22 seconds for simple projects, though reflection-heavy applications may extend to several minutes due to intensive analysis. Configuration is essential to handle framework-specific needs, such as including resources for via properties like quarkus.native.resources.includes=*.json or by defining resource-config.json files with regex patterns under META-INF/native-image. For , developers provide reachability hints using annotations like @RegisterForReflection on classes or methods, or through agent-generated metadata files, ensuring features like dynamic proxy creation or processing function correctly without errors. These configurations are placed in src/main/resources/META-INF/native-image/<group-id>/<artifact-id> for extensions. Despite these advantages, native executables involve trade-offs, including larger binary sizes—often tens to hundreds of megabytes—due to the inclusion of all statically analyzed code, libraries, and even garbage collection components. Dynamic features are more limited compared to JVM mode, as AOT compilation prohibits certain runtime behaviors like arbitrary classloading or unconfigured , potentially requiring manual hints and leading to inferior peak performance without just-in-time () optimizations. Debugging is also constrained, relying on tools like GDB rather than standard debuggers.

Supported Distributions

Quarkus native images are built using specific distributions of , which provide the necessary tools for . The supported distributions include the open-source Community Edition, the commercial Enterprise Edition, and , a downstream build tailored for Quarkus. These options ensure compatibility with Quarkus's native compilation process while offering varying levels of support, performance optimizations, and stability. GraalVM Community Edition (CE), provided by , serves as the open-source foundation for native image generation in Quarkus. It receives community-driven updates and is suitable for development and testing environments, where users can experiment with native builds without commercial licensing. This edition supports JDK 17 and later versions, aligning with Quarkus 3.x requirements, and is often used on platforms like macOS where support is limited. GraalVM Enterprise Edition (EE), also from , extends the Community Edition with proprietary enhancements for improved performance, such as advanced optimizations and extended diagnostics. It is designed for production deployments in Quarkus applications, offering dedicated support and integration for enterprise-scale native images. Like the CE, it supports JDK 17+, making it compatible with Quarkus's current ecosystem. Mandrel, developed by as a downstream of Community Edition, is built on and optimized specifically for Quarkus native compilation. Introduced with Quarkus 1.7 in August 2020, it excludes non-essential features like polyglot support to reduce distribution size and focuses on long-term stability, including regular security patches and compatibility guarantees for Quarkus features. is recommended for Linux-based containerized environments and ensures ongoing support for native capabilities in Quarkus 3.x, with compatibility for JDK 17 and higher. All three distributions maintain compatibility with JDK 17 as the minimum for Quarkus 3.x, though JDK 21 is recommended for optimal performance. While CE and EE provide broader platform support, prioritizes Quarkus-specific reliability in pipelines, such as those involving the native build process detailed in Quarkus documentation.
DistributionProviderKey FeaturesJDK SupportIdeal Use Case
CEOpen-source, community updates17+Development and testing
EEEnhanced performance, commercial support17+Production deployments
Quarkus-optimized, stability-focused, reduced size17+Linux containers, long-term Quarkus support

Extensions and Ecosystem

Extension System

Quarkus extensions serve as reusable modules that extend the core framework by integrating additional functionalities, such as reactive REST services or messaging capabilities. These modules are designed to enhance , allowing developers to incorporate only the necessary components without bloating the application. As of the latest catalog, over 800 extensions are available, including core extensions and those from the Quarkiverse—a community-driven hub for third-party extensions hosted under the io.quarkiverse —such as prominent examples like quarkus-resteasy-reactive for building reactive web endpoints and quarkus-kafka for integration. Extensions are installed using the Quarkus CLI command quarkus ext add <extension-name>, which automatically updates the project's build file ( or ) with the appropriate dependencies. Alternatively, the provides the quarkus:add-extension for the same purpose, ensuring seamless addition to the dependency management system. The extension catalog is maintained through and repositories, organized into categories such as data (e.g., database drivers), messaging (e.g., AMQP and Kafka), and security (e.g., authentication mechanisms), facilitating targeted discovery and adoption. The lifecycle of a Quarkus extension emphasizes build-time processing to ensure compatibility with ahead-of-time (AOT) compilation, particularly for native executables via . During the build phase, extensions employ build steps—annotated methods in the deployment module—to analyze annotations, configurations, and metadata, generating optimized bytecode, classes, and configuration properties that are recorded for runtime use. This augmentation minimizes runtime initialization overhead by deferring non-essential logic and producing build items for inter-extension coordination, such as registering reflective classes or including resources in native images. At runtime, the generated artifacts initialize services like beans or HTTP handlers, enabling efficient execution in both JVM and native modes. Developers can create custom extensions to encapsulate proprietary or specialized logic, leveraging the Quarkus plugin's create-extension goal to scaffold a multi-module structure with and deployment components. This process involves defining build steps for augmentation, recorders for initialization, and metadata files like quarkus-extension.[yaml](/page/YAML) to integrate the extension into the . Such custom modules follow the same AOT-friendly patterns, ensuring they align with Quarkus's optimization goals.

Integrations

Quarkus provides a rich ecosystem of extensions that enable seamless integrations with third-party technologies, allowing developers to incorporate production-ready features without . These integrations leverage Quarkus's build-time optimization and reactive capabilities to support scalable, cloud-native applications. For database and interactions, Quarkus supports Hibernate Reactive, which offers non-blocking, reactive access to relational databases using and Hibernate 7 (as of 2025), enabling asynchronous data operations that align with Quarkus's model. This extension processes SQL statements reactively, reducing latency in high-throughput scenarios. Additionally, simplifies JPA usage by providing active record and repository patterns on top of Hibernate , allowing classes to include methods and reducing the need for traditional implementations. In messaging, Quarkus integrates through the SmallRye Reactive Messaging extension, which facilitates declarative, reactive message production and consumption using annotations like @Incoming and @Outgoing, ensuring efficient handling of streams in distributed systems. Similarly, RabbitMQ connectivity is achieved via the same SmallRye framework, supporting AMQP protocol for reliable queuing and routing of messages in enterprise environments. Security integrations in Quarkus include support, which enables 2.0-based authentication and authorization, integrating with Quarkus's security subsystem to secure endpoints and manage user sessions declaratively. For identity federation, OpenID Connect is handled through the security extension, providing JWT token validation and role-based access control compatible with standards like OIDC 1.0. Monitoring capabilities are enhanced by Micrometer, which collects application metrics such as JVM statistics and custom counters, exposing them in a vendor-neutral format for integration with various backends. Prometheus metrics export is supported via the Micrometer registry, allowing Quarkus applications to serve /q/metrics endpoints for scraping in pipelines. OpenTelemetry integration provides distributed tracing and , instrumenting Quarkus automatically to export spans to agents like Jaeger or Zipkin. For AI/ML workloads, Quarkus offers extensions like LangChain4j, which enable integration with large language models (LLMs) and AI agents, supporting reactive and efficient processing of AI-driven tasks as of November 2025. For cloud deployments, the Funqy extension enables function-as-a-service (FaaS) support on AWS Lambda, packaging Quarkus functions as serverless handlers that invoke via AWS SDK, optimizing cold starts with native compilation. On Google Cloud, Funqy facilitates deployment to Cloud Run and Cloud Functions, abstracting platform-specific details through a unified @Funq annotation for portable serverless code.

Community and Adoption

Development and Support

Quarkus is developed by a diverse open-source community under the governance of the Commonhaus Foundation, with major contributions from , which provides significant funding and resources. Contributions come from a diverse group including , AWS, and individual community members, with 1,122 contributors to the core repository as of 2025. The project is hosted on under the quarkusio organization, where development occurs through pull requests, issues, and discussions, enabling broad participation from the open-source community. In July 2024, Quarkus transitioned to the Commonhaus Foundation to enhance transparency, multi-vendor collaboration, and long-term sustainability while remaining fully open source. This governance model emphasizes project self-governance, with adherence to Commonhaus policies on intellectual property and trademarks, but no formal steering committee is specified; instead, core maintainers and working groups drive initiatives like programming model improvements. Prior to this, Quarkus operated as a Red Hat-initiated community project since its public unveiling in 2019. Community support for Quarkus is available through (using the "quarkus" tag), Zulip chat (on the #general and #dev streams), and the quarkus-dev Google Group for development-related questions. Commercial support is provided via the build of Quarkus, which includes extended lifecycle policies (minimum 3 years per major version), testing on platforms like and , and integration with enterprise environments. Documentation for Quarkus is extensive and hosted at quarkus.io/guides, offering tutorials, reference materials, and step-by-step instructions for tasks ranging from initial setup to advanced configurations. A dedicated guide assists developers in migrating applications from , highlighting equivalent Quarkus features and build-time optimizations.

Use Cases

Quarkus is widely adopted for building architectures deployed on , particularly in environments where rapid scaling and resource efficiency are critical. Red Hat integrates Quarkus into its platform to power internal , enabling fast startup times and low memory footprints that align with Kubernetes-native development practices. In the financial sector, banks leverage Quarkus for platforms and initiatives, such as Banco do Brasil's extraction of investment data from external institutions, benefiting from native compilation to achieve low-latency processing essential for applications like trading systems. A banking demonstrated an 85% reduction in startup times and the ability to run 30% more applications on existing infrastructure, highlighting Quarkus's role in modernizing legacy . In , Quarkus supports deployments on platforms like through its Funqy extension, which provides a portable for functions across cloud providers. This integration minimizes times—often reducing them to under a second in native mode—making it suitable for event-driven workloads without vendor lock-in. For instance, Funqy enables seamless invocation of Quarkus functions via 's runtime, supporting both direct function handlers and HTTP endpoints with minimal overhead. Quarkus excels in edge computing scenarios, such as low-resource gateways, where native images drastically cut memory and CPU demands. A telecommunications provider adopted Quarkus for edge and applications, achieving a 10x reduction in CPU costs while integrating with messaging systems like Kafka and for real-time data processing. This native optimization allows Quarkus applications to run efficiently on constrained devices, such as , supporting containerized deployments in distributed edge networks. Adoption of Quarkus has grown significantly in cloud-native Java development, with 31% of organizations using it for frameworks according to the 2025 State of Java survey by . This positions Quarkus as a key player behind in enterprise adoption, driven by its affinity and performance gains. Migrations from to Quarkus have yielded substantial improvements in startup performance for and other high-traffic platforms. Vodafone Greece successfully transitioned internal libraries and services, reporting faster development cycles and reduced resource consumption in production. In one documented migration of a application, startup times improved by up to 85%, enabling 5x faster application readiness in containerized environments. These shifts often involve minimal refactoring, leveraging Quarkus's compatibility with standards like MicroProfile to maintain existing codebases while unlocking native benefits.