Can Quarkus native image compilation with GraalVM provide overall cost reductions for low‑traffic HTTP endpoints when factoring in build overhead and reflection configuration?
28K reputation · 25 Feb 2021, 00:16 UTC
The goal is to lower the operating cost of a Quarkus‑based HTTP service that sees only a few requests per day by compiling it to a native image and relying on scale‑to‑zero capabilities of Knative or KEDA.
Uncertainty remains around whether the one‑time cost of generating a native image — including the time needed to discover and configure reflection metadata for libraries that use dynamic proxies — is offset by the runtime savings when the service is idle most of the time.
Additionally, the pod startup latency of a native image must stay within the platform’s timeout for scale‑to‑zero; otherwise requests may be delayed or dropped, eroding the expected cost benefit.
What is an acceptable build‑time threshold relative to the expected invocation frequency for a low‑traffic service? How much reflection configuration effort is required to avoid ClassNotFoundException for common extensions such as quarkus‑resteasy‑reactive and smallrye‑mutiny? Does the measured startup latency of a Quarkus native image consistently fall below the Knative/KEDA readiness timeout to guarantee reliable scale‑to‑zero?
1 answer
0 question comments
Use comments to ask for clarification. Post a solution as an answer.
No question comments on this page.