> ## 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.

# Step Functions State Machine costs

> Compare Step Functions State Machine backend choices using explicit service-adapter planning assumptions.

Tensor9 BYOC planning comparisons for `aws::1.0.0::sfn::state-machine`, with backend choices shown together. Read [how Tensor9 estimates service-adapter costs](/byoc/costs/overview.md) for price scope and capacity qualification, or return to [additional services](/byoc/costs/additional-services.md).

## Step Functions Standard → Azure Durable Functions

Origin API: `aws::1.0.0::sfn::state-machine`. Target backend: `azure::1.0.0::durable-functions`.

### Step Functions Standard · State transitions

Estimated monthly service charges by State transitions. Adapter hosting and Tensor9 fees are excluded. Source: us-east-1; target: East US; currency: USD.

![Step Functions Standard · State transitions: monthly service charges by State transitions. Exact values are in the following table.](/images/diagrams/service-cost/9e5f3798849e8e48bc7811c0c4340de729de3672f8c3065d6aacf69951d70a01-light.svg)

![Step Functions Standard · State transitions: monthly service charges by State transitions. Exact values are in the following table.](/images/diagrams/service-cost/8764435461a4f60e5df8a2ca1cd0029a92f19286db917153ba5791f274cd8ef7-dark.svg)

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

Exact sampled model outputs in USD/month. Difference means target minus origin; a positive difference means the target costs more.
Estimated allocation from planning assumptions; not benchmark calibrated. Lines connect evaluated samples; intermediate capacity and prices are not inferred. Unpriced means no target quote or cost difference is available within the sizing policy.

| State transitions (per second) | Step Functions State Machine | Target scenario | Azure Durable Functions | Difference |
| -: | -: | - | -: | -: |
| 0 | 0 | Azure Durable Functions (one staging copy) | 118.178 | 118.178 |
| 0 | 0 | Azure Durable Functions (two staging copies) | 236.356 | 236.356 |
| 1 | 65.7 | Azure Durable Functions (one staging copy) | 129.068432 | 63.368432 |
| 1 | 65.7 | Azure Durable Functions (two staging copies) | 247.246432 | 181.546432 |
| 10 | 657 | Azure Durable Functions (one staging copy) | 227.08232 | -429.91768 |
| 10 | 657 | Azure Durable Functions (two staging copies) | 345.26032 | -311.73968 |
| 100 | 6570 | Azure Durable Functions (one staging copy) | 1340.2042 | -5229.7958 |
| 100 | 6570 | Azure Durable Functions (two staging copies) | 1591.3652 | -4978.6348 |
| 1000 | 65700 | Azure Durable Functions (one staging copy) | 13112.4675 | -52587.5325 |
| 1000 | 65700 | Azure Durable Functions (two staging copies) | 15334.503 | -50365.497 |
| 10000 | 657000 | Azure Durable Functions (one staging copy) | Unpriced | Unavailable |
| 10000 | 657000 | Azure Durable Functions (two staging copies) | Unpriced | Unavailable |

**Estimated allocation from planning assumptions; not benchmark calibrated.**

The sizing policy grows compute with translated work and peak headroom, memory with compute and working set, and disk with resident working state and reserve. Monthly usage is distinct from resident data; each workload's assumptions define the translation. HA changes pricing, not this policy's throughput estimate. Unpriced workloads exceed the policy's configuration range; no silent vertical cap or automatic sharding is assumed.

| Sample / scenario | Basis | Mean / peak work/s | Required vCPU | Allocated vCPU | Memory GiB | SSD GiB | Resident GiB | Policy | Constraints |
| - | - | -: | -: | -: | -: | -: | -: | - | - |
| 0 per second / Azure Durable Functions (one staging copy) | PlanningAssumption | 0 / 0 | 0 | 2 | 8 | 100 | 0 | `service-adapter-planning-2026-10-22.1` | None reported |
| 0 per second / Azure Durable Functions (two staging copies) | PlanningAssumption | 0 / 0 | 0 | 2 | 8 | 100 | 0 | `service-adapter-planning-2026-10-22.1` | None reported |
| 1 per second / Azure Durable Functions (one staging copy) | PlanningAssumption | 4 / 8 | 0.007619047619047619047619047619047619 | 2 | 8 | 100 | 1.7303466796875 | `service-adapter-planning-2026-10-22.1` | None reported |
| 1 per second / Azure Durable Functions (two staging copies) | PlanningAssumption | 4 / 8 | 0.007619047619047619047619047619047619 | 2 | 8 | 100 | 1.7303466796875 | `service-adapter-planning-2026-10-22.1` | None reported |
| 10 per second / Azure Durable Functions (one staging copy) | PlanningAssumption | 40 / 80 | 0.07619047619047619047619047619047619 | 2 | 8 | 100 | 17.303466796875 | `service-adapter-planning-2026-10-22.1` | None reported |
| 10 per second / Azure Durable Functions (two staging copies) | PlanningAssumption | 40 / 80 | 0.07619047619047619047619047619047619 | 2 | 8 | 100 | 17.303466796875 | `service-adapter-planning-2026-10-22.1` | None reported |
| 100 per second / Azure Durable Functions (one staging copy) | PlanningAssumption | 400 / 800 | 0.7619047619047619047619047619047619 | 4 | 17.5 | 242 | 173.03466796875 | `service-adapter-planning-2026-10-22.1` | None reported |
| 100 per second / Azure Durable Functions (two staging copies) | PlanningAssumption | 400 / 800 | 0.7619047619047619047619047619047619 | 4 | 17.5 | 242 | 173.03466796875 | `service-adapter-planning-2026-10-22.1` | None reported |
| 1000 per second / Azure Durable Functions (one staging copy) | PlanningAssumption | 4000 / 8000 | 7.619047619047619047619047619047619 | 32 | 173.25 | 2188 | 1730.3466796875 | `service-adapter-planning-2026-10-22.1` | None reported |
| 1000 per second / Azure Durable Functions (two staging copies) | PlanningAssumption | 4000 / 8000 | 7.619047619047619047619047619047619 | 32 | 173.25 | 2188 | 1730.3466796875 | `service-adapter-planning-2026-10-22.1` | None reported |
| 10000 per second / Azure Durable Functions (one staging copy) | Unpriced | 40000 / 80000 | 76.19047619047619047619047619047619 | Unpriced | Unpriced | Unpriced | 17303.466796875 | `service-adapter-planning-2026-10-22.1` | Demand exceeds the planning model's joint CPU/RAM allocation bounds (96 vCPU, 624 GiB RAM). |
| 10000 per second / Azure Durable Functions (two staging copies) | Unpriced | 40000 / 80000 | 76.19047619047619047619047619047619 | Unpriced | Unpriced | Unpriced | 17303.466796875 | `service-adapter-planning-2026-10-22.1` | Demand exceeds the planning model's joint CPU/RAM allocation bounds (96 vCPU, 624 GiB RAM). |

* 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, 4 GiB per vCPU, at most 6.5 GiB per vCPU, 96 vCPU and 65,536 GiB disk follow Cloud SQL Enterprise custom machine limits (provider-documented, same page); 624 GiB is 96 × 6.5. Targets billed per node, 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.
* Stored GiB already includes the origin family's physical footprint assumptions; no second storage amplification is applied.
* The operations/vCPU coefficient supplies the compute requirement alongside explicit resource-hour minima.
* Copies and allocation fractions change cost only; they do not increase modeled primary capacity.

**Curve assumptions**

| Target scenario | Assumption | Value | Unit |
| - | - | -: | - |
| Azure Durable Functions (one staging copy) | Origin list price · Standard state transitions | 0.000025 | USD/transitions |
| Azure Durable Functions (one staging copy) | Target steps per source transition | 2 | steps |
| Azure Durable Functions (one staging copy) | History bytes per transition | 3072 | bytes |
| Azure Durable Functions (one staging copy) | History retention | 7 | days |
| Azure Durable Functions (one staging copy) | Worker CPU per transition | 5 | vCPU-ms |
| Azure Durable Functions (one staging copy) | Target price guess · read | 0 | USD/read |
| Azure Durable Functions (one staging copy) | Target price guess · write | 0 | USD/write |
| Azure Durable Functions (one staging copy) | Target list price · provider operation | 0.000002072 | USD/provider operation |
| Azure Durable Functions (one staging copy) | Target price guess · GiB-month | 0 | USD/GiB-month |
| Azure Durable Functions (one staging copy) | Target price guess · published GiB | 0 | USD/published GiB |
| Azure Durable Functions (one staging copy) | Target price guess · delivered GiB | 0 | USD/delivered GiB |
| Azure Durable Functions (one staging copy) | Target price guess · network GiB | 0 | USD/network GiB |
| Azure Durable Functions (one staging copy) | Target price guess · replica GiB-month | 0 | USD/replica GiB-month |
| Azure Durable Functions (one staging copy) | Target price guess · vCPU-hour | 0 | USD/vCPU-hour |
| Azure Durable Functions (one staging copy) | Target price guess · GiB-hour | 0 | USD/GiB-hour |
| Azure Durable Functions (one staging copy) | Target price guess · resource-hour | 0 | USD/resource-hour |
| Azure Durable Functions (one staging copy) | Target price guess · resource-month | 0 | USD/resource-month |
| Azure Durable Functions (one staging copy) | Target price guess · input token | 0 | USD/input token |
| Azure Durable Functions (one staging copy) | Target price guess · output token | 0 | USD/output token |
| Azure Durable Functions (one staging copy) | Target monthly base charge | 0 | USD/month |
| Azure Durable Functions (one staging copy) | Approximate target service minimum | 0 | USD/month |
| Azure Durable Functions (one staging copy) | Minimum primary CPU | 2 | vCPU |
| Azure Durable Functions (one staging copy) | Minimum primary RAM | 8 | GiB |
| Azure Durable Functions (one staging copy) | Minimum primary disk | 100 | GiB |
| Azure Durable Functions (one staging copy) | Additional full-price standby copy | 0 | 0 or 1 |
| Azure Durable Functions (one staging copy) | Allocated share of provisioned cost | 1 | fraction |
| Azure Durable Functions (one staging copy) | Read/write work per vCPU-second | 1500 | operations/vCPU-second |
| Azure Durable Functions (one staging copy) | Planning peak / mean work | 2 | multiplier |
| Azure Durable Functions (one staging copy) | Planning primary CPU utilization | 0.7 | fraction |
| Azure Durable Functions (one staging copy) | Resident state reserved in RAM | 0.1 | fraction |
| Azure Durable Functions (one staging copy) | Planning disk utilization | 0.8 | fraction |
| Azure Durable Functions (one staging copy) | Maintenance and log disk reserve | 20 | GiB |
| Azure Durable Functions (one staging copy) | Staging database CPU unit-price guess | 0.0413 | USD/vCPU-hour |
| Azure Durable Functions (one staging copy) | Staging database RAM unit-price guess | 0.007 | USD/GiB-hour |
| Azure Durable Functions (one staging copy) | Staging database disk unit-price guess | 0.17 | USD/GiB-month |
| Azure Durable Functions (one staging copy) | Dependent object sink storage price guess | 0.023 | USD/GiB-month |
| Azure Durable Functions (one staging copy) | Dependent object sink write price guess | 0.000005 | USD/write |
| Azure Durable Functions (two staging copies) | Origin list price · Standard state transitions | 0.000025 | USD/transitions |
| Azure Durable Functions (two staging copies) | Target steps per source transition | 2 | steps |
| Azure Durable Functions (two staging copies) | History bytes per transition | 3072 | bytes |
| Azure Durable Functions (two staging copies) | History retention | 7 | days |
| Azure Durable Functions (two staging copies) | Worker CPU per transition | 5 | vCPU-ms |
| Azure Durable Functions (two staging copies) | Target price guess · read | 0 | USD/read |
| Azure Durable Functions (two staging copies) | Target price guess · write | 0 | USD/write |
| Azure Durable Functions (two staging copies) | Target list price · provider operation | 0.000002072 | USD/provider operation |
| Azure Durable Functions (two staging copies) | Target price guess · GiB-month | 0 | USD/GiB-month |
| Azure Durable Functions (two staging copies) | Target price guess · published GiB | 0 | USD/published GiB |
| Azure Durable Functions (two staging copies) | Target price guess · delivered GiB | 0 | USD/delivered GiB |
| Azure Durable Functions (two staging copies) | Target price guess · network GiB | 0 | USD/network GiB |
| Azure Durable Functions (two staging copies) | Target price guess · replica GiB-month | 0 | USD/replica GiB-month |
| Azure Durable Functions (two staging copies) | Target price guess · vCPU-hour | 0 | USD/vCPU-hour |
| Azure Durable Functions (two staging copies) | Target price guess · GiB-hour | 0 | USD/GiB-hour |
| Azure Durable Functions (two staging copies) | Target price guess · resource-hour | 0 | USD/resource-hour |
| Azure Durable Functions (two staging copies) | Target price guess · resource-month | 0 | USD/resource-month |
| Azure Durable Functions (two staging copies) | Target price guess · input token | 0 | USD/input token |
| Azure Durable Functions (two staging copies) | Target price guess · output token | 0 | USD/output token |
| Azure Durable Functions (two staging copies) | Target monthly base charge | 0 | USD/month |
| Azure Durable Functions (two staging copies) | Approximate target service minimum | 0 | USD/month |
| Azure Durable Functions (two staging copies) | Minimum primary CPU | 2 | vCPU |
| Azure Durable Functions (two staging copies) | Minimum primary RAM | 8 | GiB |
| Azure Durable Functions (two staging copies) | Minimum primary disk | 100 | GiB |
| Azure Durable Functions (two staging copies) | Additional full-price standby copy | 1 | 0 or 1 |
| Azure Durable Functions (two staging copies) | Allocated share of provisioned cost | 1 | fraction |
| Azure Durable Functions (two staging copies) | Read/write work per vCPU-second | 1500 | operations/vCPU-second |
| Azure Durable Functions (two staging copies) | Planning peak / mean work | 2 | multiplier |
| Azure Durable Functions (two staging copies) | Planning primary CPU utilization | 0.7 | fraction |
| Azure Durable Functions (two staging copies) | Resident state reserved in RAM | 0.1 | fraction |
| Azure Durable Functions (two staging copies) | Planning disk utilization | 0.8 | fraction |
| Azure Durable Functions (two staging copies) | Maintenance and log disk reserve | 20 | GiB |
| Azure Durable Functions (two staging copies) | Staging database CPU unit-price guess | 0.0413 | USD/vCPU-hour |
| Azure Durable Functions (two staging copies) | Staging database RAM unit-price guess | 0.007 | USD/GiB-hour |
| Azure Durable Functions (two staging copies) | Staging database disk unit-price guess | 0.17 | USD/GiB-month |
| Azure Durable Functions (two staging copies) | Dependent object sink storage price guess | 0.023 | USD/GiB-month |
| Azure Durable Functions (two staging copies) | Dependent object sink write price guess | 0.000005 | USD/write |

* Includes source retries; target amplification is applied only once. Editable authored planning guesses, not verified provider tariffs, benchmark measurements or a commercial quote. Other native meters retain their explicitly displayed default quantities.
* Planning estimate · editable authored rates and sizing assumptions dated 2026-10-22; not verified provider prices. us-east-1 → East US, 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.
* Explicit tariff samples 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.
* Authored planning assumptions, not measured adapter capacity. Origin rates are cited first-tier list prices, before free allowances and discounts.
* A cost scenario does not establish backend availability, protocol fidelity or production readiness. Registry serving status remains independent.
* Managed steps, worker CPU and durable history are distinct target cost components. Internal/external step split needs target-specific assumptions.
* Standard-only origin profile; no inference of Express duration, memory or task execution cost.
* Azure Durable Functions has no orchestration tariff of its own: with the default Azure Storage provider it bills the function executions that run orchestrator and activity steps plus the queue and table transactions that persist their messages and history in the customer's storage account. The step rate is that composite on Flex Consumption. Execution GB-seconds (USD 0.000026 per GB-second on Flex Consumption), idle queue polling (a few hundred thousand transactions a month per app) and table storage (USD 0.045 per GB-month) are not modeled, and the family's worker CPU is not a Durable Functions charge. The Durable Task Scheduler (Dedicated USD 0.684932 per capacity-unit hour) is an alternative backend and is not selected.
* 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, 4 GiB per vCPU, at most 6.5 GiB per vCPU, 96 vCPU and 65,536 GiB disk follow Cloud SQL Enterprise custom machine limits (provider-documented, same page); 624 GiB is 96 × 6.5. Targets billed per node, 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.
* Stored GiB already includes the origin family's physical footprint assumptions; no second storage amplification is applied.
* The operations/vCPU coefficient supplies the compute requirement alongside explicit resource-hour minima.
* Copies and allocation fractions change cost only; they do not increase modeled primary capacity.
* AWS Price List API, AmazonStates offer: [https://pricing.us-east-1.amazonaws.com/offers/v1.0/aws/AmazonStates/current/us-east-1/index.json](https://pricing.us-east-1.amazonaws.com/offers/v1.0/aws/AmazonStates/current/us-east-1/index.json)
* Azure Retail Prices API: [https://prices.azure.com/api/retail/prices](https://prices.azure.com/api/retail/prices)

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

Excluded costs and workload features:

* Additional network transfer, backups, KMS, one-time migration and operational labor unless an explicit meter includes them.
* Destination application execution and separately billed downstream services; supply those allocations separately.
* Taxes, discounts, credits and free-tier allowances unless explicitly reflected in edited rates.
* Unmodeled dependent services, task execution and operations outside the selected workload family.

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

Sources: [AWS Price List API, AmazonStates offer](https://pricing.us-east-1.amazonaws.com/offers/v1.0/aws/AmazonStates/current/us-east-1/index.json), [Azure Retail Prices API](https://prices.azure.com/api/retail/prices).

## Step Functions Standard → Cloud Workflows

Origin API: `aws::1.0.0::sfn::state-machine`. Target backend: `google::1.0.0::workflows`.

### Step Functions Standard · State transitions

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

![Step Functions Standard · State transitions: monthly service charges by State transitions. Exact values are in the following table.](/images/diagrams/service-cost/15ce8a88a78350e51be31a96dfea87d956b0ad829b206c04e78a3cdfa8df9837-light.svg)

![Step Functions Standard · State transitions: monthly service charges by State transitions. Exact values are in the following table.](/images/diagrams/service-cost/0e53fefdb7da66df0fac47388ed1ee64635078d3e767f63f7b735f34a68f6b5a-dark.svg)

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

Exact sampled model outputs in USD/month. Difference means target minus origin; a positive difference means the target costs more.
Estimated allocation from planning assumptions; not benchmark calibrated. Lines connect evaluated samples; intermediate capacity and prices are not inferred. Unpriced means no target quote or cost difference is available within the sizing policy.

| State transitions (per second) | Step Functions State Machine | Target scenario | Cloud Workflows | Difference |
| -: | -: | - | -: | -: |
| 0 | 0 | Cloud Workflows (one staging copy) | 118.178 | 118.178 |
| 0 | 0 | Cloud Workflows (two staging copies) | 236.356 | 236.356 |
| 1 | 65.7 | Cloud Workflows (one staging copy) | 170.688 | 104.988 |
| 1 | 65.7 | Cloud Workflows (two staging copies) | 288.866 | 223.166 |
| 10 | 657 | Cloud Workflows (one staging copy) | 643.728 | -13.272 |
| 10 | 657 | Cloud Workflows (two staging copies) | 761.906 | 104.906 |
| 100 | 6570 | Cloud Workflows (one staging copy) | 5507.111 | -1062.889 |
| 100 | 6570 | Cloud Workflows (two staging copies) | 5758.272 | -811.728 |
| 1000 | 65700 | Cloud Workflows (one staging copy) | 54781.9855 | -10918.0145 |
| 1000 | 65700 | Cloud Workflows (two staging copies) | 57004.021 | -8695.979 |
| 10000 | 657000 | Cloud Workflows (one staging copy) | Unpriced | Unavailable |
| 10000 | 657000 | Cloud Workflows (two staging copies) | Unpriced | Unavailable |

**Estimated allocation from planning assumptions; not benchmark calibrated.**

The sizing policy grows compute with translated work and peak headroom, memory with compute and working set, and disk with resident working state and reserve. Monthly usage is distinct from resident data; each workload's assumptions define the translation. HA changes pricing, not this policy's throughput estimate. Unpriced workloads exceed the policy's configuration range; no silent vertical cap or automatic sharding is assumed.

| Sample / scenario | Basis | Mean / peak work/s | Required vCPU | Allocated vCPU | Memory GiB | SSD GiB | Resident GiB | Policy | Constraints |
| - | - | -: | -: | -: | -: | -: | -: | - | - |
| 0 per second / Cloud Workflows (one staging copy) | PlanningAssumption | 0 / 0 | 0 | 2 | 8 | 100 | 0 | `service-adapter-planning-2026-10-22.1` | None reported |
| 0 per second / Cloud Workflows (two staging copies) | PlanningAssumption | 0 / 0 | 0 | 2 | 8 | 100 | 0 | `service-adapter-planning-2026-10-22.1` | None reported |
| 1 per second / Cloud Workflows (one staging copy) | PlanningAssumption | 4 / 8 | 0.007619047619047619047619047619047619 | 2 | 8 | 100 | 1.7303466796875 | `service-adapter-planning-2026-10-22.1` | None reported |
| 1 per second / Cloud Workflows (two staging copies) | PlanningAssumption | 4 / 8 | 0.007619047619047619047619047619047619 | 2 | 8 | 100 | 1.7303466796875 | `service-adapter-planning-2026-10-22.1` | None reported |
| 10 per second / Cloud Workflows (one staging copy) | PlanningAssumption | 40 / 80 | 0.07619047619047619047619047619047619 | 2 | 8 | 100 | 17.303466796875 | `service-adapter-planning-2026-10-22.1` | None reported |
| 10 per second / Cloud Workflows (two staging copies) | PlanningAssumption | 40 / 80 | 0.07619047619047619047619047619047619 | 2 | 8 | 100 | 17.303466796875 | `service-adapter-planning-2026-10-22.1` | None reported |
| 100 per second / Cloud Workflows (one staging copy) | PlanningAssumption | 400 / 800 | 0.7619047619047619047619047619047619 | 4 | 17.5 | 242 | 173.03466796875 | `service-adapter-planning-2026-10-22.1` | None reported |
| 100 per second / Cloud Workflows (two staging copies) | PlanningAssumption | 400 / 800 | 0.7619047619047619047619047619047619 | 4 | 17.5 | 242 | 173.03466796875 | `service-adapter-planning-2026-10-22.1` | None reported |
| 1000 per second / Cloud Workflows (one staging copy) | PlanningAssumption | 4000 / 8000 | 7.619047619047619047619047619047619 | 32 | 173.25 | 2188 | 1730.3466796875 | `service-adapter-planning-2026-10-22.1` | None reported |
| 1000 per second / Cloud Workflows (two staging copies) | PlanningAssumption | 4000 / 8000 | 7.619047619047619047619047619047619 | 32 | 173.25 | 2188 | 1730.3466796875 | `service-adapter-planning-2026-10-22.1` | None reported |
| 10000 per second / Cloud Workflows (one staging copy) | Unpriced | 40000 / 80000 | 76.19047619047619047619047619047619 | Unpriced | Unpriced | Unpriced | 17303.466796875 | `service-adapter-planning-2026-10-22.1` | Demand exceeds the planning model's joint CPU/RAM allocation bounds (96 vCPU, 624 GiB RAM). |
| 10000 per second / Cloud Workflows (two staging copies) | Unpriced | 40000 / 80000 | 76.19047619047619047619047619047619 | Unpriced | Unpriced | Unpriced | 17303.466796875 | `service-adapter-planning-2026-10-22.1` | Demand exceeds the planning model's joint CPU/RAM allocation bounds (96 vCPU, 624 GiB RAM). |

* 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, 4 GiB per vCPU, at most 6.5 GiB per vCPU, 96 vCPU and 65,536 GiB disk follow Cloud SQL Enterprise custom machine limits (provider-documented, same page); 624 GiB is 96 × 6.5. Targets billed per node, 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.
* Stored GiB already includes the origin family's physical footprint assumptions; no second storage amplification is applied.
* The operations/vCPU coefficient supplies the compute requirement alongside explicit resource-hour minima.
* Copies and allocation fractions change cost only; they do not increase modeled primary capacity.

**Curve assumptions**

| Target scenario | Assumption | Value | Unit |
| - | - | -: | - |
| Cloud Workflows (one staging copy) | Origin list price · Standard state transitions | 0.000025 | USD/transitions |
| Cloud Workflows (one staging copy) | Target steps per source transition | 2 | steps |
| Cloud Workflows (one staging copy) | History bytes per transition | 3072 | bytes |
| Cloud Workflows (one staging copy) | History retention | 7 | days |
| Cloud Workflows (one staging copy) | Worker CPU per transition | 5 | vCPU-ms |
| Cloud Workflows (one staging copy) | Target price guess · read | 0 | USD/read |
| Cloud Workflows (one staging copy) | Target price guess · write | 0 | USD/write |
| Cloud Workflows (one staging copy) | Target list price · provider operation | 0.00001 | USD/provider operation |
| Cloud Workflows (one staging copy) | Target price guess · GiB-month | 0 | USD/GiB-month |
| Cloud Workflows (one staging copy) | Target price guess · published GiB | 0 | USD/published GiB |
| Cloud Workflows (one staging copy) | Target price guess · delivered GiB | 0 | USD/delivered GiB |
| Cloud Workflows (one staging copy) | Target price guess · network GiB | 0 | USD/network GiB |
| Cloud Workflows (one staging copy) | Target price guess · replica GiB-month | 0 | USD/replica GiB-month |
| Cloud Workflows (one staging copy) | Target price guess · vCPU-hour | 0 | USD/vCPU-hour |
| Cloud Workflows (one staging copy) | Target price guess · GiB-hour | 0 | USD/GiB-hour |
| Cloud Workflows (one staging copy) | Target price guess · resource-hour | 0 | USD/resource-hour |
| Cloud Workflows (one staging copy) | Target price guess · resource-month | 0 | USD/resource-month |
| Cloud Workflows (one staging copy) | Target price guess · input token | 0 | USD/input token |
| Cloud Workflows (one staging copy) | Target price guess · output token | 0 | USD/output token |
| Cloud Workflows (one staging copy) | Included before billing · provider operation | 5000 | provider operation |
| Cloud Workflows (one staging copy) | Target monthly base charge | 0 | USD/month |
| Cloud Workflows (one staging copy) | Approximate target service minimum | 0 | USD/month |
| Cloud Workflows (one staging copy) | Minimum primary CPU | 2 | vCPU |
| Cloud Workflows (one staging copy) | Minimum primary RAM | 8 | GiB |
| Cloud Workflows (one staging copy) | Minimum primary disk | 100 | GiB |
| Cloud Workflows (one staging copy) | Additional full-price standby copy | 0 | 0 or 1 |
| Cloud Workflows (one staging copy) | Allocated share of provisioned cost | 1 | fraction |
| Cloud Workflows (one staging copy) | Read/write work per vCPU-second | 1500 | operations/vCPU-second |
| Cloud Workflows (one staging copy) | Planning peak / mean work | 2 | multiplier |
| Cloud Workflows (one staging copy) | Planning primary CPU utilization | 0.7 | fraction |
| Cloud Workflows (one staging copy) | Resident state reserved in RAM | 0.1 | fraction |
| Cloud Workflows (one staging copy) | Planning disk utilization | 0.8 | fraction |
| Cloud Workflows (one staging copy) | Maintenance and log disk reserve | 20 | GiB |
| Cloud Workflows (one staging copy) | Staging database CPU unit-price guess | 0.0413 | USD/vCPU-hour |
| Cloud Workflows (one staging copy) | Staging database RAM unit-price guess | 0.007 | USD/GiB-hour |
| Cloud Workflows (one staging copy) | Staging database disk unit-price guess | 0.17 | USD/GiB-month |
| Cloud Workflows (one staging copy) | Dependent object sink storage price guess | 0.023 | USD/GiB-month |
| Cloud Workflows (one staging copy) | Dependent object sink write price guess | 0.000005 | USD/write |
| Cloud Workflows (two staging copies) | Origin list price · Standard state transitions | 0.000025 | USD/transitions |
| Cloud Workflows (two staging copies) | Target steps per source transition | 2 | steps |
| Cloud Workflows (two staging copies) | History bytes per transition | 3072 | bytes |
| Cloud Workflows (two staging copies) | History retention | 7 | days |
| Cloud Workflows (two staging copies) | Worker CPU per transition | 5 | vCPU-ms |
| Cloud Workflows (two staging copies) | Target price guess · read | 0 | USD/read |
| Cloud Workflows (two staging copies) | Target price guess · write | 0 | USD/write |
| Cloud Workflows (two staging copies) | Target list price · provider operation | 0.00001 | USD/provider operation |
| Cloud Workflows (two staging copies) | Target price guess · GiB-month | 0 | USD/GiB-month |
| Cloud Workflows (two staging copies) | Target price guess · published GiB | 0 | USD/published GiB |
| Cloud Workflows (two staging copies) | Target price guess · delivered GiB | 0 | USD/delivered GiB |
| Cloud Workflows (two staging copies) | Target price guess · network GiB | 0 | USD/network GiB |
| Cloud Workflows (two staging copies) | Target price guess · replica GiB-month | 0 | USD/replica GiB-month |
| Cloud Workflows (two staging copies) | Target price guess · vCPU-hour | 0 | USD/vCPU-hour |
| Cloud Workflows (two staging copies) | Target price guess · GiB-hour | 0 | USD/GiB-hour |
| Cloud Workflows (two staging copies) | Target price guess · resource-hour | 0 | USD/resource-hour |
| Cloud Workflows (two staging copies) | Target price guess · resource-month | 0 | USD/resource-month |
| Cloud Workflows (two staging copies) | Target price guess · input token | 0 | USD/input token |
| Cloud Workflows (two staging copies) | Target price guess · output token | 0 | USD/output token |
| Cloud Workflows (two staging copies) | Included before billing · provider operation | 5000 | provider operation |
| Cloud Workflows (two staging copies) | Target monthly base charge | 0 | USD/month |
| Cloud Workflows (two staging copies) | Approximate target service minimum | 0 | USD/month |
| Cloud Workflows (two staging copies) | Minimum primary CPU | 2 | vCPU |
| Cloud Workflows (two staging copies) | Minimum primary RAM | 8 | GiB |
| Cloud Workflows (two staging copies) | Minimum primary disk | 100 | GiB |
| Cloud Workflows (two staging copies) | Additional full-price standby copy | 1 | 0 or 1 |
| Cloud Workflows (two staging copies) | Allocated share of provisioned cost | 1 | fraction |
| Cloud Workflows (two staging copies) | Read/write work per vCPU-second | 1500 | operations/vCPU-second |
| Cloud Workflows (two staging copies) | Planning peak / mean work | 2 | multiplier |
| Cloud Workflows (two staging copies) | Planning primary CPU utilization | 0.7 | fraction |
| Cloud Workflows (two staging copies) | Resident state reserved in RAM | 0.1 | fraction |
| Cloud Workflows (two staging copies) | Planning disk utilization | 0.8 | fraction |
| Cloud Workflows (two staging copies) | Maintenance and log disk reserve | 20 | GiB |
| Cloud Workflows (two staging copies) | Staging database CPU unit-price guess | 0.0413 | USD/vCPU-hour |
| Cloud Workflows (two staging copies) | Staging database RAM unit-price guess | 0.007 | USD/GiB-hour |
| Cloud Workflows (two staging copies) | Staging database disk unit-price guess | 0.17 | USD/GiB-month |
| Cloud Workflows (two staging copies) | Dependent object sink storage price guess | 0.023 | USD/GiB-month |
| Cloud Workflows (two staging copies) | Dependent object sink write price guess | 0.000005 | USD/write |

* Includes source retries; target amplification is applied only once. Editable authored planning guesses, not verified provider tariffs, benchmark measurements or a commercial quote. Other native meters retain their explicitly displayed default quantities.
* Planning estimate · editable authored rates and sizing assumptions dated 2026-10-22; not verified provider prices. 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.
* Explicit tariff samples 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.
* Authored planning assumptions, not measured adapter capacity. Origin rates are cited first-tier list prices, before free allowances and discounts.
* A cost scenario does not establish backend availability, protocol fidelity or production readiness. Registry serving status remains independent.
* Managed steps, worker CPU and durable history are distinct target cost components. Internal/external step split needs target-specific assumptions.
* Standard-only origin profile; no inference of Express duration, memory or task execution cost.
* Google Workflows bills executed steps, including failed and retried ones, in increments of 1,000. Translated Step Functions steps are priced as internal steps (USD 0.01 per 1,000 after 5,000 free): assignments, conditions, subworkflow calls and calls to \*.googleapis.com, Cloud Run and Cloud Run functions, which is where translated state-machine work runs. External steps (HTTP to endpoints outside Google Cloud or custom domains, and callback waits) bill USD 0.025 per 1,000 after 2,000 free; a workflow dominated by those should set the step rate to 0.000025. Worker CPU is not a Workflows charge.
* 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, 4 GiB per vCPU, at most 6.5 GiB per vCPU, 96 vCPU and 65,536 GiB disk follow Cloud SQL Enterprise custom machine limits (provider-documented, same page); 624 GiB is 96 × 6.5. Targets billed per node, 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.
* Stored GiB already includes the origin family's physical footprint assumptions; no second storage amplification is applied.
* The operations/vCPU coefficient supplies the compute requirement alongside explicit resource-hour minima.
* Copies and allocation fractions change cost only; they do not increase modeled primary capacity.
* AWS Price List API, AmazonStates offer: [https://pricing.us-east-1.amazonaws.com/offers/v1.0/aws/AmazonStates/current/us-east-1/index.json](https://pricing.us-east-1.amazonaws.com/offers/v1.0/aws/AmazonStates/current/us-east-1/index.json)
* Workflows pricing: [https://cloud.google.com/workflows/pricing](https://cloud.google.com/workflows/pricing)

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

Excluded costs and workload features:

* Additional network transfer, backups, KMS, one-time migration and operational labor unless an explicit meter includes them.
* Destination application execution and separately billed downstream services; supply those allocations separately.
* Taxes, discounts, credits and free-tier allowances unless explicitly reflected in edited rates.
* Unmodeled dependent services, task execution and operations outside the selected workload family.

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

Sources: [AWS Price List API, AmazonStates offer](https://pricing.us-east-1.amazonaws.com/offers/v1.0/aws/AmazonStates/current/us-east-1/index.json), [Workflows pricing](https://cloud.google.com/workflows/pricing).

## Step Functions Standard → Temporal (Self-Hosted)

Origin API: `aws::1.0.0::sfn::state-machine`. Target backend: `temporalio::1.0.0::self-hosted`.

### Step Functions Standard · State transitions

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

![Step Functions Standard · State transitions: monthly service charges by State transitions. Exact values are in the following table.](/images/diagrams/service-cost/69dacf445feddc3f3a1b39f3edfd912dc4741db4bcc817202ff3f1dad160a036-light.svg)

![Step Functions Standard · State transitions: monthly service charges by State transitions. Exact values are in the following table.](/images/diagrams/service-cost/fa11bf064c165a0b72caa34cbbadc18d9750446c786ca5483ef1c1a6cebfac87-dark.svg)

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

Exact sampled model outputs in USD/month. Difference means target minus origin; a positive difference means the target costs more.
Estimated allocation from planning assumptions; not benchmark calibrated. Lines connect evaluated samples; intermediate capacity and prices are not inferred. Unpriced means no target quote or cost difference is available within the sizing policy.

| State transitions (per second) | Step Functions State Machine | Target scenario | Temporal (Self-Hosted) | Difference |
| -: | -: | - | -: | -: |
| 0 | 0 | Temporal (Self-Hosted) (one copy) | 80.89614 | 80.89614 |
| 0 | 0 | Temporal (Self-Hosted) (two copies) | 161.79228 | 161.79228 |
| 1 | 65.7 | Temporal (Self-Hosted) (one copy) | 80.89614 | 15.19614 |
| 1 | 65.7 | Temporal (Self-Hosted) (two copies) | 161.79228 | 96.09228 |
| 10 | 657 | Temporal (Self-Hosted) (one copy) | 80.89614 | -576.10386 |
| 10 | 657 | Temporal (Self-Hosted) (two copies) | 161.79228 | -495.20772 |
| 100 | 6570 | Temporal (Self-Hosted) (one copy) | 170.631795 | -6399.368205 |
| 100 | 6570 | Temporal (Self-Hosted) (two copies) | 341.26359 | -6228.73641 |
| 1000 | 65700 | Temporal (Self-Hosted) (one copy) | 1493.0969425 | -64206.9030575 |
| 1000 | 65700 | Temporal (Self-Hosted) (two copies) | 2986.193885 | -62713.806115 |
| 10000 | 657000 | Temporal (Self-Hosted) (one copy) | Unpriced | Unavailable |
| 10000 | 657000 | Temporal (Self-Hosted) (two copies) | Unpriced | Unavailable |

**Estimated allocation from planning assumptions; not benchmark calibrated.**

The sizing policy grows compute with translated work and peak headroom, memory with compute and working set, and disk with resident working state and reserve. Monthly usage is distinct from resident data; each workload's assumptions define the translation. HA changes pricing, not this policy's throughput estimate. Unpriced workloads exceed the policy's configuration range; no silent vertical cap or automatic sharding is assumed.

| Sample / scenario | Basis | Mean / peak work/s | Required vCPU | Allocated vCPU | Memory GiB | SSD GiB | Resident GiB | Policy | Constraints |
| - | - | -: | -: | -: | -: | -: | -: | - | - |
| 0 per second / Temporal (Self-Hosted) (one copy) | PlanningAssumption | 0 / 0 | 0 | 2 | 8 | 100 | 0 | `service-adapter-planning-2026-10-22.1` | None reported |
| 0 per second / Temporal (Self-Hosted) (two copies) | PlanningAssumption | 0 / 0 | 0 | 2 | 8 | 100 | 0 | `service-adapter-planning-2026-10-22.1` | None reported |
| 1 per second / Temporal (Self-Hosted) (one copy) | PlanningAssumption | 4 / 8 | 0.007619047619047619047619047619047619 | 2 | 8 | 100 | 1.7303466796875 | `service-adapter-planning-2026-10-22.1` | None reported |
| 1 per second / Temporal (Self-Hosted) (two copies) | PlanningAssumption | 4 / 8 | 0.007619047619047619047619047619047619 | 2 | 8 | 100 | 1.7303466796875 | `service-adapter-planning-2026-10-22.1` | None reported |
| 10 per second / Temporal (Self-Hosted) (one copy) | PlanningAssumption | 40 / 80 | 0.07619047619047619047619047619047619 | 2 | 8 | 100 | 17.303466796875 | `service-adapter-planning-2026-10-22.1` | None reported |
| 10 per second / Temporal (Self-Hosted) (two copies) | PlanningAssumption | 40 / 80 | 0.07619047619047619047619047619047619 | 2 | 8 | 100 | 17.303466796875 | `service-adapter-planning-2026-10-22.1` | None reported |
| 100 per second / Temporal (Self-Hosted) (one copy) | PlanningAssumption | 400 / 800 | 0.7619047619047619047619047619047619 | 4 | 17.5 | 242 | 173.03466796875 | `service-adapter-planning-2026-10-22.1` | None reported |
| 100 per second / Temporal (Self-Hosted) (two copies) | PlanningAssumption | 400 / 800 | 0.7619047619047619047619047619047619 | 4 | 17.5 | 242 | 173.03466796875 | `service-adapter-planning-2026-10-22.1` | None reported |
| 1000 per second / Temporal (Self-Hosted) (one copy) | PlanningAssumption | 4000 / 8000 | 7.619047619047619047619047619047619 | 32 | 173.25 | 2188 | 1730.3466796875 | `service-adapter-planning-2026-10-22.1` | None reported |
| 1000 per second / Temporal (Self-Hosted) (two copies) | PlanningAssumption | 4000 / 8000 | 7.619047619047619047619047619047619 | 32 | 173.25 | 2188 | 1730.3466796875 | `service-adapter-planning-2026-10-22.1` | None reported |
| 10000 per second / Temporal (Self-Hosted) (one copy) | Unpriced | 40000 / 80000 | 76.19047619047619047619047619047619 | Unpriced | Unpriced | Unpriced | 17303.466796875 | `service-adapter-planning-2026-10-22.1` | Demand exceeds the planning model's joint CPU/RAM allocation bounds (96 vCPU, 624 GiB RAM). |
| 10000 per second / Temporal (Self-Hosted) (two copies) | Unpriced | 40000 / 80000 | 76.19047619047619047619047619047619 | Unpriced | Unpriced | Unpriced | 17303.466796875 | `service-adapter-planning-2026-10-22.1` | Demand exceeds the planning model's joint CPU/RAM allocation bounds (96 vCPU, 624 GiB RAM). |

* 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, 4 GiB per vCPU, at most 6.5 GiB per vCPU, 96 vCPU and 65,536 GiB disk follow Cloud SQL Enterprise custom machine limits (provider-documented, same page); 624 GiB is 96 × 6.5. Targets billed per node, 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.
* Stored GiB already includes the origin family's physical footprint assumptions; no second storage amplification is applied.
* The operations/vCPU coefficient supplies the compute requirement alongside explicit resource-hour minima.
* Copies and allocation fractions change cost only; they do not increase modeled primary capacity.

**Curve assumptions**

| Target scenario | Assumption | Value | Unit |
| - | - | -: | - |
| Temporal (Self-Hosted) (one copy) | Origin list price · Standard state transitions | 0.000025 | USD/transitions |
| Temporal (Self-Hosted) (one copy) | Target steps per source transition | 2 | steps |
| Temporal (Self-Hosted) (one copy) | History bytes per transition | 3072 | bytes |
| Temporal (Self-Hosted) (one copy) | History retention | 7 | days |
| Temporal (Self-Hosted) (one copy) | Worker CPU per transition | 5 | vCPU-ms |
| Temporal (Self-Hosted) (one copy) | Target price guess · read | 0 | USD/read |
| Temporal (Self-Hosted) (one copy) | Target price guess · write | 0 | USD/write |
| Temporal (Self-Hosted) (one copy) | Target price guess · provider operation | 0 | USD/provider operation |
| Temporal (Self-Hosted) (one copy) | Target list price · GiB-month | 0.1 | USD/GiB-month |
| Temporal (Self-Hosted) (one copy) | Target price guess · published GiB | 0 | USD/published GiB |
| Temporal (Self-Hosted) (one copy) | Target price guess · delivered GiB | 0 | USD/delivered GiB |
| Temporal (Self-Hosted) (one copy) | Target list price · network GiB | 0.12 | USD/network GiB |
| Temporal (Self-Hosted) (one copy) | Target price guess · replica GiB-month | 0 | USD/replica GiB-month |
| Temporal (Self-Hosted) (one copy) | Target list price · vCPU-hour | 0.031611 | USD/vCPU-hour |
| Temporal (Self-Hosted) (one copy) | Target list price · GiB-hour | 0.004237 | USD/GiB-hour |
| Temporal (Self-Hosted) (one copy) | Target price guess · resource-hour | 0 | USD/resource-hour |
| Temporal (Self-Hosted) (one copy) | Target price guess · resource-month | 0 | USD/resource-month |
| Temporal (Self-Hosted) (one copy) | Target price guess · input token | 0 | USD/input token |
| Temporal (Self-Hosted) (one copy) | Target price guess · output token | 0 | USD/output token |
| Temporal (Self-Hosted) (one copy) | Target monthly base charge | 0 | USD/month |
| Temporal (Self-Hosted) (one copy) | Approximate target service minimum | 0 | USD/month |
| Temporal (Self-Hosted) (one copy) | Minimum primary CPU | 2 | vCPU |
| Temporal (Self-Hosted) (one copy) | Minimum primary RAM | 8 | GiB |
| Temporal (Self-Hosted) (one copy) | Minimum primary disk | 100 | GiB |
| Temporal (Self-Hosted) (one copy) | Additional full-price standby copy | 0 | 0 or 1 |
| Temporal (Self-Hosted) (one copy) | Allocated share of provisioned cost | 1 | fraction |
| Temporal (Self-Hosted) (one copy) | Read/write work per vCPU-second | 1500 | operations/vCPU-second |
| Temporal (Self-Hosted) (one copy) | Planning peak / mean work | 2 | multiplier |
| Temporal (Self-Hosted) (one copy) | Planning primary CPU utilization | 0.7 | fraction |
| Temporal (Self-Hosted) (one copy) | Resident state reserved in RAM | 0.1 | fraction |
| Temporal (Self-Hosted) (one copy) | Planning disk utilization | 0.8 | fraction |
| Temporal (Self-Hosted) (one copy) | Maintenance and log disk reserve | 20 | GiB |
| Temporal (Self-Hosted) (one copy) | Staging database CPU unit-price guess | 0.0413 | USD/vCPU-hour |
| Temporal (Self-Hosted) (one copy) | Staging database RAM unit-price guess | 0.007 | USD/GiB-hour |
| Temporal (Self-Hosted) (one copy) | Staging database disk unit-price guess | 0.17 | USD/GiB-month |
| Temporal (Self-Hosted) (one copy) | Dependent object sink storage price guess | 0.023 | USD/GiB-month |
| Temporal (Self-Hosted) (one copy) | Dependent object sink write price guess | 0.000005 | USD/write |
| Temporal (Self-Hosted) (two copies) | Origin list price · Standard state transitions | 0.000025 | USD/transitions |
| Temporal (Self-Hosted) (two copies) | Target steps per source transition | 2 | steps |
| Temporal (Self-Hosted) (two copies) | History bytes per transition | 3072 | bytes |
| Temporal (Self-Hosted) (two copies) | History retention | 7 | days |
| Temporal (Self-Hosted) (two copies) | Worker CPU per transition | 5 | vCPU-ms |
| Temporal (Self-Hosted) (two copies) | Target price guess · read | 0 | USD/read |
| Temporal (Self-Hosted) (two copies) | Target price guess · write | 0 | USD/write |
| Temporal (Self-Hosted) (two copies) | Target price guess · provider operation | 0 | USD/provider operation |
| Temporal (Self-Hosted) (two copies) | Target list price · GiB-month | 0.1 | USD/GiB-month |
| Temporal (Self-Hosted) (two copies) | Target price guess · published GiB | 0 | USD/published GiB |
| Temporal (Self-Hosted) (two copies) | Target price guess · delivered GiB | 0 | USD/delivered GiB |
| Temporal (Self-Hosted) (two copies) | Target list price · network GiB | 0.12 | USD/network GiB |
| Temporal (Self-Hosted) (two copies) | Target price guess · replica GiB-month | 0 | USD/replica GiB-month |
| Temporal (Self-Hosted) (two copies) | Target list price · vCPU-hour | 0.031611 | USD/vCPU-hour |
| Temporal (Self-Hosted) (two copies) | Target list price · GiB-hour | 0.004237 | USD/GiB-hour |
| Temporal (Self-Hosted) (two copies) | Target price guess · resource-hour | 0 | USD/resource-hour |
| Temporal (Self-Hosted) (two copies) | Target price guess · resource-month | 0 | USD/resource-month |
| Temporal (Self-Hosted) (two copies) | Target price guess · input token | 0 | USD/input token |
| Temporal (Self-Hosted) (two copies) | Target price guess · output token | 0 | USD/output token |
| Temporal (Self-Hosted) (two copies) | Target monthly base charge | 0 | USD/month |
| Temporal (Self-Hosted) (two copies) | Approximate target service minimum | 0 | USD/month |
| Temporal (Self-Hosted) (two copies) | Minimum primary CPU | 2 | vCPU |
| Temporal (Self-Hosted) (two copies) | Minimum primary RAM | 8 | GiB |
| Temporal (Self-Hosted) (two copies) | Minimum primary disk | 100 | GiB |
| Temporal (Self-Hosted) (two copies) | Additional full-price standby copy | 1 | 0 or 1 |
| Temporal (Self-Hosted) (two copies) | Allocated share of provisioned cost | 1 | fraction |
| Temporal (Self-Hosted) (two copies) | Read/write work per vCPU-second | 1500 | operations/vCPU-second |
| Temporal (Self-Hosted) (two copies) | Planning peak / mean work | 2 | multiplier |
| Temporal (Self-Hosted) (two copies) | Planning primary CPU utilization | 0.7 | fraction |
| Temporal (Self-Hosted) (two copies) | Resident state reserved in RAM | 0.1 | fraction |
| Temporal (Self-Hosted) (two copies) | Planning disk utilization | 0.8 | fraction |
| Temporal (Self-Hosted) (two copies) | Maintenance and log disk reserve | 20 | GiB |
| Temporal (Self-Hosted) (two copies) | Staging database CPU unit-price guess | 0.0413 | USD/vCPU-hour |
| Temporal (Self-Hosted) (two copies) | Staging database RAM unit-price guess | 0.007 | USD/GiB-hour |
| Temporal (Self-Hosted) (two copies) | Staging database disk unit-price guess | 0.17 | USD/GiB-month |
| Temporal (Self-Hosted) (two copies) | Dependent object sink storage price guess | 0.023 | USD/GiB-month |
| Temporal (Self-Hosted) (two copies) | Dependent object sink write price guess | 0.000005 | USD/write |

* Includes source retries; target amplification is applied only once. Editable authored planning guesses, not verified provider tariffs, benchmark measurements or a commercial quote. Other native meters retain their explicitly displayed default quantities.
* Planning estimate · editable authored rates and sizing assumptions dated 2026-10-22; not verified provider prices. 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.
* Explicit tariff samples 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.
* Authored planning assumptions, not measured adapter capacity. Origin rates are cited first-tier list prices, before free allowances and discounts.
* A cost scenario does not establish backend availability, protocol fidelity or production readiness. Registry serving status remains independent.
* Managed steps, worker CPU and durable history are distinct target cost components. Internal/external step split needs target-specific assumptions.
* Standard-only origin profile; no inference of Express duration, memory or task execution cost.
* Self-hosted target: Temporal server (MIT, [https://github.com/temporalio/temporal/blob/main/LICENSE](https://github.com/temporalio/temporal/blob/main/LICENSE)); Temporal Cloud is a separate target. Selected CPU, RAM and physical disk allocation grow with workload; no per-operation price is assumed. No vendor tariff: 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, 4 GiB per vCPU, at most 6.5 GiB per vCPU, 96 vCPU and 65,536 GiB disk follow Cloud SQL Enterprise custom machine limits (provider-documented, same page); 624 GiB is 96 × 6.5. Targets billed per node, 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.
* Stored GiB already includes the origin family's physical footprint assumptions; no second storage amplification is applied.
* The operations/vCPU coefficient supplies the compute requirement alongside explicit resource-hour minima.
* Copies and allocation fractions change cost only; they do not increase modeled primary capacity.
* AWS Price List API, AmazonStates offer: [https://pricing.us-east-1.amazonaws.com/offers/v1.0/aws/AmazonStates/current/us-east-1/index.json](https://pricing.us-east-1.amazonaws.com/offers/v1.0/aws/AmazonStates/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:

* Additional network transfer, backups, KMS, one-time migration and operational labor unless an explicit meter includes them.
* Destination application execution and separately billed downstream services; supply those allocations separately.
* Taxes, discounts, credits and free-tier allowances unless explicitly reflected in edited rates.
* Unmodeled dependent services, task execution and operations outside the selected workload family.

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

Sources: [AWS Price List API, AmazonStates offer](https://pricing.us-east-1.amazonaws.com/offers/v1.0/aws/AmazonStates/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).

## Step Functions Standard → Temporal Cloud (Managed)

Origin API: `aws::1.0.0::sfn::state-machine`. Target backend: `temporalio::1.0.0::managed`.

### Step Functions Standard · State transitions

Estimated monthly service charges by State transitions. Adapter hosting and Tensor9 fees are excluded. Source: us-east-1; target: Temporal Cloud (global list); currency: USD.

![Step Functions Standard · State transitions: monthly service charges by State transitions. Exact values are in the following table.](/images/diagrams/service-cost/20a23f8e1436411d015faa91fc47845ef9d9a8b61cc08c8ce5158caf25e11355-light.svg)

![Step Functions Standard · State transitions: monthly service charges by State transitions. Exact values are in the following table.](/images/diagrams/service-cost/27ff127cd110f13664c7591bdc39d21c070d9db5693cbe25d687549599087952-dark.svg)

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

Exact sampled model outputs in USD/month. Difference means target minus origin; a positive difference means the target costs more.
Estimated allocation from planning assumptions; not benchmark calibrated. Lines connect evaluated samples; intermediate capacity and prices are not inferred. Unpriced means no target quote or cost difference is available within the sizing policy.

| State transitions (per second) | Step Functions State Machine | Target scenario | Temporal Cloud (Managed) | Difference |
| -: | -: | - | -: | -: |
| 0 | 0 | Temporal Cloud (Managed) (one staging copy) | 618.178 | 618.178 |
| 0 | 0 | Temporal Cloud (Managed) (two staging copies) | 736.356 | 736.356 |
| 1 | 65.7 | Temporal Cloud (Managed) (one staging copy) | 755.978 | 690.278 |
| 1 | 65.7 | Temporal Cloud (Managed) (two staging copies) | 874.156 | 808.456 |
| 10 | 657 | Temporal Cloud (Managed) (one staging copy) | 2544.978 | 1887.978 |
| 10 | 657 | Temporal Cloud (Managed) (two staging copies) | 2663.156 | 2006.156 |
| 100 | 6570 | Temporal Cloud (Managed) (one staging copy) | 14809.642072998046875 | 8239.642072998046875 |
| 100 | 6570 | Temporal Cloud (Managed) (two staging copies) | 15060.803072998046875 | 8490.803072998046875 |
| 1000 | 65700 | Temporal Cloud (Managed) (one staging copy) | 136234.19622998046875 | 70534.19622998046875 |
| 1000 | 65700 | Temporal Cloud (Managed) (two staging copies) | 138456.23172998046875 | 72756.23172998046875 |
| 10000 | 657000 | Temporal Cloud (Managed) (one staging copy) | Unpriced | Unavailable |
| 10000 | 657000 | Temporal Cloud (Managed) (two staging copies) | Unpriced | Unavailable |

**Estimated allocation from planning assumptions; not benchmark calibrated.**

The sizing policy grows compute with translated work and peak headroom, memory with compute and working set, and disk with resident working state and reserve. Monthly usage is distinct from resident data; each workload's assumptions define the translation. HA changes pricing, not this policy's throughput estimate. Unpriced workloads exceed the policy's configuration range; no silent vertical cap or automatic sharding is assumed.

| Sample / scenario | Basis | Mean / peak work/s | Required vCPU | Allocated vCPU | Memory GiB | SSD GiB | Resident GiB | Policy | Constraints |
| - | - | -: | -: | -: | -: | -: | -: | - | - |
| 0 per second / Temporal Cloud (Managed) (one staging copy) | PlanningAssumption | 0 / 0 | 0 | 2 | 8 | 100 | 0 | `service-adapter-planning-2026-10-22.1` | None reported |
| 0 per second / Temporal Cloud (Managed) (two staging copies) | PlanningAssumption | 0 / 0 | 0 | 2 | 8 | 100 | 0 | `service-adapter-planning-2026-10-22.1` | None reported |
| 1 per second / Temporal Cloud (Managed) (one staging copy) | PlanningAssumption | 4 / 8 | 0.007619047619047619047619047619047619 | 2 | 8 | 100 | 1.7303466796875 | `service-adapter-planning-2026-10-22.1` | None reported |
| 1 per second / Temporal Cloud (Managed) (two staging copies) | PlanningAssumption | 4 / 8 | 0.007619047619047619047619047619047619 | 2 | 8 | 100 | 1.7303466796875 | `service-adapter-planning-2026-10-22.1` | None reported |
| 10 per second / Temporal Cloud (Managed) (one staging copy) | PlanningAssumption | 40 / 80 | 0.07619047619047619047619047619047619 | 2 | 8 | 100 | 17.303466796875 | `service-adapter-planning-2026-10-22.1` | None reported |
| 10 per second / Temporal Cloud (Managed) (two staging copies) | PlanningAssumption | 40 / 80 | 0.07619047619047619047619047619047619 | 2 | 8 | 100 | 17.303466796875 | `service-adapter-planning-2026-10-22.1` | None reported |
| 100 per second / Temporal Cloud (Managed) (one staging copy) | PlanningAssumption | 400 / 800 | 0.7619047619047619047619047619047619 | 4 | 17.5 | 242 | 173.03466796875 | `service-adapter-planning-2026-10-22.1` | None reported |
| 100 per second / Temporal Cloud (Managed) (two staging copies) | PlanningAssumption | 400 / 800 | 0.7619047619047619047619047619047619 | 4 | 17.5 | 242 | 173.03466796875 | `service-adapter-planning-2026-10-22.1` | None reported |
| 1000 per second / Temporal Cloud (Managed) (one staging copy) | PlanningAssumption | 4000 / 8000 | 7.619047619047619047619047619047619 | 32 | 173.25 | 2188 | 1730.3466796875 | `service-adapter-planning-2026-10-22.1` | None reported |
| 1000 per second / Temporal Cloud (Managed) (two staging copies) | PlanningAssumption | 4000 / 8000 | 7.619047619047619047619047619047619 | 32 | 173.25 | 2188 | 1730.3466796875 | `service-adapter-planning-2026-10-22.1` | None reported |
| 10000 per second / Temporal Cloud (Managed) (one staging copy) | Unpriced | 40000 / 80000 | 76.19047619047619047619047619047619 | Unpriced | Unpriced | Unpriced | 17303.466796875 | `service-adapter-planning-2026-10-22.1` | Demand exceeds the planning model's joint CPU/RAM allocation bounds (96 vCPU, 624 GiB RAM). |
| 10000 per second / Temporal Cloud (Managed) (two staging copies) | Unpriced | 40000 / 80000 | 76.19047619047619047619047619047619 | Unpriced | Unpriced | Unpriced | 17303.466796875 | `service-adapter-planning-2026-10-22.1` | Demand exceeds the planning model's joint CPU/RAM allocation bounds (96 vCPU, 624 GiB RAM). |

* 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, 4 GiB per vCPU, at most 6.5 GiB per vCPU, 96 vCPU and 65,536 GiB disk follow Cloud SQL Enterprise custom machine limits (provider-documented, same page); 624 GiB is 96 × 6.5. Targets billed per node, 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.
* Stored GiB already includes the origin family's physical footprint assumptions; no second storage amplification is applied.
* The operations/vCPU coefficient supplies the compute requirement alongside explicit resource-hour minima.
* Copies and allocation fractions change cost only; they do not increase modeled primary capacity.

**Curve assumptions**

| Target scenario | Assumption | Value | Unit |
| - | - | -: | - |
| Temporal Cloud (Managed) (one staging copy) | Origin list price · Standard state transitions | 0.000025 | USD/transitions |
| Temporal Cloud (Managed) (one staging copy) | Target steps per source transition | 2 | steps |
| Temporal Cloud (Managed) (one staging copy) | History bytes per transition | 3072 | bytes |
| Temporal Cloud (Managed) (one staging copy) | History retention | 7 | days |
| Temporal Cloud (Managed) (one staging copy) | Worker CPU per transition | 5 | vCPU-ms |
| Temporal Cloud (Managed) (one staging copy) | Target price guess · read | 0 | USD/read |
| Temporal Cloud (Managed) (one staging copy) | Target price guess · write | 0 | USD/write |
| Temporal Cloud (Managed) (one staging copy) | Target list price · provider operation | 0.00005 | USD/provider operation |
| Temporal Cloud (Managed) (one staging copy) | Target list price · GiB-month | 0.7665 | USD/GiB-month |
| Temporal Cloud (Managed) (one staging copy) | Target price guess · published GiB | 0 | USD/published GiB |
| Temporal Cloud (Managed) (one staging copy) | Target price guess · delivered GiB | 0 | USD/delivered GiB |
| Temporal Cloud (Managed) (one staging copy) | Target price guess · network GiB | 0 | USD/network GiB |
| Temporal Cloud (Managed) (one staging copy) | Target price guess · replica GiB-month | 0 | USD/replica GiB-month |
| Temporal Cloud (Managed) (one staging copy) | Target price guess · vCPU-hour | 0 | USD/vCPU-hour |
| Temporal Cloud (Managed) (one staging copy) | Target price guess · GiB-hour | 0 | USD/GiB-hour |
| Temporal Cloud (Managed) (one staging copy) | Target price guess · resource-hour | 0 | USD/resource-hour |
| Temporal Cloud (Managed) (one staging copy) | Target price guess · resource-month | 0 | USD/resource-month |
| Temporal Cloud (Managed) (one staging copy) | Target price guess · input token | 0 | USD/input token |
| Temporal Cloud (Managed) (one staging copy) | Target price guess · output token | 0 | USD/output token |
| Temporal Cloud (Managed) (one staging copy) | Included before billing · provider operation | 2500000 | provider operation |
| Temporal Cloud (Managed) (one staging copy) | Included before billing · GiB-month | 100 | GiB-month |
| Temporal Cloud (Managed) (one staging copy) | Target monthly base charge · list price | 500 | USD/month |
| Temporal Cloud (Managed) (one staging copy) | Approximate target service minimum | 0 | USD/month |
| Temporal Cloud (Managed) (one staging copy) | Minimum primary CPU | 2 | vCPU |
| Temporal Cloud (Managed) (one staging copy) | Minimum primary RAM | 8 | GiB |
| Temporal Cloud (Managed) (one staging copy) | Minimum primary disk | 100 | GiB |
| Temporal Cloud (Managed) (one staging copy) | Additional full-price standby copy | 0 | 0 or 1 |
| Temporal Cloud (Managed) (one staging copy) | Allocated share of provisioned cost | 1 | fraction |
| Temporal Cloud (Managed) (one staging copy) | Read/write work per vCPU-second | 1500 | operations/vCPU-second |
| Temporal Cloud (Managed) (one staging copy) | Planning peak / mean work | 2 | multiplier |
| Temporal Cloud (Managed) (one staging copy) | Planning primary CPU utilization | 0.7 | fraction |
| Temporal Cloud (Managed) (one staging copy) | Resident state reserved in RAM | 0.1 | fraction |
| Temporal Cloud (Managed) (one staging copy) | Planning disk utilization | 0.8 | fraction |
| Temporal Cloud (Managed) (one staging copy) | Maintenance and log disk reserve | 20 | GiB |
| Temporal Cloud (Managed) (one staging copy) | Staging database CPU unit-price guess | 0.0413 | USD/vCPU-hour |
| Temporal Cloud (Managed) (one staging copy) | Staging database RAM unit-price guess | 0.007 | USD/GiB-hour |
| Temporal Cloud (Managed) (one staging copy) | Staging database disk unit-price guess | 0.17 | USD/GiB-month |
| Temporal Cloud (Managed) (one staging copy) | Dependent object sink storage price guess | 0.023 | USD/GiB-month |
| Temporal Cloud (Managed) (one staging copy) | Dependent object sink write price guess | 0.000005 | USD/write |
| Temporal Cloud (Managed) (two staging copies) | Origin list price · Standard state transitions | 0.000025 | USD/transitions |
| Temporal Cloud (Managed) (two staging copies) | Target steps per source transition | 2 | steps |
| Temporal Cloud (Managed) (two staging copies) | History bytes per transition | 3072 | bytes |
| Temporal Cloud (Managed) (two staging copies) | History retention | 7 | days |
| Temporal Cloud (Managed) (two staging copies) | Worker CPU per transition | 5 | vCPU-ms |
| Temporal Cloud (Managed) (two staging copies) | Target price guess · read | 0 | USD/read |
| Temporal Cloud (Managed) (two staging copies) | Target price guess · write | 0 | USD/write |
| Temporal Cloud (Managed) (two staging copies) | Target list price · provider operation | 0.00005 | USD/provider operation |
| Temporal Cloud (Managed) (two staging copies) | Target list price · GiB-month | 0.7665 | USD/GiB-month |
| Temporal Cloud (Managed) (two staging copies) | Target price guess · published GiB | 0 | USD/published GiB |
| Temporal Cloud (Managed) (two staging copies) | Target price guess · delivered GiB | 0 | USD/delivered GiB |
| Temporal Cloud (Managed) (two staging copies) | Target price guess · network GiB | 0 | USD/network GiB |
| Temporal Cloud (Managed) (two staging copies) | Target price guess · replica GiB-month | 0 | USD/replica GiB-month |
| Temporal Cloud (Managed) (two staging copies) | Target price guess · vCPU-hour | 0 | USD/vCPU-hour |
| Temporal Cloud (Managed) (two staging copies) | Target price guess · GiB-hour | 0 | USD/GiB-hour |
| Temporal Cloud (Managed) (two staging copies) | Target price guess · resource-hour | 0 | USD/resource-hour |
| Temporal Cloud (Managed) (two staging copies) | Target price guess · resource-month | 0 | USD/resource-month |
| Temporal Cloud (Managed) (two staging copies) | Target price guess · input token | 0 | USD/input token |
| Temporal Cloud (Managed) (two staging copies) | Target price guess · output token | 0 | USD/output token |
| Temporal Cloud (Managed) (two staging copies) | Included before billing · provider operation | 2500000 | provider operation |
| Temporal Cloud (Managed) (two staging copies) | Included before billing · GiB-month | 100 | GiB-month |
| Temporal Cloud (Managed) (two staging copies) | Target monthly base charge · list price | 500 | USD/month |
| Temporal Cloud (Managed) (two staging copies) | Approximate target service minimum | 0 | USD/month |
| Temporal Cloud (Managed) (two staging copies) | Minimum primary CPU | 2 | vCPU |
| Temporal Cloud (Managed) (two staging copies) | Minimum primary RAM | 8 | GiB |
| Temporal Cloud (Managed) (two staging copies) | Minimum primary disk | 100 | GiB |
| Temporal Cloud (Managed) (two staging copies) | Additional full-price standby copy | 1 | 0 or 1 |
| Temporal Cloud (Managed) (two staging copies) | Allocated share of provisioned cost | 1 | fraction |
| Temporal Cloud (Managed) (two staging copies) | Read/write work per vCPU-second | 1500 | operations/vCPU-second |
| Temporal Cloud (Managed) (two staging copies) | Planning peak / mean work | 2 | multiplier |
| Temporal Cloud (Managed) (two staging copies) | Planning primary CPU utilization | 0.7 | fraction |
| Temporal Cloud (Managed) (two staging copies) | Resident state reserved in RAM | 0.1 | fraction |
| Temporal Cloud (Managed) (two staging copies) | Planning disk utilization | 0.8 | fraction |
| Temporal Cloud (Managed) (two staging copies) | Maintenance and log disk reserve | 20 | GiB |
| Temporal Cloud (Managed) (two staging copies) | Staging database CPU unit-price guess | 0.0413 | USD/vCPU-hour |
| Temporal Cloud (Managed) (two staging copies) | Staging database RAM unit-price guess | 0.007 | USD/GiB-hour |
| Temporal Cloud (Managed) (two staging copies) | Staging database disk unit-price guess | 0.17 | USD/GiB-month |
| Temporal Cloud (Managed) (two staging copies) | Dependent object sink storage price guess | 0.023 | USD/GiB-month |
| Temporal Cloud (Managed) (two staging copies) | Dependent object sink write price guess | 0.000005 | USD/write |

* Includes source retries; target amplification is applied only once. Editable authored planning guesses, not verified provider tariffs, benchmark measurements or a commercial quote. Other native meters retain their explicitly displayed default quantities.
* Planning estimate · editable authored rates and sizing assumptions dated 2026-10-22; not verified provider prices. us-east-1 → Temporal Cloud (global list), 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.
* Explicit tariff samples 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.
* Authored planning assumptions, not measured adapter capacity. Origin rates are cited first-tier list prices, before free allowances and discounts.
* A cost scenario does not establish backend availability, protocol fidelity or production readiness. Registry serving status remains independent.
* Managed steps, worker CPU and durable history are distinct target cost components. Internal/external step split needs target-specific assumptions.
* Standard-only origin profile; no inference of Express duration, memory or task execution cost.
* Temporal Cloud bills Actions, active and retained workflow-history storage, and a plan. The profile selects the Business plan: the greater of USD 500/month or 10% of consumption, with 2.5 million Actions, 2.5 GB of active and 100 GB of retained storage included. The 500 base is exact while consumption stays under USD 5,000/month; above that the plan adds 10% of consumption, which is not modeled. Pay-as-you-go Actions graduate from USD 50 to 25 per million by volume beyond the included Actions. History storage bills USD 0.042 per active GBh and 0.00105 per retained GBh. The family's retained history of closed executions bills at the retained rate beyond the 100 GB included; active history of running executions is small for Step Functions workloads and is not modeled. The Developer plan (no base, 10% of consumption, USD 50 per million Actions at every volume) is not selected. Workers run on the customer's own compute.
* 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, 4 GiB per vCPU, at most 6.5 GiB per vCPU, 96 vCPU and 65,536 GiB disk follow Cloud SQL Enterprise custom machine limits (provider-documented, same page); 624 GiB is 96 × 6.5. Targets billed per node, 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.
* Stored GiB already includes the origin family's physical footprint assumptions; no second storage amplification is applied.
* The operations/vCPU coefficient supplies the compute requirement alongside explicit resource-hour minima.
* Copies and allocation fractions change cost only; they do not increase modeled primary capacity.
* AWS Price List API, AmazonStates offer: [https://pricing.us-east-1.amazonaws.com/offers/v1.0/aws/AmazonStates/current/us-east-1/index.json](https://pricing.us-east-1.amazonaws.com/offers/v1.0/aws/AmazonStates/current/us-east-1/index.json)
* Temporal Cloud pricing: [https://docs.temporal.io/cloud/pricing](https://docs.temporal.io/cloud/pricing)

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

Excluded costs and workload features:

* Additional network transfer, backups, KMS, one-time migration and operational labor unless an explicit meter includes them.
* Destination application execution and separately billed downstream services; supply those allocations separately.
* Taxes, discounts, credits and free-tier allowances unless explicitly reflected in edited rates.
* Unmodeled dependent services, task execution and operations outside the selected workload family.

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

Sources: [AWS Price List API, AmazonStates offer](https://pricing.us-east-1.amazonaws.com/offers/v1.0/aws/AmazonStates/current/us-east-1/index.json), [Temporal Cloud pricing](https://docs.temporal.io/cloud/pricing).

See the [service catalog](/byoc/service-adapters/catalog.md) for operation coverage, supported directions and backend limitations.


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