> ## Documentation Index
> Fetch the complete documentation index at: https://docs.tensor9.com/llms.txt
> Use this file to discover all available pages before exploring further.

# SageMaker (Inference)

> SageMaker (Inference) APIs with Cloud Adapter.

This page describes how SageMaker (Inference) maps to services in the environment where the application runs, including backend choices, supported operations and service-specific behavior.

## Supported environments

* Azure
* Google Cloud

Check the operation and capability tables for the behavior your application depends on. A supported environment does not imply that every operation of the origin service is available.

## How the backends compare

Each row compares a capability of SageMaker (Inference) with its adaptation on each backend.
A dash means this profile does not state the capability for that backend.

### Cloud Adapter

| Capability | SageMaker (Inference) | Azure and Google Cloud |
| - | - | - |
| API coverage | full | partial |

## On Azure and Google Cloud

### Your inference container

| Operation | Area | Support | Depth | Notes |
| - | - | - | - | - |
| InvokeEndpoint | Inference | Supported | Common | Forwards a request body of up to 6 MiB to one configured model container and returns its response body and content type. |
| InvokeEndpointAsync | Inference | Out of scope | Full surface | Asynchronous inference is unsupported; requests return an error. |
| InvokeEndpointWithResponseStream / InvokeEndpointWithBidirectionalStream | Inference | Out of scope | Full surface | Streaming inference is outside this adapter's subset. |
| ContentType, Accept, CustomAttributes and InferenceId | Inference headers | Supported | Common | These values reach the model container. CustomAttributes in its response are returned to the caller. |
| Explanation, inference-component, session and prefix-cache controls | Inference options | Out of scope | Full surface | These request controls are not implemented or forwarded to the model. Do not rely on them taking effect. |
| Batch transform, training jobs, tuning and notebooks | ML platform | Out of scope | Full surface | These are separate workloads, not synchronous endpoint inference; they remain on AWS. |
| TargetVariant / TargetModel / TargetContainerHostname | Model routing | Out of scope | Full surface | Explicit variant, multi-model and inference-pipeline container selection are refused. Each configured endpoint serves one model container. |
| Model, endpoint configuration and endpoint Terraform resources | Provisioning | Partial | Most usage | Deploys the model image as a Kubernetes Deployment and Service. Model artifacts, AWS instance sizing and weighted production variants need separate handling. |
| CreateModel / CreateEndpointConfig / CreateEndpoint / UpdateEndpoint / DeleteEndpoint | Runtime management | Out of scope | Full surface | Provision serving resources through the origin stack. Live SageMaker management API calls are not covered by this inference adapter. |

#### How inference runs

Your application sends a synchronous `InvokeEndpoint` request through its SageMaker Runtime client. The service adapter forwards the payload to your inference container in the customer's Kubernetes cluster on Azure or Google Cloud, then returns the container's response. The model and its input format stay yours; this mapping does not substitute Vertex AI, Azure Machine Learning or a different model.

Each configured endpoint addresses one model container. Requests naming a different endpoint, a production variant or a multi-model target do not silently run against the default model. Use one model and one endpoint per compiled module for this subset. Configure the client's endpoint name to match the deployed endpoint; custom AWS endpoint aliases are not preserved automatically.

#### Prepare the model and serving capacity

Tensor9 maps the origin stack's model, endpoint configuration and endpoint resources to a Kubernetes Deployment and Service using the model's container image. The endpoint is the served resource; its model and endpoint configuration accompany that provisioning. They do not provide separate model-management or endpoint-management APIs. A model or configuration without an endpoint does not create an inference server. Keep the three resources in one module with one declared model image. Make that image pullable from the customer's environment and provide the model files it needs.

The container must start its inference server itself. This path does not append SageMaker's `serve` argument or copy the model's environment-variable map automatically; package or configure the required startup behavior and environment explicitly.

Unlike SageMaker hosting, this path does not unpack `ModelDataUrl` into `/opt/ml/model` before startup. The artifact URL is passed to the container; the container must fetch it with suitable credentials, or you must supply the files another way. An image expecting preinstalled model files needs adjustment.

AWS instance types, initial instance counts and production-variant weights do not configure equivalent capacity here. Size CPU, memory and any accelerators for the customer's cluster, and validate startup, readiness and inference latency with the actual model. AWS execution roles and endpoint KMS keys are not applied unchanged; configure target-environment identity and storage encryption.

#### Inference-only boundaries

This adapter covers synchronous requests to a provisioned model. It does not cover asynchronous or streaming inference, batch transform, weighted variants, multi-model routing or runtime endpoint management. Changes to serving resources go through the origin stack rather than SageMaker management calls.

Notebooks, training and hyperparameter tuning remain on AWS. The SageMaker AI (Training and Notebooks) entry describes that separate scope. Inference is part of SageMaker AI too; the two index entries distinguish the capabilities Tensor9 adapts, not two unrelated AWS products.

#### AWS reference

AWS documents the [inference container contract](https://docs.aws.amazon.com/sagemaker/latest/dg/your-algorithms-inference-code.html) and the [InvokeEndpoint API](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_runtime_InvokeEndpoint.html). Those describe AWS behavior; the operation table above defines this adapter's narrower scope.

#### Example monthly charges

This Tensor9 Cloud Adapter scenario estimates service charges for the named origin and target services. Adapter hosting and commercial Tensor9 fees need separate allocations. [How Tensor9 estimates costs](https://docs.tensor9.com/cloud-adapter-early-access/costs/overview.md) explains the method and what the estimates include.

##### SageMaker CPU inference container · Inference requests per second

Feature: SageMaker CPU inference container.

Estimated monthly service charges by Inference requests per second. Adapter hosting and Tensor9 fees are excluded. Source: us-east-1; target: us-central1; currency: USD.

![SageMaker CPU inference container · Inference requests per second: monthly service charges by Inference requests per second. Exact values are in the following table.](https://docs.tensor9.com/images/cloud-adapter-early-access/diagrams/service-cost/f1193ab8187d839289f49d3bcb7f0654ec9f77c6bed1710c23e425270737a723-light.svg)

![SageMaker CPU inference container · Inference requests per second: monthly service charges by Inference requests per second. Exact values are in the following table.](https://docs.tensor9.com/images/cloud-adapter-early-access/diagrams/service-cost/dd13af9cf00a23dd7703b843870b99c84775ae1821c6a4adfce7a9a93cd8bc5a-dark.svg)

Comparison pills describe all sampled scale points; amounts beside each service are for the named workload. Costs The Same means within 20% at every point. Costs Depend includes mixed results and unpriced samples.

Sampled monthly charges in USD, rounded to cents. Difference means target minus origin; a positive difference means the target costs more.

| Inference requests per second (requests/s) | SageMaker | Target scenario | Your inference container | Difference |
| -: | -: | - | -: | -: |
| 0 | 167.90 | Your inference container (one copy) | 151.79 | -16.11 |
| 0 | 167.90 | Your inference container (two copies) | 303.58 | 135.68 |
| 1 | 167.90 | Your inference container (one copy) | 151.79 | -16.11 |
| 1 | 167.90 | Your inference container (two copies) | 303.58 | 135.68 |
| 10 | 167.90 | Your inference container (one copy) | 303.58 | 135.68 |
| 10 | 167.90 | Your inference container (two copies) | 607.17 | 439.27 |
| 100 | 167.90 | Your inference container (one copy) | 2,276.88 | 2,108.98 |
| 100 | 167.90 | Your inference container (two copies) | 4,553.77 | 4,385.87 |
| 1,000 | 167.90 | Your inference container (one copy) | 21,706.30 | 21,538.40 |
| 1,000 | 167.90 | Your inference container (two copies) | 43,412.59 | 43,244.69 |
| 10,000 | 167.90 | Your inference container (one copy) | Unpriced | Unavailable |
| 10,000 | 167.90 | Your inference container (two copies) | Unpriced | Unavailable |

Estimated allocation, not benchmark calibrated: sized from 4 vCPU, 16 GiB memory and 100 GiB SSD at 0 requests/s to 143 nodes of 4 vCPU, 16 GiB memory and 100 GiB SSD each at 1,000 requests/s. From 10,000 requests/s the workload exceeds the planning range and the target is unpriced.

**Curve assumptions**

| Target scenario | Assumption | Value | Unit |
| - | - | -: | - |
| Your inference container (one copy) | Origin list price · Origin inference endpoint allocation | 0.23 | USD/instance-hour |
| Your inference container (one copy) | Origin list price · Inference requests | 0 | USD/Requests |
| Your inference container (one copy) | Planning inference requests per replica-second | 20 | requests/replica-second |
| Your inference container (one copy) | Target inference utilization | 0.7 | fraction |
| Your inference container (one copy) | Peak / average inference requests | 2 | multiplier |
| Your inference container (one copy) | CPU per inference replica | 4 | vCPU |
| Your inference container (one copy) | RAM per inference replica | 16 | GiB |
| Your inference container (one copy) | Minimum allocated inference replicas | 1 | replicas |
| Your inference container (one copy) | Target price guess · read | 0 | USD/read |
| Your inference container (one copy) | Target price guess · write | 0 | USD/write |
| Your inference container (one copy) | Target price guess · provider operation | 0 | USD/provider operation |
| Your inference container (one copy) | Target list price · GiB-month | 0.1 | USD/GiB-month |
| Your inference container (one copy) | Target price guess · published GiB | 0 | USD/published GiB |
| Your inference container (one copy) | Target price guess · delivered GiB | 0 | USD/delivered GiB |
| Your inference container (one copy) | Target list price · network GiB | 0.12 | USD/network GiB |
| Your inference container (one copy) | Target price guess · replica GiB-month | 0 | USD/replica GiB-month |
| Your inference container (one copy) | Target list price · vCPU-hour | 0.031611 | USD/vCPU-hour |
| Your inference container (one copy) | Target list price · GiB-hour | 0.004237 | USD/GiB-hour |
| Your inference container (one copy) | Target price guess · resource-hour | 0 | USD/resource-hour |
| Your inference container (one copy) | Target price guess · resource-month | 0 | USD/resource-month |
| Your inference container (one copy) | Target price guess · input token | 0 | USD/input token |
| Your inference container (one copy) | Target price guess · output token | 0 | USD/output token |
| Your inference container (one copy) | Target monthly base charge | 0 | USD/month |
| Your inference container (one copy) | Approximate target service minimum | 0 | USD/month |
| Your inference container (one copy) | Minimum primary CPU | 2 | vCPU |
| Your inference container (one copy) | Minimum primary RAM | 8 | GiB |
| Your inference container (one copy) | Minimum primary disk | 100 | GiB |
| Your inference container (one copy) | Additional full-price standby copy | 0 | 0 or 1 |
| Your inference container (one copy) | Allocated share of provisioned cost | 1 | fraction |
| Your inference container (one copy) | Read/write work per vCPU-second | 1,500 | operations/vCPU-second |
| Your inference container (one copy) | Planning peak / mean work | 2 | multiplier |
| Your inference container (one copy) | Planning primary CPU utilization | 0.7 | fraction |
| Your inference container (one copy) | Resident state reserved in RAM | 0.1 | fraction |
| Your inference container (one copy) | Planning disk utilization | 0.8 | fraction |
| Your inference container (one copy) | Maintenance and log disk reserve | 20 | GiB |
| Your inference container (one copy) | Staging database CPU unit-price guess | 0.0413 | USD/vCPU-hour |
| Your inference container (one copy) | Staging database RAM unit-price guess | 0.007 | USD/GiB-hour |
| Your inference container (one copy) | Staging database disk unit-price guess | 0.17 | USD/GiB-month |
| Your inference container (one copy) | Dependent object sink storage price guess | 0.023 | USD/GiB-month |
| Your inference container (one copy) | Dependent object sink write price guess | 0.000005 | USD/write |
| Your inference container (two copies) | Origin list price · Origin inference endpoint allocation | 0.23 | USD/instance-hour |
| Your inference container (two copies) | Origin list price · Inference requests | 0 | USD/Requests |
| Your inference container (two copies) | Planning inference requests per replica-second | 20 | requests/replica-second |
| Your inference container (two copies) | Target inference utilization | 0.7 | fraction |
| Your inference container (two copies) | Peak / average inference requests | 2 | multiplier |
| Your inference container (two copies) | CPU per inference replica | 4 | vCPU |
| Your inference container (two copies) | RAM per inference replica | 16 | GiB |
| Your inference container (two copies) | Minimum allocated inference replicas | 1 | replicas |
| Your inference container (two copies) | Target price guess · read | 0 | USD/read |
| Your inference container (two copies) | Target price guess · write | 0 | USD/write |
| Your inference container (two copies) | Target price guess · provider operation | 0 | USD/provider operation |
| Your inference container (two copies) | Target list price · GiB-month | 0.1 | USD/GiB-month |
| Your inference container (two copies) | Target price guess · published GiB | 0 | USD/published GiB |
| Your inference container (two copies) | Target price guess · delivered GiB | 0 | USD/delivered GiB |
| Your inference container (two copies) | Target list price · network GiB | 0.12 | USD/network GiB |
| Your inference container (two copies) | Target price guess · replica GiB-month | 0 | USD/replica GiB-month |
| Your inference container (two copies) | Target list price · vCPU-hour | 0.031611 | USD/vCPU-hour |
| Your inference container (two copies) | Target list price · GiB-hour | 0.004237 | USD/GiB-hour |
| Your inference container (two copies) | Target price guess · resource-hour | 0 | USD/resource-hour |
| Your inference container (two copies) | Target price guess · resource-month | 0 | USD/resource-month |
| Your inference container (two copies) | Target price guess · input token | 0 | USD/input token |
| Your inference container (two copies) | Target price guess · output token | 0 | USD/output token |
| Your inference container (two copies) | Target monthly base charge | 0 | USD/month |
| Your inference container (two copies) | Approximate target service minimum | 0 | USD/month |
| Your inference container (two copies) | Minimum primary CPU | 2 | vCPU |
| Your inference container (two copies) | Minimum primary RAM | 8 | GiB |
| Your inference container (two copies) | Minimum primary disk | 100 | GiB |
| Your inference container (two copies) | Additional full-price standby copy | 1 | 0 or 1 |
| Your inference container (two copies) | Allocated share of provisioned cost | 1 | fraction |
| Your inference container (two copies) | Read/write work per vCPU-second | 1,500 | operations/vCPU-second |
| Your inference container (two copies) | Planning peak / mean work | 2 | multiplier |
| Your inference container (two copies) | Planning primary CPU utilization | 0.7 | fraction |
| Your inference container (two copies) | Resident state reserved in RAM | 0.1 | fraction |
| Your inference container (two copies) | Planning disk utilization | 0.8 | fraction |
| Your inference container (two copies) | Maintenance and log disk reserve | 20 | GiB |
| Your inference container (two copies) | Staging database CPU unit-price guess | 0.0413 | USD/vCPU-hour |
| Your inference container (two copies) | Staging database RAM unit-price guess | 0.007 | USD/GiB-hour |
| Your inference container (two copies) | Staging database disk unit-price guess | 0.17 | USD/GiB-month |
| Your inference container (two copies) | Dependent object sink storage price guess | 0.023 | USD/GiB-month |
| Your inference container (two copies) | Dependent object sink write price guess | 0.000005 | USD/write |

* Only this native meter varies; all other source usage and translation assumptions retain the displayed defaults. Other native meters and workload assumptions retain their explicitly displayed default quantities. Workload translation and capacity assumptions are not benchmark measurements.
* Native monthly usage priced at the cited provider list prices; listed target allowances apply where present, excluding invoice credits, taxes and negotiated discounts. Rates as of 2026-10-22: us-east-1 → us-central1, USD/month.
* Source prices are reference charges, not an invoice. Target lines cover selected service usage/configuration only; adapter hosting and Tensor9 fees are excluded.
* Samples of explicit prices are not performance measurements or capacity qualification. No interpolation or break-even guarantee is implied.
* Variant assumptions show the first axis sample; any axis-dependent configuration is described by this curve's workload note.
* Rates are cited provider list prices, editable for discounts, commitments or another region. Workload translation and capacity coefficients remain editable planning assumptions, not benchmark measurements or a commercial quote.
* Default-zero rates are explicit assumptions, not evidence that the deployed service or resource is free.
* Provisioned-unit minimums use an editable approximate allocation floor. Modeled target service cost is max(usage/allocation, minimum), with billable network, durable staging and dependent sinks added separately; actual RU/TU sizing, scaling increments and throughput remain unqualified.
* Durable staging is priced once: provisioned targets include adapter state in their selected allocation; native targets add a separate staging allocation when required. Adapter hosting is a separate allocation and must exclude resources already priced as staging, workers or target capacity.
* A declared adapter mapping and cost model do not establish implementation availability or service equivalence.
* This is a declared directed mapping; a planning estimate does not establish deployment or request-serving support.
* Origin unit prices are cited provider list prices; capacity coefficients and translation assumptions are editable authored planning guesses, not measured capacity or a provider quote.
* Whole inference-container replicas grow with peak traffic. This is a CPU-only small-model scenario, not generic ML or GPU capacity.
* The registered backend is the customer's own in-cluster container; this model does not invent a SageMaker-to-Vertex backend.
* The request curve holds the source endpoint allocation fixed; resize that separate meter for a larger origin fleet.
* Self-hosted target: Tensor9-built in-cluster SageMaker service serving a CPU-only small model; GPU nodes are not priced. Selected CPU, RAM and physical disk allocation grow with workload; no per-operation price is assumed. No vendor charge: the target runs on the customer's Kubernetes nodes, so CPU, RAM and disk bill at the Kubernetes node reference rates, Compute Engine N2 in us-central1 (USD 0.031611/vCPU-hour, 0.004237/GiB-hour) with pd-balanced disk (0.10/GiB-month) and Premium Tier egress. The cost-optimized E2 series lists 0.02181159/vCPU-hour and 0.00292353/GiB-hour; AWS m6i/r6i and Azure D2s v5/E2s v5 both decompose to 0.033/vCPU-hour and 0.00375/GiB-hour. Requested CPU and RAM are billed; node bin-packing waste, system reservations and the cluster control-plane fee are not.
* Row-store throughput (capacityOpsPerVcpuSecond, default 1500) is measured-by-tensor9 as a lower bound: the DynamoDB adapter on Cloud SQL db-custom-2-7680 (2 vCPU, PostgreSQL 16, us-west1) served 2,974 ops/s of YCSB-A at 16 threads without recorded saturation (src/main/kotlin/t9/prime/equiv/generated/eval/CloudsqlPostgresqlYcsbAT16GoYcsbV1\_0\_0.kt). Published CPU-bound pgbench reaches 3,101 read-write transactions and 20,289 point reads per vCPU-second (AWS z1d.2xlarge, PostgreSQL 14.5), so actual capacity is likely higher. Reads and writes share one coefficient: at the same adapter version, read-only YCSB-C was not faster than 50%-update YCSB-A.
* Log-broker throughput (capacityStreamMiBPerVcpuSecond 20 at 0.5 utilization, 4 GiB RAM per vCPU) is provider-documented by Google Managed Service for Apache Kafka sizing ([https://docs.cloud.google.com/managed-service-for-apache-kafka/docs/plan-cluster-size](https://docs.cloud.google.com/managed-service-for-apache-kafka/docs/plan-cluster-size)): write-equivalent bytes are replicated writes plus a quarter of reads. Producer batches below 10 KB lower per-CPU throughput; that penalty is not modeled.
* Disk utilization 0.8 is provider-documented headroom below Cloud SQL automatic storage increase, which triggers near 91-95% full ([https://docs.cloud.google.com/sql/docs/postgres/instance-settings](https://docs.cloud.google.com/sql/docs/postgres/instance-settings)). The 20 GiB reserve exceeds PostgreSQL's 1 GB default max\_wal\_size; the remainder of that reserve is unmeasured.
* CPU tiers double from 2 vCPUs to the target's largest node at 4 GiB per vCPU; each target's documented largest node bounds CPU, RAM, RAM per vCPU and disk, and the durable staging database uses Cloud SQL Enterprise (96 vCPU, 6.5 GiB per vCPU, 624 GiB, 64 TiB). Targets billed per capacity unit or throughput unit are sized by their backend instead.
* No public evidence: peak/mean work (2) and the RAM working-set fraction (0.1). Proposed measurements: the p99 one-minute rate over the monthly mean from customer CloudWatch metrics; the buffer hit ratio while stepping RAM under a fixed YCSB-B load.
* Node bounds: One CPU model replica of 4 vCPUs and 16 GiB, the SageMaker family's replica shape; replicas scale to a 1,000-replica planning bound.
* Stored GiB already includes the origin family's physical footprint assumptions; no second storage amplification is applied.
* The workload family already selected resource-hours; the throughput coefficient is not applied again.
* Copies and allocation fractions change cost only; they do not increase modeled primary capacity.
* AWS Price List API, AmazonSageMaker offer: [https://pricing.us-east-1.amazonaws.com/offers/v1.0/aws/AmazonSageMaker/current/us-east-1/index.json](https://pricing.us-east-1.amazonaws.com/offers/v1.0/aws/AmazonSageMaker/current/us-east-1/index.json)
* Compute Engine general-purpose machine pricing: [https://cloud.google.com/products/compute/pricing/general-purpose](https://cloud.google.com/products/compute/pricing/general-purpose)
* Disk and image pricing: [https://cloud.google.com/compute/disks-image-pricing](https://cloud.google.com/compute/disks-image-pricing)
* Network pricing: [https://cloud.google.com/vpc/network-pricing](https://cloud.google.com/vpc/network-pricing)

Cost scope: Modeled target native service and explicitly modeled state allocation; hosting and Tensor9 fees only when supplied.

Excluded costs and workload features:

* GPUs, training, notebooks, pipelines, multi-model endpoints, production variants, artifact storage, networking and observability.
* Origin endpoint data processing (USD 0.016 per GB in and out), which no meter prices.
* Taxes, discounts, credits and free-tier allowances not explicitly listed by this model.
* Unmodeled dependent services, task execution and operations outside the selected workload family.

List prices read: 2026-10-22. Model: `plan-73d1dcb79d92ef246d122f4846f3e580b0421c15` / `2026-10-22.planning.2`. Curve: `workload-1`.

Sources: [AWS Price List API, AmazonSageMaker offer](https://pricing.us-east-1.amazonaws.com/offers/v1.0/aws/AmazonSageMaker/current/us-east-1/index.json), [Compute Engine general-purpose machine pricing](https://cloud.google.com/products/compute/pricing/general-purpose), [Disk and image pricing](https://cloud.google.com/compute/disks-image-pricing), [Network pricing](https://cloud.google.com/vpc/network-pricing).

**SageMaker CPU inference container → Your inference container: Authored native-usage planning example.** Native monthly usage priced at the cited provider list prices; listed target allowances apply where present, excluding invoice credits, taxes and negotiated discounts.

Scenario source region: us-east-1. Scenario target region: us-central1. Currency: USD.

| Monthly component | USD |
| - | -: |
| Origin: Origin inference endpoint allocation | 167.90 |
| Origin: Inference requests | 0.00 |
| Target: Provisioned primary CPU | 92.30 |
| Target: Provisioned primary RAM | 49.49 |
| Target: Provisioned primary disk | 10.00 |
| Target: Selected billable network | 0.00 |
| Target: Independent provisioned resources | 0.00 |
| Target: Independent managed resources | 0.00 |
| **Origin service subtotal** | **167.90** |
| **Target service subtotal** | **151.79** |

Estimated allocation, not benchmark calibrated: sized at 4 vCPU, 16 GiB memory and 100 GiB SSD for this scenario.

Unestimated components: Adapter hosting, Tensor9 fees. A modeled adapted total and savings require these costs.

Cost scope: Modeled target native service and explicitly modeled state allocation; hosting and Tensor9 fees only when supplied.

Excluded costs and workload features:

* GPUs, training, notebooks, pipelines, multi-model endpoints, production variants, artifact storage, networking and observability.
* Origin endpoint data processing (USD 0.016 per GB in and out), which no meter prices.
* Taxes, discounts, credits and free-tier allowances not explicitly listed by this model.
* Unmodeled dependent services, task execution and operations outside the selected workload family.

**Scenario assumptions**

| Input | Value | Unit |
| - | -: | - |
| Origin list price · Origin inference endpoint allocation | 0.23 | USD/instance-hour |
| Origin list price · Inference requests | 0 | USD/Requests |
| Planning inference requests per replica-second | 20 | requests/replica-second |
| Target inference utilization | 0.7 | fraction |
| Peak / average inference requests | 2 | multiplier |
| CPU per inference replica | 4 | vCPU |
| RAM per inference replica | 16 | GiB |
| Minimum allocated inference replicas | 1 | replicas |
| Target price guess · read | 0 | USD/read |
| Target price guess · write | 0 | USD/write |
| Target price guess · provider operation | 0 | USD/provider operation |
| Target list price · GiB-month | 0.1 | USD/GiB-month |
| Target price guess · published GiB | 0 | USD/published GiB |
| Target price guess · delivered GiB | 0 | USD/delivered GiB |
| Target list price · network GiB | 0.12 | USD/network GiB |
| Target price guess · replica GiB-month | 0 | USD/replica GiB-month |
| Target list price · vCPU-hour | 0.031611 | USD/vCPU-hour |
| Target list price · GiB-hour | 0.004237 | USD/GiB-hour |
| Target price guess · resource-hour | 0 | USD/resource-hour |
| Target price guess · resource-month | 0 | USD/resource-month |
| Target price guess · input token | 0 | USD/input token |
| Target price guess · output token | 0 | USD/output token |
| Target monthly base charge | 0 | USD/month |
| Approximate target service minimum | 0 | USD/month |
| Minimum primary CPU | 2 | vCPU |
| Minimum primary RAM | 8 | GiB |
| Minimum primary disk | 100 | GiB |
| Additional full-price standby copy | 0 | 0 or 1 |
| Allocated share of provisioned cost | 1 | fraction |
| Read/write work per vCPU-second | 1,500 | operations/vCPU-second |
| Planning peak / mean work | 2 | multiplier |
| Planning primary CPU utilization | 0.7 | fraction |
| Resident state reserved in RAM | 0.1 | fraction |
| Planning disk utilization | 0.8 | fraction |
| Maintenance and log disk reserve | 20 | GiB |
| Staging database CPU unit-price guess | 0.0413 | USD/vCPU-hour |
| Staging database RAM unit-price guess | 0.007 | USD/GiB-hour |
| Staging database disk unit-price guess | 0.17 | USD/GiB-month |
| Dependent object sink storage price guess | 0.023 | USD/GiB-month |
| Dependent object sink write price guess | 0.000005 | USD/write |
| Origin inference endpoint allocation | 730 | instance-hour |
| Inference requests | 2,628,000 | Requests |

* Translated reads: 0 operations.

* Translated writes: 0 operations.

* Translated resident physical data: 0 GiB-month.

* Native provider operations: 2,628,000 operations.

* Published payload: 0 GiB.

* Delivered payload: 0 GiB.

* Allocated execution CPU: 2,920 vCPU-hour.

* Allocated execution RAM: 11,680 GiB-hour.

* Independent resource allocation: 0 resource-hour.

* Independent inventory: 0 resource-month.

* Input tokens: 0 tokens.

* Output tokens: 0 tokens.

* Billable network: 0 GiB.

* Dependent object sink retained data: 0 GiB-month.

* Dependent object sink writes: 0 writes.

* Rates are cited provider list prices, editable for discounts, commitments or another region. Workload translation and capacity coefficients remain editable planning assumptions, not benchmark measurements or a commercial quote.

* Default-zero rates are explicit assumptions, not evidence that the deployed service or resource is free.

* Provisioned-unit minimums use an editable approximate allocation floor. Modeled target service cost is max(usage/allocation, minimum), with billable network, durable staging and dependent sinks added separately; actual RU/TU sizing, scaling increments and throughput remain unqualified.

* Durable staging is priced once: provisioned targets include adapter state in their selected allocation; native targets add a separate staging allocation when required. Adapter hosting is a separate allocation and must exclude resources already priced as staging, workers or target capacity.

* A declared adapter mapping and cost model do not establish implementation availability or service equivalence.

* This is a declared directed mapping; a planning estimate does not establish deployment or request-serving support.

* Origin unit prices are cited provider list prices; capacity coefficients and translation assumptions are editable authored planning guesses, not measured capacity or a provider quote.

* Whole inference-container replicas grow with peak traffic. This is a CPU-only small-model scenario, not generic ML or GPU capacity.

* The registered backend is the customer's own in-cluster container; this model does not invent a SageMaker-to-Vertex backend.

* The request curve holds the source endpoint allocation fixed; resize that separate meter for a larger origin fleet.

* Self-hosted target: Tensor9-built in-cluster SageMaker service serving a CPU-only small model; GPU nodes are not priced. Selected CPU, RAM and physical disk allocation grow with workload; no per-operation price is assumed. No vendor charge: the target runs on the customer's Kubernetes nodes, so CPU, RAM and disk bill at the Kubernetes node reference rates, Compute Engine N2 in us-central1 (USD 0.031611/vCPU-hour, 0.004237/GiB-hour) with pd-balanced disk (0.10/GiB-month) and Premium Tier egress. The cost-optimized E2 series lists 0.02181159/vCPU-hour and 0.00292353/GiB-hour; AWS m6i/r6i and Azure D2s v5/E2s v5 both decompose to 0.033/vCPU-hour and 0.00375/GiB-hour. Requested CPU and RAM are billed; node bin-packing waste, system reservations and the cluster control-plane fee are not.

* Row-store throughput (capacityOpsPerVcpuSecond, default 1500) is measured-by-tensor9 as a lower bound: the DynamoDB adapter on Cloud SQL db-custom-2-7680 (2 vCPU, PostgreSQL 16, us-west1) served 2,974 ops/s of YCSB-A at 16 threads without recorded saturation (src/main/kotlin/t9/prime/equiv/generated/eval/CloudsqlPostgresqlYcsbAT16GoYcsbV1\_0\_0.kt). Published CPU-bound pgbench reaches 3,101 read-write transactions and 20,289 point reads per vCPU-second (AWS z1d.2xlarge, PostgreSQL 14.5), so actual capacity is likely higher. Reads and writes share one coefficient: at the same adapter version, read-only YCSB-C was not faster than 50%-update YCSB-A.

* Log-broker throughput (capacityStreamMiBPerVcpuSecond 20 at 0.5 utilization, 4 GiB RAM per vCPU) is provider-documented by Google Managed Service for Apache Kafka sizing ([https://docs.cloud.google.com/managed-service-for-apache-kafka/docs/plan-cluster-size](https://docs.cloud.google.com/managed-service-for-apache-kafka/docs/plan-cluster-size)): write-equivalent bytes are replicated writes plus a quarter of reads. Producer batches below 10 KB lower per-CPU throughput; that penalty is not modeled.

* Disk utilization 0.8 is provider-documented headroom below Cloud SQL automatic storage increase, which triggers near 91-95% full ([https://docs.cloud.google.com/sql/docs/postgres/instance-settings](https://docs.cloud.google.com/sql/docs/postgres/instance-settings)). The 20 GiB reserve exceeds PostgreSQL's 1 GB default max\_wal\_size; the remainder of that reserve is unmeasured.

* CPU tiers double from 2 vCPUs to the target's largest node at 4 GiB per vCPU; each target's documented largest node bounds CPU, RAM, RAM per vCPU and disk, and the durable staging database uses Cloud SQL Enterprise (96 vCPU, 6.5 GiB per vCPU, 624 GiB, 64 TiB). Targets billed per capacity unit or throughput unit are sized by their backend instead.

* No public evidence: peak/mean work (2) and the RAM working-set fraction (0.1). Proposed measurements: the p99 one-minute rate over the monthly mean from customer CloudWatch metrics; the buffer hit ratio while stepping RAM under a fixed YCSB-B load.

* Node bounds: One CPU model replica of 4 vCPUs and 16 GiB, the SageMaker family's replica shape; replicas scale to a 1,000-replica planning bound.

* Stored GiB already includes the origin family's physical footprint assumptions; no second storage amplification is applied.

* The workload family already selected resource-hours; the throughput coefficient is not applied again.

* Copies and allocation fractions change cost only; they do not increase modeled primary capacity.

List prices read: 2026-10-22. Model: `plan-73d1dcb79d92ef246d122f4846f3e580b0421c15` / `2026-10-22.planning.2`. Scenario: `planning-example`.

Sources: [AWS Price List API, AmazonSageMaker offer](https://pricing.us-east-1.amazonaws.com/offers/v1.0/aws/AmazonSageMaker/current/us-east-1/index.json), [Compute Engine general-purpose machine pricing](https://cloud.google.com/products/compute/pricing/general-purpose), [Disk and image pricing](https://cloud.google.com/compute/disks-image-pricing), [Network pricing](https://cloud.google.com/vpc/network-pricing).

## Install and run

The documentation and SLAs are public. Downloading and running the Cloud Adapter binary requires an entitled customer account. Set `T9_API_KEY` as described in [Install and Authenticate](https://docs.tensor9.com/cloud-adapter-early-access/getting-started/install-and-authenticate.md), then list the adapters your account may use with this origin:

```sh theme={null}
tensor9 adapt svc list \
  -origin aws::1.0.0::sagemaker
```

The result is limited to directed mappings for this origin that your account is entitled to use. Use a returned backend identifier when configuring the adapter or investigating a request.

Request binary access from [hello@tensor9.com](mailto:hello@tensor9.com) if your account does not yet include this direction.

## Existing data and credentials

Selecting a backend does not copy existing data, credentials or access policies. Plan and verify migration separately before changing an application's endpoint. Do not assume an identifier, credential or encrypted value from the origin service works unchanged on the target.

## Configure, tune and debug

Start with [setup](https://docs.tensor9.com/cloud-adapter-early-access/getting-started/overview.md) and [configuration](https://docs.tensor9.com/cloud-adapter-early-access/configuration/overview.md). Use [tuning](https://docs.tensor9.com/cloud-adapter-early-access/tuning/overview.md) to understand supported request tags, [debugging](https://docs.tensor9.com/cloud-adapter-early-access/debugging/overview.md) to investigate a request, and [High Fidelity Cloud Emulators](https://docs.tensor9.com/cloud-adapter-early-access/local-testing/overview.md) to validate a bounded reproduction.

For requests that go through an entitled service adapter, use [tensor9 explain](https://docs.tensor9.com/cloud-adapter-early-access/debugging/explain.md) and [x-t9-explain](https://docs.tensor9.com/cloud-adapter-early-access/debugging/response-headers.md) to inspect the selected mapping.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.