Skip to content

Commit 947315f

Browse files
MichalMalerjherrman
andcommitted
Quarkus as a powerful runtime - Blog post #2
Signed-off-by: Michal Maléř <[email protected]> Apply suggestions from code review Co-authored-by: Jiri Herrmann <[email protected]>
1 parent f0085bd commit 947315f

10 files changed

+161
-0
lines changed
Lines changed: 161 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,161 @@
1+
---
2+
layout: post
3+
title: 'Quarkus: A Runtime and Framework for Cloud-Native Java'
4+
date: 2025-10-22
5+
tags: quarkus runtime framework performance cloud-native
6+
synopsis: This post explores how Quarkus speeds up development, cuts costs, and streamlines cloud-native Java.
7+
author: mmaler
8+
thumbnailimage: /assets/images/posts/mmaler-blog-posts/quarkus-as-a-powerful-runtime.jpeg
9+
---
10+
:imagesdir: /assets/images/posts/mmaler-blog-posts/2-Quarkus-as-a-powerful-runtime/
11+
ifdef::env-github,env-browser,env-vscode[:imagesdir: ../assets/images/posts/mmaler-blog-posts/2-Quarkus-as-a-powerful-runtime/]
12+
13+
= Quarkus: A Runtime and Framework for Cloud-Native Java
14+
15+
image::/assets/images/posts/mmaler-blog-posts/quarkus-as-a-powerful-runtime.jpeg[alt="Quarkus: Runtime and Framework for Cloud-Native Java", width=100%]
16+
17+
Cloud platforms reward services that start fast and stay lean.
18+
Quarkus is engineered for that reality: build-time processing reduces runtime overhead; the result is rapid startup, a small memory footprint, and frictionless deployment to containers, Kubernetes, and serverless.
19+
20+
If your Java services need to start in milliseconds, run dense on shared nodes, and still feel great to build, Quarkus was made for that job.
21+
22+
Quarkus is a Java runtime that seamlessly integrates popular frameworks and libraries, shaping both the structure of modern applications and the developer experience behind them.
23+
24+
In this post, “runtime” means the full execution stack in production: JVM or native, plus Quarkus and the integrated frameworks.
25+
26+
Quarkus itself can also work as a framework, as it constitutes a higher-level layer that provides structure and APIs.
27+
28+
== Why Quarkus stands out
29+
30+
In modern software development, runtimes and frameworks form the foundation of productivity and consistency.
31+
Frameworks promote uniformity, simplify infrastructure, and enable automation at scale.
32+
33+
image::1-history.png[alt="A brief timeline leading to modern Java and Quarkus", width=100%]
34+
35+
Quarkus is a cloud-native Java runtime that integrates multiple frameworks and optimizes them for fast startup, low memory use, smooth Kubernetes/serverless deployments, and a great developer experience with live reload, which allows you to have very fast feedback by immediately seeing any changes you make to your code without the need to recompile and restart the server.
36+
37+
On top of that, Quarkus integrates established Java frameworks, such as CDI, JAX-RS, and Hibernate. However, it also enforces its own conventions, uses annotations to drive behavior, and defines how applications are structured.
38+
39+
In this sense, Quarkus is a framework that serves as a runtime and platform for cloud-native Java applications.
40+
It also adheres to industry standards, offering compatibility with technologies such as Spring, Kafka, and Camel to support familiar and flexible development models.
41+
42+
== Quarkus as a versatile framework
43+
44+
Beyond staple traits of modern frameworks, Quarkus introduces two platform-defining features: build-time optimization and deep extensibility.
45+
46+
* *Build-time optimization*: Quarkus shifts work from runtime to build time wherever possible.
47+
This approach reduces startup overhead and memory usage, resulting in a lean, fast, and efficient application tailored for production.
48+
+
49+
image::2-build-time-principle.png[alt="Build-time principle in Quarkus: being fast by doing less at runtime", width=100%]
50+
+
51+
image::3-BuildTimeP-Benefits-JVM.png[alt="Benefits of Quarkus build-time processing on the JVM", width=100%]
52+
+
53+
image::4-BuildTimeP-Benefits-native.png[alt="Benefits of Quarkus native image compared to JVM", width=100%]
54+
+
55+
image::5-JVM-Snapshotting-Native.png[alt="JVM snapshotting vs native images in Quarkus", width=100%]
56+
57+
* *Extensibility*: Quarkus exposes extension points for everything from startup hooks to request filters.
58+
Over 800 extensions allow seamless integration with modern technologies such as Kafka, OpenTelemetry, and OpenID Connect.
59+
+
60+
These extensions integrate with Quarkus and participate in its build-time and runtime lifecycle, making them first-class citizens of the Quarkus platform.
61+
62+
=== Simplified developer experience
63+
64+
Frameworks succeed when they reduce complexity without sacrificing power.
65+
Quarkus does exactly that:
66+
67+
* Preconfigures popular libraries with sensible defaults.
68+
* Offers unified configuration and developer tooling.
69+
* Provides instant feedback with live reload and continuous testing.
70+
71+
This makes Quarkus both powerful and approachable.
72+
73+
You can start with a simple REST endpoint and scale it into a production-grade service without changing your development model.
74+
75+
image::6-Frictionless.png[alt="Frictionless developer experience: live reload, dev services, continuous testing", width=100%]
76+
77+
These features reflect Quarkus’s dual role: it behaves like a framework during development, offering structure, defaults, and conventions, and it acts as a runtime during execution, delivering performance, efficiency, and operational consistency.
78+
79+
=== Performance that matters
80+
81+
In practice, the two goals that matter most for production-grade frameworks at scale are fast startup and resilience against cascading failures.
82+
Rapid startup improves elasticity and recovery, while resilience prevents local faults from spreading.
83+
For a broader industry perspective, see the link:https://cacm.acm.org/practice/application-frameworks/[ACM article on application frameworks].
84+
85+
Native image generation with GraalVM enables cold starts in milliseconds and a minimal memory footprint.
86+
As such, it allows cost-effective deployment in containers and serverless environments.
87+
88+
Quarkus also includes structured health checks, metrics, and tracing, and thereby aligns with production standards from day one.
89+
90+
91+
image::7-success-stories.png[alt="Real-world success stories using Quarkus", width=100%]
92+
93+
94+
=== Security
95+
96+
Quarkus uses a standards-first composable security model.
97+
You enable what you need and configure it for your environment:
98+
99+
* **Transport:** Enable TLS for HTTPS, or terminate TLS at your ingress.
100+
* **Authentication:** Choose Basic, form-based, mTLS, or OpenID Connect (OIDC).
101+
* **Authorization:** Enforce RBAC on web endpoints with `@RolesAllowed`, `@DenyAll`, and `@PermitAll`.
102+
103+
This lets you apply the right security controls for each deployment.
104+
105+
=== Observability and control surfaces
106+
107+
Common control surfaces, such as metrics, logging, tracing, and configuration, are essential for site reliability engineers (SREs) and platform teams.
108+
109+
Quarkus exposes:
110+
111+
* Unified logging with link:https://quarkus.io/guides/logging[`quarkus-logging`].
112+
* Structured metrics and tracing with link:https://quarkus.io/guides/telemetry-micrometer-to-opentelemetry[Micrometer and OpenTelemetry].
113+
* Unified configuration of all the application's aspects by using `application.properties` or environment variables.
114+
115+
This standardization enables automation and scalable monitoring.
116+
117+
=== Modular and production-ready
118+
119+
Following a lean-core, modular-at-the-edge approach, Quarkus delivers:
120+
121+
* A minimal core for fast startup.
122+
* Pluggable modules for authentication, tracing, messaging, and more.
123+
* Dev Services for automatic provisioning of databases, brokers, and containers in dev mode.
124+
125+
Whether you are building a prototype or deploying to OpenShift, Quarkus adapts.
126+
This modularity spans both the framework-level APIs developers work with and the runtime behaviors that execute beneath them.
127+
128+
Because Quarkus modularity is declarative and unified across extensions, it supports a platform-like developer experience without the rigidity of traditional frameworks.
129+
130+
=== Building your stack with Quarkus
131+
132+
Frameworks can serve as a foundation for creating higher-level abstractions.
133+
134+
Quarkus fits naturally into this model—not by becoming a platform itself, but by enabling teams to build their customized stacks and frameworks on top of it.
135+
136+
Unlike many traditional frameworks, Quarkus provides a unified extension architecture that supports deep customization.
137+
Organizations can tailor Quarkus to fit specific domains, technologies, or compliance needs.
138+
This enables the creation of organization-specific developer experiences, as seen in solutions like Amadeus’s SQube.
139+
140+
By encouraging consistency, offering build-time integration, and exposing clean extension points, Quarkus supports the creation of opinionated, scalable internal frameworks without forking or reinventing the core.
141+
142+
With Quarkus, teams can focus on business logic while the runtime handles infrastructure concerns, and the platform provides consistency across services.
143+
This has been exemplified by Logicdrop, who refactored their entire Spring Boot stack with Quarkus, reducing container size by ~75%, achieving sub-second startup times, and significantly improving developer productivity.
144+
145+
For more information, see the link:https://quarkus.io/blog/logicdrop-customer-story/[Logicdrop customer story] and their link:https://quarkus.io/blog/logicdrop-automating-quarkus-with-gitlab/?utm_source=chatgpt.com[GitLab automation write-up].
146+
147+
== Conclusion
148+
149+
Quarkus unifies the strengths of a framework and a runtime.
150+
151+
As a framework, it provides structure, conventions, and a cohesive developer experience. As a runtime, it delivers fast startup, low memory use, and operational consistency in the cloud.
152+
153+
This dual role helps teams standardize practices, reduce costs, and ship resilient cloud-native services.
154+
155+
image::8-expectations.png[alt="Setting expectations for performance and developer experience with Quarkus", width=100%]
156+
157+
For a closer look at how Quarkus makes Java cloud-native, see the https://quarkus.io/blog/mmaler-blogpost-1-intro/[introductory blog post].
158+
159+
== What’s next?
160+
161+
Explore more Quarkus use cases in the link:https://quarkus.io/blog/[official blog archive], or check out the link:https://quarkus.io/guides/[Quarkus guides] to start building your own cloud-native stack today.
451 KB
Loading
742 KB
Loading
508 KB
Loading
324 KB
Loading
409 KB
Loading
376 KB
Loading
410 KB
Loading
306 KB
Loading
358 KB
Loading

0 commit comments

Comments
 (0)