Skip to content

AWS Architecture Blog — Unlock efficient model deployment: Simplified Inference Operator setup on Amazon SageMaker HyperPod

Summary

Product-announcement post for the SageMaker HyperPod Inference Operator shipping as a native Amazon EKS add-on (replacing the prior Helm-chart install path), with a built-in Helm-to-add-on migration script and an auto-scaling / node-affinity / KV-cache / intelligent-routing feature envelope. Surface-level framing is "one-click install"-grade marketing ([[patterns/ eks-add-on-as-lifecycle-packaging|EKS add-on as lifecycle-packaging primitive]]); four genuinely architectural primitives sit inside the body and are the reason for ingest:

  1. Multi-instance-type deployment via Kubernetes node affinity — a priority-ordered GPU instance-type preference list (e.g. ["ml.p4d.24xlarge", "ml.g5.24xlarge", "ml.g5.8xlarge"]) implemented via requiredDuringSchedulingIgnoredDuringExecution + preferredDuringSchedulingIgnoredDuringExecution with descending weights. The Kubernetes scheduler silently falls back to the next-preferred type when capacity is unavailable — structural answer to the GPU-capacity-constrained-placement problem.
  2. Managed tiered KV cache with intelligent memory allocation per instance type, claimed up to 40% inference-latency reduction for long-context workloads (no methodology disclosed).
  3. Intelligent routing — one of three strategies (prefix-aware / KV-aware / round-robin) picked at install time to maximise cross-request KV-cache reuse and minimise inference latency.
  4. EKS add-on replacing Helm as the managed-lifecycle packaging primitive — named IAM roles, opinionated default dependency- add-on bundle (cert-manager, S3 CSI, FSx CSI, metrics-server), KEDA-via-IRSA for autoscaling, ALB Controller role for routing, one-click upgrades, rollback semantics, and an official migration script (helm_to_addon.sh with auto-discovery, OVERWRITE flag, rollback on failure).

Not ingested: the how-to-click-through-the-console walkthrough, the quick-install-vs-custom-install dichotomy, the step-by-step screenshot tour, the cleanup section.

Key takeaways

  1. Multi-instance-type fallback via node-affinity priority. The new InferenceEndpointConfig.spec.instanceTypes: [...] takes a prioritised list of GPU instance types; under the hood this compiles to a Kubernetes node-affinity rule where requiredDuringSchedulingIgnoredDuringExecution restricts placement to the listed set and preferredDuringSchedulingIgnoredDuringExecution with descending weights orders them. Quoted: "In the example below, when deploying a model from S3, ml.p4d.24xlarge has the highest priority and will be selected first if memory capacity is available. If ml.p4d.24xlarge is unavailable, the scheduler automatically falls back to ml.g5.24xlarge, and finally to ml.g5.8xlarge as the last resort." This is the load-bearing architectural contribution of the post — see concepts/instance-type-fallback. The same CRD also exposes the raw nodeAffinity surface for custom requirements (excluding Spot instances, preferring AZs, targeting custom labels).

  2. KV cache is first-class managed infrastructure, not a library concern. "During installation, customers can optionally enable managed tiered KV cache with intelligent memory allocation based on instance types. This feature can reduce inference latency by up to 40% for long-context workloads while optimizing memory utilization across the cluster." The KV cache is the per-token Key/Value-projection tensor cache the transformer decode loop reuses across autoregressive steps; "tiered" implies a memory- hierarchy across GPU HBM / host DRAM / (likely) NVMe SSD with eviction between tiers. The 40% figure is long-context- specific and method-unspecified — the wiki should not treat the number as a benchmark but the presence of managed KV cache as an add-on capability is a shift in where the primitive lives (model-server internals → platform service). See concepts/kv-cache.

  3. Prefix-aware / KV-aware routing as a platform feature. "The installation automatically configures intelligent routing capabilities with multiple strategies (prefix-aware, KV-aware, round-robin) to maximize cache efficiency and minimize inference latency based on workload characteristics." Prefix-aware sends requests sharing a common prompt prefix to the same replica so the KV cache for the shared prefix hits on the second request; KV-aware takes this further by reading actual cache-occupancy telemetry from each replica (what prefixes are currently hot) before routing; round-robin is the cache-agnostic baseline for comparison. A specialisation of concepts/workload-aware-routing for LLM-inference workloads — see concepts/prefix-aware-routing.

  4. EKS add-on as managed-lifecycle packaging. Pre-2026 the Inference Operator shipped as a Helm chart; the customer owned Helm-release lifecycle, dependency-version management, IAM-role creation, S3-bucket for TLS certs, VPC endpoint config, and dependency add-on install (cert-manager, S3 CSI driver, FSx CSI driver, metrics-server). The new packaging collapses all of that into a single aws eks create-addon --addon-name amazon-sagemaker-hyperpod-inference with a JSON config blob; AWS manages dependency-add-on provisioning, version-bumping, IAM scaffolding, and rollback-on-failure. Listed quantified friction reductions (no methodology): "hours before a single model can serve predictions""within minutes of cluster creation". Canonical migration story: helm_to_addon.sh script auto- discovers the existing Helm deployment's config, scales down the old deployments, installs the add-on with the OVERWRITE flag, tags migrated resources (ALBs / ACM certs / S3 objects) with CreatedBy: HyperPodInference, preserves backup files in /tmp/hyperpod-migration-backup-<timestamp>/ for rollback. See patterns/eks-add-on-as-lifecycle-packaging.

  5. IAM role carving. The install creates four named IAM roles with distinct trust boundaries: Execution Role (Inference Operator + S3 TLS certificate access), JumpStart Gated Model Role (access to gated JumpStart models — access-controlled model distribution), ALB Controller Role (load-balancer lifecycle), KEDA Operator Role (autoscaler IRSA). Four roles rather than one wide role is a least-privilege decomposition — orthogonal to the KV-cache / routing / fallback content but worth noting as the default posture the managed installer produces.

  6. KEDA as the platform autoscaler. The install bundles KEDA (with its own IAM role) for metric-driven scaling — the event-driven-autoscaler-on-HPA pattern the rest of the wiki already documents; new here is KEDA bundled as part of a managed inference-platform add-on rather than a customer CNCF-primitive choice.

  7. CRD-driven deployment shape. Two first-class resources: InferenceEndpointConfig (bring-your-own-model from S3 + explicit instance-type / affinity / replica count / resource limits) and JumpStartModel (managed-model path — only modelId + instanceType, the managed catalog handles the weights). The two-CRD split mirrors the managed-vs-customer-owned data-plane axis at the model-artifact layer.

  8. Observability integration named, not internal-ed. "Built-in integration with HyperPod Observability provides immediate visibility into inference metrics, cache performance, and routing efficiency through Amazon Managed Grafana dashboards." Key inference metrics called out elsewhere in the post: time-to-first-token (TTFT), end-to-end latency, GPU utilization. No architectural detail on how metrics flow; cited here only to keep the dashboard-level claim on record.

Systems named

  • systems/sagemaker-hyperpod-inference-operator — the Kubernetes controller that reconciles InferenceEndpointConfig + JumpStartModel CRDs into pods + services + load balancers on a HyperPod EKS cluster. Previously shipped as Helm chart; as of 2026-04-06 ships as a native EKS add-on.
  • systems/aws-sagemaker-hyperpod — parent large-scale training/inference substrate. The inference operator runs on a HyperPod cluster with EKS orchestration.
  • systems/aws-sagemaker-ai — product-line umbrella.
  • systems/aws-eks — the Kubernetes control plane under HyperPod inference; the add-on mechanism is an EKS primitive.
  • systems/kubernetes — the node-affinity + CRD mechanism the fallback and routing primitives compile down to.
  • systems/helm — the packaging primitive being migrated away from on this rollout — notable as the canonical "Helm → managed add-on" wiki instance.
  • systems/keda — bundled as the autoscaler with its own IAM role.
  • systems/aws-fsx, systems/aws-s3 — CSI-driver dependencies bundled as default add-ons; S3 is also where model weights and TLS certificates live.
  • systems/amazon-managed-grafana — the dashboard surface for inference observability.

Concepts introduced / extended

  • concepts/instance-type-fallbacknew. Kubernetes node- affinity-priority-ordered GPU instance-type fallback as the answer to GPU-capacity scarcity. The canonical shape (required to restrict the set + preferred with descending weights to order within the set) generalises beyond HyperPod.
  • concepts/kv-cachenew. Per-token Key/Value-projection tensor cache from transformer autoregressive decoding; memory hierarchy across GPU HBM / host DRAM / SSD; now a managed platform feature rather than a model-server library.
  • concepts/prefix-aware-routingnew. Inference-request routing optimised for cross-request KV-cache reuse via prefix sharing; canonical specialisation of concepts/workload-aware-routing for LLM inference.
  • concepts/managed-data-plane — extended. EKS add-on packaging as a form of managed-data-plane on the Kubernetes- cluster-bootstrap axis (AWS operates the add-on's lifecycle, customer declares intent via EKS create-addon configuration).
  • concepts/shared-responsibility-model — extended. The add-on boundary moves deeper into what was previously customer-operated Helm/IAM/dependency scaffolding.

Patterns introduced / extended

  • patterns/eks-add-on-as-lifecycle-packagingnew. Convert a previously-Helm-distributed Kubernetes operator (plus its dependency add-ons + IAM scaffolding + S3/VPC-endpoint prereqs) into a native EKS add-on with managed version bumps, rollback, and a one-shot Helm-to-add-on migration script. Generalises the packaging shift to any AWS-managed K8s operator.

Operational numbers disclosed

Minimal — all qualitative or un-methodologied:

  • "hours before a single model can serve predictions" (pre-2026 Helm install) → "within minutes of cluster creation" (post- 2026 add-on install). No pre/post latency distribution.
  • Managed KV cache: up to 40% inference-latency reduction for long-context workloads (methodology / baseline / workload-mix not disclosed).
  • Four IAM roles created on install.
  • Default dependency add-on set: cert-manager, S3 Mountpoint CSI driver, FSx CSI driver, metrics-server (4 add-ons).
  • Kubernetes version for the Terraform example: 1.33.
  • Example instance types named: ml.g5.8xlarge (8-GPU training example), ml.p4d.24xlarge / ml.g5.24xlarge / ml.g5.8xlarge (fallback example), ml.g5.4xlarge (nodeAffinity example).
  • Example model: deepseek-llm-r1-distill-qwen-1-5b, Llama-3.1-8B-Instruct, 13–15 replicas.

Scope rationale

Borderline Tier-1 ingest. The post is genre-coded as product-PR / one-click-install marketing — the category AGENTS.md tells us to skip outright. Four pieces of content keep it just above the scope filter:

  1. Priority-ordered Kubernetes node-affinity as the structural answer to GPU-capacity-constrained placement is a transferable primitive.
  2. Managed tiered KV cache as a platform capability rather than a model-server-library concern is a shift worth recording.
  3. Prefix-aware / KV-aware routing is a specialisation of concepts/workload-aware-routing the wiki doesn't yet have and will be cited by future LLM-serving posts.
  4. Helm-to-EKS-add-on migration is a general packaging-primitive shift that applies to any AWS-managed K8s operator.

The architectural detail is thinner than Tier-1 canonical posts (e.g. LiveGraph 100x, BDT's Ray compactor). Ingested selectively (5 new pages, not 15) with no fabricated depth. Future HyperPod Inference posts — if AWS publishes KV-cache-tier-internals or the prefix-aware-router's load-balancing-algorithm internals — would justify promoting the concept pages from stubs to deep pages.

Caveats

  • The 40% KV-cache latency number is un-methodologied (no baseline workload, no context-length distribution, no compare-to-non- tiered-KV-cache, no percentile disclosed).
  • Routing-strategy internals are name-only (no fallback behaviour when prefix-aware tips a replica into OOM, no backpressure mechanics, no cache-miss cost).
  • No production-incident retrospective.
  • No capacity / QPS / p50 / p99 / concurrent-model / GPU- utilisation numbers.
  • The "up to 40%" hedged framing and the unit "tiered" both signal marketing-grade quantification, not an architecture retrospective.

Source

Last updated · 200 distilled / 1,178 read