Build1 publisher2 min readPublished
HyperPod's inference gateway scores KV cache and LoRA residency before it picks a pod
Amazon's new EKS managed addon reads Prometheus metrics from every model pod and sends each request to the one with room in its KV cache. The advertised 82% cut in first-token latency rests on a single 4.4-second baseline.
The Engineer · Build desk

What happened
- AWS announced Amazon SageMaker HyperPod Inference Gateway, a Kubernetes-native, GPU-aware routing system that installs as a single EKS managed addon on existing HyperPod clusters.
- The first tier has three components, all built on the open-source Gateway API Inference Extension: Envoy Gateway, a Body-Based Router that reads the model field, and an Endpoint Picker that chooses the pod.
- A second tier, the Global Inference Router, adds cross-cluster failover, global rate limiting and cost-aware traffic shaping, and is described as coming soon.
Compiled by The EngineerSomething wrong?How this is made
Why it matters
- cost The money AWS says is being burned is the over-provisioning teams do to cover a load balancer that cannot see inside a GPU. A fleet already running even utilization has no idle capacity for the scorers to reclaim.
- decision Scorer weights become an operations decision per workload. Someone has to own the chat-versus-batch balance, and defend it after the first latency regression.
- constraint Until the Global Inference Router ships, a per-cluster gateway cannot route around a dead cluster, so region-level failover stays with whatever you built yourself.
- capability Adding a model turns into a config edit. Clients keep posting the same OpenAI-compatible schema and the router picks the pool, so no client learns a second endpoint.
The 82 percent is one before-and-after pair. A pull quote in the AWS post reads: "A chatbot user waiting 4.4 seconds for the first token now sees it in under 800 ms." [10] Against a 4,400 ms baseline, 800 ms is a reduction of 81.8 percent [1]. The 4-second starting point comes from the failure AWS attributes to round-robin: requests piling up behind busy pods during a traffic burst while idle capacity goes unused, followed by over-provisioning to compensate [12].
For that delta to appear in your cluster, your baseline has to be round-robin or least-connections, which AWS says have no view of KV cache saturation, in-flight long-context generations, or which pod already holds the LoRA adapter a request needs [11]. Your pods also have to differ from each other at the moment a request arrives. Even arrivals across identically loaded pods leave the scorers nothing to prefer.
The scoring inputs are Prometheus metrics scraped from every model-serving pod [6]. There are five: KV cache utilization, queue depth, LoRA adapter residency, prefix cache hit rate, and running requests [7]. A model server that does not publish KV cache utilization leaves that scorer reading nothing, and the weighted score falls back on the four it can see. Each weight is configurable, and AWS frames the tuning as latency-sensitive chat against throughput-optimized batch [8].
Picking the model pool happens before any of that. The Body-Based Router inspects each OpenAI-compatible request body, extracts the model field, and routes to the matching pool [5]. That is a JSON parse at the proxy on every request. Multi-model serving works by declaring several schedulers in one config resource [17], behind a single private endpoint per cluster terminated by Envoy Gateway at L7 [4].
"Zero application changes" is one of three claims in the post's opening line, alongside eliminating GPU waste and the up-to-82% latency figure [9]. It holds at the client: the endpoint speaks the standard OpenAI schema, existing client code runs unchanged, and inference traffic needs no SigV4 signing [14]. The changes are in Kubernetes. You install the amazon-sagemaker-hyperpod-inference addon on the cluster [2], add a label to your existing model server deployments so the gateway can discover them, and apply one InferenceGatewayConfig custom resource [13]. Whoever owns that YAML may have a view on whether a new label and a new custom resource count as no changes. AWS says there are no sidecars and no service mesh [15].
What to watch
- A ship date for the Global Inference Router, and whether its cost-aware traffic shaping needs price signals the pods do not currently emit.
- Published default scorer weights, plus a first-token figure measured on steady arrivals rather than a burst.
- Whether AWS documents the Prometheus metric names the Endpoint Picker scrapes, so third-party model servers can emit them.