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

# Amazon Kinesis costs

> Compare Amazon Kinesis service-adapter costs across backend choices and scale points.

Tensor9 BYOC reference cost models for Amazon Kinesis. Record size, ingest rate, fan-out and retention affect the comparison. Provisioned and usage-based services can charge for different units.

Read [how Tensor9 estimates service-adapter costs](/byoc/costs/overview.md) for billing scope, fixed versus variable charges, capacity qualification and a worked example. The comparisons below appear without calculator input.

## Data Firehose → Azure Event Hubs

Origin API: `aws::1.0.0::kinesis::firehose`. Target backend: `azure::1.0.0::eventhubs`.

### Data Firehose · Billed ingestion

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

![Data Firehose · Billed ingestion: monthly service charges by Billed ingestion. Exact values are in the following table.](/images/diagrams/service-cost/bd4ff123fa9dd12f6b0b980a878dedf18eac15c8e58a9e9e948580661ae9788b-light.svg)

![Data Firehose · Billed ingestion: monthly service charges by Billed ingestion. Exact values are in the following table.](/images/diagrams/service-cost/d0c120e8b6e3445e96d5bf72a796c8de11a8b894849211114234cfb0f81c4541-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.

| Billed ingestion (GiB/month) | Kinesis Data Firehose | Target scenario | Azure Event Hubs | Difference |
| -: | -: | - | -: | -: |
| 0 | 0 | Azure Event Hubs (one staging copy) | 140.078 | 140.078 |
| 0 | 0 | Azure Event Hubs (two staging copies) | 258.256 | 258.256 |
| 1 | 0.029 | Azure Event Hubs (one staging copy) | 140.088614011901369863013698630136986302 | 140.059614011901369863013698630136986302 |
| 1 | 0.029 | Azure Event Hubs (two staging copies) | 258.266614011901369863013698630136986302 | 258.237614011901369863013698630136986302 |
| 10 | 0.29 | Azure Event Hubs (one staging copy) | 140.18414011901369863013698630136986302 | 139.89414011901369863013698630136986302 |
| 10 | 0.29 | Azure Event Hubs (two staging copies) | 258.36214011901369863013698630136986302 | 258.07214011901369863013698630136986302 |
| 100 | 2.9 | Azure Event Hubs (one staging copy) | 141.1393811901369863013698630136986302 | 138.2393811901369863013698630136986302 |
| 100 | 2.9 | Azure Event Hubs (two staging copies) | 259.3173811901369863013698630136986302 | 256.4173811901369863013698630136986302 |
| 1000 | 29 | Azure Event Hubs (one staging copy) | 150.691811901369863013698630136986302 | 121.691811901369863013698630136986302 |
| 1000 | 29 | Azure Event Hubs (two staging copies) | 268.869811901369863013698630136986302 | 239.869811901369863013698630136986302 |
| 10000 | 290 | Azure Event Hubs (one staging copy) | 369.29411901369863013698630136986302 | 79.29411901369863013698630136986302 |
| 10000 | 290 | Azure Event Hubs (two staging copies) | 588.65011901369863013698630136986302 | 298.65011901369863013698630136986302 |

**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 GiB/month / Azure Event Hubs (one staging copy) | PlanningAssumption | 0 / 0 | 0 | 2 | 8 | 100 | 0 | `service-adapter-planning-2026-10-22.1` | None reported |
| 0 GiB/month / Azure Event Hubs (two staging copies) | PlanningAssumption | 0 / 0 | 0 | 2 | 8 | 100 | 0 | `service-adapter-planning-2026-10-22.1` | None reported |
| 1 GiB/month / Azure Event Hubs (one staging copy) | PlanningAssumption | 0.1596006088280060882800608828006088 / 0.3192012176560121765601217656012176 | 0.0003040011596723925491048778720011596 | 2 | 8 | 100 | 0.000005707762557077625570776255707762557 | `service-adapter-planning-2026-10-22.1` | None reported |
| 1 GiB/month / Azure Event Hubs (two staging copies) | PlanningAssumption | 0.1596006088280060882800608828006088 / 0.3192012176560121765601217656012176 | 0.0003040011596723925491048778720011596 | 2 | 8 | 100 | 0.000005707762557077625570776255707762557 | `service-adapter-planning-2026-10-22.1` | None reported |
| 10 GiB/month / Azure Event Hubs (one staging copy) | PlanningAssumption | 1.596006088280060882800608828006088 / 3.192012176560121765601217656012176 | 0.003040011596723925491048778720011596 | 2 | 8 | 100 | 0.00005707762557077625570776255707762557 | `service-adapter-planning-2026-10-22.1` | None reported |
| 10 GiB/month / Azure Event Hubs (two staging copies) | PlanningAssumption | 1.596006088280060882800608828006088 / 3.192012176560121765601217656012176 | 0.003040011596723925491048778720011596 | 2 | 8 | 100 | 0.00005707762557077625570776255707762557 | `service-adapter-planning-2026-10-22.1` | None reported |
| 100 GiB/month / Azure Event Hubs (one staging copy) | PlanningAssumption | 15.96006088280060882800608828006088 / 31.92012176560121765601217656012176 | 0.03040011596723925491048778720011596 | 2 | 8 | 100 | 0.0005707762557077625570776255707762557 | `service-adapter-planning-2026-10-22.1` | None reported |
| 100 GiB/month / Azure Event Hubs (two staging copies) | PlanningAssumption | 15.96006088280060882800608828006088 / 31.92012176560121765601217656012176 | 0.03040011596723925491048778720011596 | 2 | 8 | 100 | 0.0005707762557077625570776255707762557 | `service-adapter-planning-2026-10-22.1` | None reported |
| 1000 GiB/month / Azure Event Hubs (one staging copy) | PlanningAssumption | 159.6006088280060882800608828006088 / 319.2012176560121765601217656012176 | 0.3040011596723925491048778720011596 | 2 | 8 | 100 | 0.005707762557077625570776255707762557 | `service-adapter-planning-2026-10-22.1` | None reported |
| 1000 GiB/month / Azure Event Hubs (two staging copies) | PlanningAssumption | 159.6006088280060882800608828006088 / 319.2012176560121765601217656012176 | 0.3040011596723925491048778720011596 | 2 | 8 | 100 | 0.005707762557077625570776255707762557 | `service-adapter-planning-2026-10-22.1` | None reported |
| 10000 GiB/month / Azure Event Hubs (one staging copy) | PlanningAssumption | 1596.006088280060882800608828006088 / 3192.012176560121765601217656012176 | 3.040011596723925491048778720011596 | 4 | 16 | 100 | 0.05707762557077625570776255707762557 | `service-adapter-planning-2026-10-22.1` | None reported |
| 10000 GiB/month / Azure Event Hubs (two staging copies) | PlanningAssumption | 1596.006088280060882800608828006088 / 3192.012176560121765601217656012176 | 3.040011596723925491048778720011596 | 4 | 16 | 100 | 0.05707762557077625570776255707762557 | `service-adapter-planning-2026-10-22.1` | None reported |

* 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 Event Hubs (one staging copy) | Origin list price · Billed ingestion | 0.029 | USD/GiB after5-KiB record rounding |
| Azure Event Hubs (one staging copy) | Representative record size | 1024 | bytes |
| Azure Event Hubs (one staging copy) | Output bytes / input bytes | 1 | fraction |
| Azure Event Hubs (one staging copy) | Buffer residence | 60 | seconds |
| Azure Event Hubs (one staging copy) | Staging metadata per record | 256 | bytes |
| Azure Event Hubs (one staging copy) | Object sink retention | 30 | days |
| Azure Event Hubs (one staging copy) | Output object size | 5 | MiB |
| Azure Event Hubs (one staging copy) | Delivery worker CPU per record | 0.1 | vCPU-ms |
| Azure Event Hubs (one staging copy) | Target price guess · read | 0 | USD/read |
| Azure Event Hubs (one staging copy) | Target list price · write | 0.000000028 | USD/write |
| Azure Event Hubs (one staging copy) | Target price guess · provider operation | 0 | USD/provider operation |
| Azure Event Hubs (one staging copy) | Target price guess · GiB-month | 0 | USD/GiB-month |
| Azure Event Hubs (one staging copy) | Target price guess · published GiB | 0 | USD/published GiB |
| Azure Event Hubs (one staging copy) | Target price guess · delivered GiB | 0 | USD/delivered GiB |
| Azure Event Hubs (one staging copy) | Target price guess · network GiB | 0 | USD/network GiB |
| Azure Event Hubs (one staging copy) | Target price guess · replica GiB-month | 0 | USD/replica GiB-month |
| Azure Event Hubs (one staging copy) | Target price guess · vCPU-hour | 0 | USD/vCPU-hour |
| Azure Event Hubs (one staging copy) | Target price guess · GiB-hour | 0 | USD/GiB-hour |
| Azure Event Hubs (one staging copy) | Target list price · resource-hour | 0.03 | USD/resource-hour |
| Azure Event Hubs (one staging copy) | Target price guess · resource-month | 0 | USD/resource-month |
| Azure Event Hubs (one staging copy) | Target price guess · input token | 0 | USD/input token |
| Azure Event Hubs (one staging copy) | Target price guess · output token | 0 | USD/output token |
| Azure Event Hubs (one staging copy) | Target monthly base charge | 0 | USD/month |
| Azure Event Hubs (one staging copy) | Approximate target service minimum | 0 | USD/month |
| Azure Event Hubs (one staging copy) | Minimum primary CPU | 2 | vCPU |
| Azure Event Hubs (one staging copy) | Minimum primary RAM | 8 | GiB |
| Azure Event Hubs (one staging copy) | Minimum primary disk | 100 | GiB |
| Azure Event Hubs (one staging copy) | Additional full-price standby copy | 0 | 0 or 1 |
| Azure Event Hubs (one staging copy) | Allocated share of provisioned cost | 1 | fraction |
| Azure Event Hubs (one staging copy) | Read/write work per vCPU-second | 1500 | operations/vCPU-second |
| Azure Event Hubs (one staging copy) | Planning peak / mean work | 2 | multiplier |
| Azure Event Hubs (one staging copy) | Planning primary CPU utilization | 0.7 | fraction |
| Azure Event Hubs (one staging copy) | Resident state reserved in RAM | 0.1 | fraction |
| Azure Event Hubs (one staging copy) | Planning disk utilization | 0.8 | fraction |
| Azure Event Hubs (one staging copy) | Maintenance and log disk reserve | 20 | GiB |
| Azure Event Hubs (one staging copy) | Staging database CPU unit-price guess | 0.0413 | USD/vCPU-hour |
| Azure Event Hubs (one staging copy) | Staging database RAM unit-price guess | 0.007 | USD/GiB-hour |
| Azure Event Hubs (one staging copy) | Staging database disk unit-price guess | 0.17 | USD/GiB-month |
| Azure Event Hubs (one staging copy) | Dependent object sink storage price guess | 0.023 | USD/GiB-month |
| Azure Event Hubs (one staging copy) | Dependent object sink write price guess | 0.000005 | USD/write |
| Azure Event Hubs (two staging copies) | Origin list price · Billed ingestion | 0.029 | USD/GiB after5-KiB record rounding |
| Azure Event Hubs (two staging copies) | Representative record size | 1024 | bytes |
| Azure Event Hubs (two staging copies) | Output bytes / input bytes | 1 | fraction |
| Azure Event Hubs (two staging copies) | Buffer residence | 60 | seconds |
| Azure Event Hubs (two staging copies) | Staging metadata per record | 256 | bytes |
| Azure Event Hubs (two staging copies) | Object sink retention | 30 | days |
| Azure Event Hubs (two staging copies) | Output object size | 5 | MiB |
| Azure Event Hubs (two staging copies) | Delivery worker CPU per record | 0.1 | vCPU-ms |
| Azure Event Hubs (two staging copies) | Target price guess · read | 0 | USD/read |
| Azure Event Hubs (two staging copies) | Target list price · write | 0.000000028 | USD/write |
| Azure Event Hubs (two staging copies) | Target price guess · provider operation | 0 | USD/provider operation |
| Azure Event Hubs (two staging copies) | Target price guess · GiB-month | 0 | USD/GiB-month |
| Azure Event Hubs (two staging copies) | Target price guess · published GiB | 0 | USD/published GiB |
| Azure Event Hubs (two staging copies) | Target price guess · delivered GiB | 0 | USD/delivered GiB |
| Azure Event Hubs (two staging copies) | Target price guess · network GiB | 0 | USD/network GiB |
| Azure Event Hubs (two staging copies) | Target price guess · replica GiB-month | 0 | USD/replica GiB-month |
| Azure Event Hubs (two staging copies) | Target price guess · vCPU-hour | 0 | USD/vCPU-hour |
| Azure Event Hubs (two staging copies) | Target price guess · GiB-hour | 0 | USD/GiB-hour |
| Azure Event Hubs (two staging copies) | Target list price · resource-hour | 0.03 | USD/resource-hour |
| Azure Event Hubs (two staging copies) | Target price guess · resource-month | 0 | USD/resource-month |
| Azure Event Hubs (two staging copies) | Target price guess · input token | 0 | USD/input token |
| Azure Event Hubs (two staging copies) | Target price guess · output token | 0 | USD/output token |
| Azure Event Hubs (two staging copies) | Target monthly base charge | 0 | USD/month |
| Azure Event Hubs (two staging copies) | Approximate target service minimum | 0 | USD/month |
| Azure Event Hubs (two staging copies) | Minimum primary CPU | 2 | vCPU |
| Azure Event Hubs (two staging copies) | Minimum primary RAM | 8 | GiB |
| Azure Event Hubs (two staging copies) | Minimum primary disk | 100 | GiB |
| Azure Event Hubs (two staging copies) | Additional full-price standby copy | 1 | 0 or 1 |
| Azure Event Hubs (two staging copies) | Allocated share of provisioned cost | 1 | fraction |
| Azure Event Hubs (two staging copies) | Read/write work per vCPU-second | 1500 | operations/vCPU-second |
| Azure Event Hubs (two staging copies) | Planning peak / mean work | 2 | multiplier |
| Azure Event Hubs (two staging copies) | Planning primary CPU utilization | 0.7 | fraction |
| Azure Event Hubs (two staging copies) | Resident state reserved in RAM | 0.1 | fraction |
| Azure Event Hubs (two staging copies) | Planning disk utilization | 0.8 | fraction |
| Azure Event Hubs (two staging copies) | Maintenance and log disk reserve | 20 | GiB |
| Azure Event Hubs (two staging copies) | Staging database CPU unit-price guess | 0.0413 | USD/vCPU-hour |
| Azure Event Hubs (two staging copies) | Staging database RAM unit-price guess | 0.007 | USD/GiB-hour |
| Azure Event Hubs (two staging copies) | Staging database disk unit-price guess | 0.17 | USD/GiB-month |
| Azure Event Hubs (two staging copies) | Dependent object sink storage price guess | 0.023 | USD/GiB-month |
| Azure Event Hubs (two staging copies) | Dependent object sink write price guess | 0.000005 | USD/write |

* Billed GiB includes per-record rounding; physical bytes can be much lower for small records. 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.
* The landing buffer, durable staging, delivery workers and object sink are separate allocations. Primary stored GiB is retained landing payload; staging adds delivery metadata.
* Object sink retention and PUTs are priced separately from the landing backend. Even an object-store landing target needs the explicitly modeled temporary buffer allocation.
* These retention and sink-write assumptions are provisional; a broker-only subtotal does not price the complete pipeline.
* Azure Event Hubs Standard bills throughput-unit hours, sized here from the family's published and delivered bytes and its ingress (write) and egress (read) event rates against one unit's published limits, never below one unit (USD 21.90/month). Ingress events also bill USD 0.028 per million; each family write is one event, and events over 64 KB, which bill as several, are not split. Up to 84 GB of storage per unit is included, so retained data adds no charge. Capture, when enabled, bills USD 0.10 per throughput-unit hour and is not modeled.
* 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, AmazonKinesisFirehose offer: [https://pricing.us-east-1.amazonaws.com/offers/v1.0/aws/AmazonKinesisFirehose/current/us-east-1/index.json](https://pricing.us-east-1.amazonaws.com/offers/v1.0/aws/AmazonKinesisFirehose/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.
* Dynamic partitioning, format conversion, VPC delivery and origin sink charges; transformation-specific compute.
* 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-e70d3da9518fe5f10abaa57aa39c4824d78b4e6e` / `2026-10-22.planning.2`. Curve: `workload-1`.

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

## Data Firehose → OCI Streaming

Origin API: `aws::1.0.0::kinesis::firehose`. Target backend: `oci::1.0.0::streaming`.

### Data Firehose · Billed ingestion

Estimated monthly service charges by Billed ingestion. Adapter hosting and Tensor9 fees are excluded. Source: us-east-1; target: us-ashburn-1 (OCI global price list); currency: USD.

![Data Firehose · Billed ingestion: monthly service charges by Billed ingestion. Exact values are in the following table.](/images/diagrams/service-cost/df23075537e7eb38963828592beb5ca42a8b4efe63cd2ea4413095ad349d0654-light.svg)

![Data Firehose · Billed ingestion: monthly service charges by Billed ingestion. Exact values are in the following table.](/images/diagrams/service-cost/de1687a2522460f21b4309046d9637925cefee37f1662410301f600154a60869-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.

| Billed ingestion (GiB/month) | Kinesis Data Firehose | Target scenario | OCI Streaming | Difference |
| -: | -: | - | -: | -: |
| 0 | 0 | OCI Streaming (one staging copy) | 118.178 | 118.178 |
| 0 | 0 | OCI Streaming (two staging copies) | 236.356 | 236.356 |
| 1 | 0.029 | OCI Streaming (one staging copy) | 118.192742652968036529680365296803652968666716 | 118.163742652968036529680365296803652968666716 |
| 1 | 0.029 | OCI Streaming (two staging copies) | 236.370742652968036529680365296803652968666716 | 236.341742652968036529680365296803652968666716 |
| 10 | 0.29 | OCI Streaming (one staging copy) | 118.32542652968036529680365296803652968666716 | 118.03542652968036529680365296803652968666716 |
| 10 | 0.29 | OCI Streaming (two staging copies) | 236.50342652968036529680365296803652968666716 | 236.21342652968036529680365296803652968666716 |
| 100 | 2.9 | OCI Streaming (one staging copy) | 119.6522452968036529680365296803652968666716 | 116.7522452968036529680365296803652968666716 |
| 100 | 2.9 | OCI Streaming (two staging copies) | 237.8302452968036529680365296803652968666716 | 234.9302452968036529680365296803652968666716 |
| 1000 | 29 | OCI Streaming (one staging copy) | 132.920452968036529680365296803652968666716 | 103.920452968036529680365296803652968666716 |
| 1000 | 29 | OCI Streaming (two staging copies) | 251.098452968036529680365296803652968666716 | 222.098452968036529680365296803652968666716 |
| 10000 | 290 | OCI Streaming (one staging copy) | 366.78052968036529680365296803652968666716 | 76.78052968036529680365296803652968666716 |
| 10000 | 290 | OCI Streaming (two staging copies) | 586.13652968036529680365296803652968666716 | 296.13652968036529680365296803652968666716 |

**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 GiB/month / OCI Streaming (one staging copy) | PlanningAssumption | 0 / 0 | 0 | 2 | 8 | 100 | 0 | `service-adapter-planning-2026-10-22.1` | None reported |
| 0 GiB/month / OCI Streaming (two staging copies) | PlanningAssumption | 0 / 0 | 0 | 2 | 8 | 100 | 0 | `service-adapter-planning-2026-10-22.1` | None reported |
| 1 GiB/month / OCI Streaming (one staging copy) | PlanningAssumption | 0.1596006088280060882800608828006088 / 0.3192012176560121765601217656012176 | 0.0003040011596723925491048778720011596 | 2 | 8 | 100 | 0.000005707762557077625570776255707762557 | `service-adapter-planning-2026-10-22.1` | None reported |
| 1 GiB/month / OCI Streaming (two staging copies) | PlanningAssumption | 0.1596006088280060882800608828006088 / 0.3192012176560121765601217656012176 | 0.0003040011596723925491048778720011596 | 2 | 8 | 100 | 0.000005707762557077625570776255707762557 | `service-adapter-planning-2026-10-22.1` | None reported |
| 10 GiB/month / OCI Streaming (one staging copy) | PlanningAssumption | 1.596006088280060882800608828006088 / 3.192012176560121765601217656012176 | 0.003040011596723925491048778720011596 | 2 | 8 | 100 | 0.00005707762557077625570776255707762557 | `service-adapter-planning-2026-10-22.1` | None reported |
| 10 GiB/month / OCI Streaming (two staging copies) | PlanningAssumption | 1.596006088280060882800608828006088 / 3.192012176560121765601217656012176 | 0.003040011596723925491048778720011596 | 2 | 8 | 100 | 0.00005707762557077625570776255707762557 | `service-adapter-planning-2026-10-22.1` | None reported |
| 100 GiB/month / OCI Streaming (one staging copy) | PlanningAssumption | 15.96006088280060882800608828006088 / 31.92012176560121765601217656012176 | 0.03040011596723925491048778720011596 | 2 | 8 | 100 | 0.0005707762557077625570776255707762557 | `service-adapter-planning-2026-10-22.1` | None reported |
| 100 GiB/month / OCI Streaming (two staging copies) | PlanningAssumption | 15.96006088280060882800608828006088 / 31.92012176560121765601217656012176 | 0.03040011596723925491048778720011596 | 2 | 8 | 100 | 0.0005707762557077625570776255707762557 | `service-adapter-planning-2026-10-22.1` | None reported |
| 1000 GiB/month / OCI Streaming (one staging copy) | PlanningAssumption | 159.6006088280060882800608828006088 / 319.2012176560121765601217656012176 | 0.3040011596723925491048778720011596 | 2 | 8 | 100 | 0.005707762557077625570776255707762557 | `service-adapter-planning-2026-10-22.1` | None reported |
| 1000 GiB/month / OCI Streaming (two staging copies) | PlanningAssumption | 159.6006088280060882800608828006088 / 319.2012176560121765601217656012176 | 0.3040011596723925491048778720011596 | 2 | 8 | 100 | 0.005707762557077625570776255707762557 | `service-adapter-planning-2026-10-22.1` | None reported |
| 10000 GiB/month / OCI Streaming (one staging copy) | PlanningAssumption | 1596.006088280060882800608828006088 / 3192.012176560121765601217656012176 | 3.040011596723925491048778720011596 | 4 | 16 | 100 | 0.05707762557077625570776255707762557 | `service-adapter-planning-2026-10-22.1` | None reported |
| 10000 GiB/month / OCI Streaming (two staging copies) | PlanningAssumption | 1596.006088280060882800608828006088 / 3192.012176560121765601217656012176 | 3.040011596723925491048778720011596 | 4 | 16 | 100 | 0.05707762557077625570776255707762557 | `service-adapter-planning-2026-10-22.1` | None reported |

* 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 |
| - | - | -: | - |
| OCI Streaming (one staging copy) | Origin list price · Billed ingestion | 0.029 | USD/GiB after5-KiB record rounding |
| OCI Streaming (one staging copy) | Representative record size | 1024 | bytes |
| OCI Streaming (one staging copy) | Output bytes / input bytes | 1 | fraction |
| OCI Streaming (one staging copy) | Buffer residence | 60 | seconds |
| OCI Streaming (one staging copy) | Staging metadata per record | 256 | bytes |
| OCI Streaming (one staging copy) | Object sink retention | 30 | days |
| OCI Streaming (one staging copy) | Output object size | 5 | MiB |
| OCI Streaming (one staging copy) | Delivery worker CPU per record | 0.1 | vCPU-ms |
| OCI Streaming (one staging copy) | Target price guess · read | 0 | USD/read |
| OCI Streaming (one staging copy) | Target price guess · write | 0 | USD/write |
| OCI Streaming (one staging copy) | Target price guess · provider operation | 0 | USD/provider operation |
| OCI Streaming (one staging copy) | Target list price · GiB-month | 0.146 | USD/GiB-month |
| OCI Streaming (one staging copy) | Target list price · published GiB | 0.025 | USD/published GiB |
| OCI Streaming (one staging copy) | Target list price · delivered GiB | 0.025 | USD/delivered GiB |
| OCI Streaming (one staging copy) | Target price guess · network GiB | 0 | USD/network GiB |
| OCI Streaming (one staging copy) | Target price guess · replica GiB-month | 0 | USD/replica GiB-month |
| OCI Streaming (one staging copy) | Target price guess · vCPU-hour | 0 | USD/vCPU-hour |
| OCI Streaming (one staging copy) | Target price guess · GiB-hour | 0 | USD/GiB-hour |
| OCI Streaming (one staging copy) | Target price guess · resource-hour | 0 | USD/resource-hour |
| OCI Streaming (one staging copy) | Target price guess · resource-month | 0 | USD/resource-month |
| OCI Streaming (one staging copy) | Target price guess · input token | 0 | USD/input token |
| OCI Streaming (one staging copy) | Target price guess · output token | 0 | USD/output token |
| OCI Streaming (one staging copy) | Target monthly base charge | 0 | USD/month |
| OCI Streaming (one staging copy) | Approximate target service minimum | 0 | USD/month |
| OCI Streaming (one staging copy) | Minimum primary CPU | 2 | vCPU |
| OCI Streaming (one staging copy) | Minimum primary RAM | 8 | GiB |
| OCI Streaming (one staging copy) | Minimum primary disk | 100 | GiB |
| OCI Streaming (one staging copy) | Additional full-price standby copy | 0 | 0 or 1 |
| OCI Streaming (one staging copy) | Allocated share of provisioned cost | 1 | fraction |
| OCI Streaming (one staging copy) | Read/write work per vCPU-second | 1500 | operations/vCPU-second |
| OCI Streaming (one staging copy) | Planning peak / mean work | 2 | multiplier |
| OCI Streaming (one staging copy) | Planning primary CPU utilization | 0.7 | fraction |
| OCI Streaming (one staging copy) | Resident state reserved in RAM | 0.1 | fraction |
| OCI Streaming (one staging copy) | Planning disk utilization | 0.8 | fraction |
| OCI Streaming (one staging copy) | Maintenance and log disk reserve | 20 | GiB |
| OCI Streaming (one staging copy) | Staging database CPU unit-price guess | 0.0413 | USD/vCPU-hour |
| OCI Streaming (one staging copy) | Staging database RAM unit-price guess | 0.007 | USD/GiB-hour |
| OCI Streaming (one staging copy) | Staging database disk unit-price guess | 0.17 | USD/GiB-month |
| OCI Streaming (one staging copy) | Dependent object sink storage price guess | 0.023 | USD/GiB-month |
| OCI Streaming (one staging copy) | Dependent object sink write price guess | 0.000005 | USD/write |
| OCI Streaming (two staging copies) | Origin list price · Billed ingestion | 0.029 | USD/GiB after5-KiB record rounding |
| OCI Streaming (two staging copies) | Representative record size | 1024 | bytes |
| OCI Streaming (two staging copies) | Output bytes / input bytes | 1 | fraction |
| OCI Streaming (two staging copies) | Buffer residence | 60 | seconds |
| OCI Streaming (two staging copies) | Staging metadata per record | 256 | bytes |
| OCI Streaming (two staging copies) | Object sink retention | 30 | days |
| OCI Streaming (two staging copies) | Output object size | 5 | MiB |
| OCI Streaming (two staging copies) | Delivery worker CPU per record | 0.1 | vCPU-ms |
| OCI Streaming (two staging copies) | Target price guess · read | 0 | USD/read |
| OCI Streaming (two staging copies) | Target price guess · write | 0 | USD/write |
| OCI Streaming (two staging copies) | Target price guess · provider operation | 0 | USD/provider operation |
| OCI Streaming (two staging copies) | Target list price · GiB-month | 0.146 | USD/GiB-month |
| OCI Streaming (two staging copies) | Target list price · published GiB | 0.025 | USD/published GiB |
| OCI Streaming (two staging copies) | Target list price · delivered GiB | 0.025 | USD/delivered GiB |
| OCI Streaming (two staging copies) | Target price guess · network GiB | 0 | USD/network GiB |
| OCI Streaming (two staging copies) | Target price guess · replica GiB-month | 0 | USD/replica GiB-month |
| OCI Streaming (two staging copies) | Target price guess · vCPU-hour | 0 | USD/vCPU-hour |
| OCI Streaming (two staging copies) | Target price guess · GiB-hour | 0 | USD/GiB-hour |
| OCI Streaming (two staging copies) | Target price guess · resource-hour | 0 | USD/resource-hour |
| OCI Streaming (two staging copies) | Target price guess · resource-month | 0 | USD/resource-month |
| OCI Streaming (two staging copies) | Target price guess · input token | 0 | USD/input token |
| OCI Streaming (two staging copies) | Target price guess · output token | 0 | USD/output token |
| OCI Streaming (two staging copies) | Target monthly base charge | 0 | USD/month |
| OCI Streaming (two staging copies) | Approximate target service minimum | 0 | USD/month |
| OCI Streaming (two staging copies) | Minimum primary CPU | 2 | vCPU |
| OCI Streaming (two staging copies) | Minimum primary RAM | 8 | GiB |
| OCI Streaming (two staging copies) | Minimum primary disk | 100 | GiB |
| OCI Streaming (two staging copies) | Additional full-price standby copy | 1 | 0 or 1 |
| OCI Streaming (two staging copies) | Allocated share of provisioned cost | 1 | fraction |
| OCI Streaming (two staging copies) | Read/write work per vCPU-second | 1500 | operations/vCPU-second |
| OCI Streaming (two staging copies) | Planning peak / mean work | 2 | multiplier |
| OCI Streaming (two staging copies) | Planning primary CPU utilization | 0.7 | fraction |
| OCI Streaming (two staging copies) | Resident state reserved in RAM | 0.1 | fraction |
| OCI Streaming (two staging copies) | Planning disk utilization | 0.8 | fraction |
| OCI Streaming (two staging copies) | Maintenance and log disk reserve | 20 | GiB |
| OCI Streaming (two staging copies) | Staging database CPU unit-price guess | 0.0413 | USD/vCPU-hour |
| OCI Streaming (two staging copies) | Staging database RAM unit-price guess | 0.007 | USD/GiB-hour |
| OCI Streaming (two staging copies) | Staging database disk unit-price guess | 0.17 | USD/GiB-month |
| OCI Streaming (two staging copies) | Dependent object sink storage price guess | 0.023 | USD/GiB-month |
| OCI Streaming (two staging copies) | Dependent object sink write price guess | 0.000005 | USD/write |

* Billed GiB includes per-record rounding; physical bytes can be much lower for small records. 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-ashburn-1 (OCI global price 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.
* The landing buffer, durable staging, delivery workers and object sink are separate allocations. Primary stored GiB is retained landing payload; staging adds delivery metadata.
* Object sink retention and PUTs are priced separately from the landing backend. Even an object-store landing target needs the explicitly modeled temporary buffer allocation.
* These retention and sink-write assumptions are provisional; a broker-only subtotal does not price the complete pipeline.
* OCI Streaming bills PUT and GET bytes and retained GB-hours, with no partition charge within the default service limits; beyond them OCI expects at least 10 GB/hour of PUT and GET per 50 partitions. Retention defaults to 24 hours, up to 7 days.
* 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, AmazonKinesisFirehose offer: [https://pricing.us-east-1.amazonaws.com/offers/v1.0/aws/AmazonKinesisFirehose/current/us-east-1/index.json](https://pricing.us-east-1.amazonaws.com/offers/v1.0/aws/AmazonKinesisFirehose/current/us-east-1/index.json)
* OCI price list API: [https://apexapps.oracle.com/pls/apex/cetools/api/v1/products/](https://apexapps.oracle.com/pls/apex/cetools/api/v1/products/)

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.
* Dynamic partitioning, format conversion, VPC delivery and origin sink charges; transformation-specific compute.
* 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-58fa05b1b7165c11f9ab9ab5b17c9cfc69e313e3` / `2026-10-22.planning.2`. Curve: `workload-1`.

Sources: [AWS Price List API, AmazonKinesisFirehose offer](https://pricing.us-east-1.amazonaws.com/offers/v1.0/aws/AmazonKinesisFirehose/current/us-east-1/index.json), [OCI price list API](https://apexapps.oracle.com/pls/apex/cetools/api/v1/products/).

## Data Firehose → Pub/Sub

Origin API: `aws::1.0.0::kinesis::firehose`. Target backend: `google::1.0.0::pubsub`.

### Data Firehose · Billed ingestion

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

![Data Firehose · Billed ingestion: monthly service charges by Billed ingestion. Exact values are in the following table.](/images/diagrams/service-cost/a07ed577c75ff7ee18e5b68563bc6a31634c6e84f631ef1bcf5cfc272335effa-light.svg)

![Data Firehose · Billed ingestion: monthly service charges by Billed ingestion. Exact values are in the following table.](/images/diagrams/service-cost/da1ecebaf537c9645085daff8f6c77f59d3f3cbaa26801a016a50b60cb7aa3b9-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.

| Billed ingestion (GiB/month) | Kinesis Data Firehose | Target scenario | Pub/Sub | Difference |
| -: | -: | - | -: | -: |
| 0 | 0 | Pub/Sub (one staging copy) | 118.178 | 118.178 |
| 0 | 0 | Pub/Sub (two staging copies) | 236.356 | 236.356 |
| 1 | 0.029 | Pub/Sub (one staging copy) | 118.19836821917808219178082191780821917871242 | 118.16936821917808219178082191780821917871242 |
| 1 | 0.029 | Pub/Sub (two staging copies) | 236.37636821917808219178082191780821917871242 | 236.34736821917808219178082191780821917871242 |
| 10 | 0.29 | Pub/Sub (one staging copy) | 118.3816821917808219178082191780821917871242 | 118.0916821917808219178082191780821917871242 |
| 10 | 0.29 | Pub/Sub (two staging copies) | 236.5596821917808219178082191780821917871242 | 236.2696821917808219178082191780821917871242 |
| 100 | 2.9 | Pub/Sub (one staging copy) | 120.214801917808219178082191780821917871242 | 117.314801917808219178082191780821917871242 |
| 100 | 2.9 | Pub/Sub (two staging copies) | 238.392801917808219178082191780821917871242 | 235.492801917808219178082191780821917871242 |
| 1000 | 29 | Pub/Sub (one staging copy) | 138.54601917808219178082191780821917871242 | 109.54601917808219178082191780821917871242 |
| 1000 | 29 | Pub/Sub (two staging copies) | 256.72401917808219178082191780821917871242 | 227.72401917808219178082191780821917871242 |
| 10000 | 290 | Pub/Sub (one staging copy) | 423.0361917808219178082191780821917871242 | 133.0361917808219178082191780821917871242 |
| 10000 | 290 | Pub/Sub (two staging copies) | 642.3921917808219178082191780821917871242 | 352.3921917808219178082191780821917871242 |

**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 GiB/month / Pub/Sub (one staging copy) | PlanningAssumption | 0 / 0 | 0 | 2 | 8 | 100 | 0 | `service-adapter-planning-2026-10-22.1` | None reported |
| 0 GiB/month / Pub/Sub (two staging copies) | PlanningAssumption | 0 / 0 | 0 | 2 | 8 | 100 | 0 | `service-adapter-planning-2026-10-22.1` | None reported |
| 1 GiB/month / Pub/Sub (one staging copy) | PlanningAssumption | 0.1596006088280060882800608828006088 / 0.3192012176560121765601217656012176 | 0.0003040011596723925491048778720011596 | 2 | 8 | 100 | 0.000005707762557077625570776255707762557 | `service-adapter-planning-2026-10-22.1` | None reported |
| 1 GiB/month / Pub/Sub (two staging copies) | PlanningAssumption | 0.1596006088280060882800608828006088 / 0.3192012176560121765601217656012176 | 0.0003040011596723925491048778720011596 | 2 | 8 | 100 | 0.000005707762557077625570776255707762557 | `service-adapter-planning-2026-10-22.1` | None reported |
| 10 GiB/month / Pub/Sub (one staging copy) | PlanningAssumption | 1.596006088280060882800608828006088 / 3.192012176560121765601217656012176 | 0.003040011596723925491048778720011596 | 2 | 8 | 100 | 0.00005707762557077625570776255707762557 | `service-adapter-planning-2026-10-22.1` | None reported |
| 10 GiB/month / Pub/Sub (two staging copies) | PlanningAssumption | 1.596006088280060882800608828006088 / 3.192012176560121765601217656012176 | 0.003040011596723925491048778720011596 | 2 | 8 | 100 | 0.00005707762557077625570776255707762557 | `service-adapter-planning-2026-10-22.1` | None reported |
| 100 GiB/month / Pub/Sub (one staging copy) | PlanningAssumption | 15.96006088280060882800608828006088 / 31.92012176560121765601217656012176 | 0.03040011596723925491048778720011596 | 2 | 8 | 100 | 0.0005707762557077625570776255707762557 | `service-adapter-planning-2026-10-22.1` | None reported |
| 100 GiB/month / Pub/Sub (two staging copies) | PlanningAssumption | 15.96006088280060882800608828006088 / 31.92012176560121765601217656012176 | 0.03040011596723925491048778720011596 | 2 | 8 | 100 | 0.0005707762557077625570776255707762557 | `service-adapter-planning-2026-10-22.1` | None reported |
| 1000 GiB/month / Pub/Sub (one staging copy) | PlanningAssumption | 159.6006088280060882800608828006088 / 319.2012176560121765601217656012176 | 0.3040011596723925491048778720011596 | 2 | 8 | 100 | 0.005707762557077625570776255707762557 | `service-adapter-planning-2026-10-22.1` | None reported |
| 1000 GiB/month / Pub/Sub (two staging copies) | PlanningAssumption | 159.6006088280060882800608828006088 / 319.2012176560121765601217656012176 | 0.3040011596723925491048778720011596 | 2 | 8 | 100 | 0.005707762557077625570776255707762557 | `service-adapter-planning-2026-10-22.1` | None reported |
| 10000 GiB/month / Pub/Sub (one staging copy) | PlanningAssumption | 1596.006088280060882800608828006088 / 3192.012176560121765601217656012176 | 3.040011596723925491048778720011596 | 4 | 16 | 100 | 0.05707762557077625570776255707762557 | `service-adapter-planning-2026-10-22.1` | None reported |
| 10000 GiB/month / Pub/Sub (two staging copies) | PlanningAssumption | 1596.006088280060882800608828006088 / 3192.012176560121765601217656012176 | 3.040011596723925491048778720011596 | 4 | 16 | 100 | 0.05707762557077625570776255707762557 | `service-adapter-planning-2026-10-22.1` | None reported |

* 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 |
| - | - | -: | - |
| Pub/Sub (one staging copy) | Origin list price · Billed ingestion | 0.029 | USD/GiB after5-KiB record rounding |
| Pub/Sub (one staging copy) | Representative record size | 1024 | bytes |
| Pub/Sub (one staging copy) | Output bytes / input bytes | 1 | fraction |
| Pub/Sub (one staging copy) | Buffer residence | 60 | seconds |
| Pub/Sub (one staging copy) | Staging metadata per record | 256 | bytes |
| Pub/Sub (one staging copy) | Object sink retention | 30 | days |
| Pub/Sub (one staging copy) | Output object size | 5 | MiB |
| Pub/Sub (one staging copy) | Delivery worker CPU per record | 0.1 | vCPU-ms |
| Pub/Sub (one staging copy) | Target price guess · read | 0 | USD/read |
| Pub/Sub (one staging copy) | Target price guess · write | 0 | USD/write |
| Pub/Sub (one staging copy) | Target price guess · provider operation | 0 | USD/provider operation |
| Pub/Sub (one staging copy) | Target list price · GiB-month | 0.27 | USD/GiB-month |
| Pub/Sub (one staging copy) | Target list price · published GiB | 0.0390625 | USD/published GiB |
| Pub/Sub (one staging copy) | Target list price · delivered GiB | 0.0390625 | USD/delivered GiB |
| Pub/Sub (one staging copy) | Target price guess · network GiB | 0 | USD/network GiB |
| Pub/Sub (one staging copy) | Target price guess · replica GiB-month | 0 | USD/replica GiB-month |
| Pub/Sub (one staging copy) | Target price guess · vCPU-hour | 0 | USD/vCPU-hour |
| Pub/Sub (one staging copy) | Target price guess · GiB-hour | 0 | USD/GiB-hour |
| Pub/Sub (one staging copy) | Target price guess · resource-hour | 0 | USD/resource-hour |
| Pub/Sub (one staging copy) | Target price guess · resource-month | 0 | USD/resource-month |
| Pub/Sub (one staging copy) | Target price guess · input token | 0 | USD/input token |
| Pub/Sub (one staging copy) | Target price guess · output token | 0 | USD/output token |
| Pub/Sub (one staging copy) | Target monthly base charge | 0 | USD/month |
| Pub/Sub (one staging copy) | Approximate target service minimum | 0 | USD/month |
| Pub/Sub (one staging copy) | Minimum primary CPU | 2 | vCPU |
| Pub/Sub (one staging copy) | Minimum primary RAM | 8 | GiB |
| Pub/Sub (one staging copy) | Minimum primary disk | 100 | GiB |
| Pub/Sub (one staging copy) | Additional full-price standby copy | 0 | 0 or 1 |
| Pub/Sub (one staging copy) | Allocated share of provisioned cost | 1 | fraction |
| Pub/Sub (one staging copy) | Read/write work per vCPU-second | 1500 | operations/vCPU-second |
| Pub/Sub (one staging copy) | Planning peak / mean work | 2 | multiplier |
| Pub/Sub (one staging copy) | Planning primary CPU utilization | 0.7 | fraction |
| Pub/Sub (one staging copy) | Resident state reserved in RAM | 0.1 | fraction |
| Pub/Sub (one staging copy) | Planning disk utilization | 0.8 | fraction |
| Pub/Sub (one staging copy) | Maintenance and log disk reserve | 20 | GiB |
| Pub/Sub (one staging copy) | Staging database CPU unit-price guess | 0.0413 | USD/vCPU-hour |
| Pub/Sub (one staging copy) | Staging database RAM unit-price guess | 0.007 | USD/GiB-hour |
| Pub/Sub (one staging copy) | Staging database disk unit-price guess | 0.17 | USD/GiB-month |
| Pub/Sub (one staging copy) | Dependent object sink storage price guess | 0.023 | USD/GiB-month |
| Pub/Sub (one staging copy) | Dependent object sink write price guess | 0.000005 | USD/write |
| Pub/Sub (two staging copies) | Origin list price · Billed ingestion | 0.029 | USD/GiB after5-KiB record rounding |
| Pub/Sub (two staging copies) | Representative record size | 1024 | bytes |
| Pub/Sub (two staging copies) | Output bytes / input bytes | 1 | fraction |
| Pub/Sub (two staging copies) | Buffer residence | 60 | seconds |
| Pub/Sub (two staging copies) | Staging metadata per record | 256 | bytes |
| Pub/Sub (two staging copies) | Object sink retention | 30 | days |
| Pub/Sub (two staging copies) | Output object size | 5 | MiB |
| Pub/Sub (two staging copies) | Delivery worker CPU per record | 0.1 | vCPU-ms |
| Pub/Sub (two staging copies) | Target price guess · read | 0 | USD/read |
| Pub/Sub (two staging copies) | Target price guess · write | 0 | USD/write |
| Pub/Sub (two staging copies) | Target price guess · provider operation | 0 | USD/provider operation |
| Pub/Sub (two staging copies) | Target list price · GiB-month | 0.27 | USD/GiB-month |
| Pub/Sub (two staging copies) | Target list price · published GiB | 0.0390625 | USD/published GiB |
| Pub/Sub (two staging copies) | Target list price · delivered GiB | 0.0390625 | USD/delivered GiB |
| Pub/Sub (two staging copies) | Target price guess · network GiB | 0 | USD/network GiB |
| Pub/Sub (two staging copies) | Target price guess · replica GiB-month | 0 | USD/replica GiB-month |
| Pub/Sub (two staging copies) | Target price guess · vCPU-hour | 0 | USD/vCPU-hour |
| Pub/Sub (two staging copies) | Target price guess · GiB-hour | 0 | USD/GiB-hour |
| Pub/Sub (two staging copies) | Target price guess · resource-hour | 0 | USD/resource-hour |
| Pub/Sub (two staging copies) | Target price guess · resource-month | 0 | USD/resource-month |
| Pub/Sub (two staging copies) | Target price guess · input token | 0 | USD/input token |
| Pub/Sub (two staging copies) | Target price guess · output token | 0 | USD/output token |
| Pub/Sub (two staging copies) | Target monthly base charge | 0 | USD/month |
| Pub/Sub (two staging copies) | Approximate target service minimum | 0 | USD/month |
| Pub/Sub (two staging copies) | Minimum primary CPU | 2 | vCPU |
| Pub/Sub (two staging copies) | Minimum primary RAM | 8 | GiB |
| Pub/Sub (two staging copies) | Minimum primary disk | 100 | GiB |
| Pub/Sub (two staging copies) | Additional full-price standby copy | 1 | 0 or 1 |
| Pub/Sub (two staging copies) | Allocated share of provisioned cost | 1 | fraction |
| Pub/Sub (two staging copies) | Read/write work per vCPU-second | 1500 | operations/vCPU-second |
| Pub/Sub (two staging copies) | Planning peak / mean work | 2 | multiplier |
| Pub/Sub (two staging copies) | Planning primary CPU utilization | 0.7 | fraction |
| Pub/Sub (two staging copies) | Resident state reserved in RAM | 0.1 | fraction |
| Pub/Sub (two staging copies) | Planning disk utilization | 0.8 | fraction |
| Pub/Sub (two staging copies) | Maintenance and log disk reserve | 20 | GiB |
| Pub/Sub (two staging copies) | Staging database CPU unit-price guess | 0.0413 | USD/vCPU-hour |
| Pub/Sub (two staging copies) | Staging database RAM unit-price guess | 0.007 | USD/GiB-hour |
| Pub/Sub (two staging copies) | Staging database disk unit-price guess | 0.17 | USD/GiB-month |
| Pub/Sub (two staging copies) | Dependent object sink storage price guess | 0.023 | USD/GiB-month |
| Pub/Sub (two staging copies) | Dependent object sink write price guess | 0.000005 | USD/write |

* Billed GiB includes per-record rounding; physical bytes can be much lower for small records. 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.
* The landing buffer, durable staging, delivery workers and object sink are separate allocations. Primary stored GiB is retained landing payload; staging adds delivery metadata.
* Object sink retention and PUTs are priced separately from the landing backend. Even an object-store landing target needs the explicitly modeled temporary buffer allocation.
* These retention and sink-write assumptions are provisional; a broker-only subtotal does not price the complete pipeline.
* Google Pub/Sub bills published and delivered bytes at the Message Delivery Basic rate and retained messages per GiB-month. Each request is billed at no less than 1,000 bytes; the family's batching and delivery assumptions must represent that. The first 10 GiB of combined throughput a month is free per billing account and is not applied. BigQuery and Cloud Storage subscriptions bill USD 50 per TiB instead. Unacknowledged messages younger than one day bill no storage.
* 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, AmazonKinesisFirehose offer: [https://pricing.us-east-1.amazonaws.com/offers/v1.0/aws/AmazonKinesisFirehose/current/us-east-1/index.json](https://pricing.us-east-1.amazonaws.com/offers/v1.0/aws/AmazonKinesisFirehose/current/us-east-1/index.json)
* Pub/Sub pricing: [https://cloud.google.com/pubsub/pricing](https://cloud.google.com/pubsub/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.
* Dynamic partitioning, format conversion, VPC delivery and origin sink charges; transformation-specific compute.
* 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-8e313c75fd8bde1c00ef6902b0b9b1fc60233239` / `2026-10-22.planning.2`. Curve: `workload-1`.

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

## Data Firehose → Strimzi Kafka

Origin API: `aws::1.0.0::kinesis::firehose`. Target backend: `strimzi::1.0.0::kafka`.

### Data Firehose · Billed ingestion

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

![Data Firehose · Billed ingestion: monthly service charges by Billed ingestion. Exact values are in the following table.](/images/diagrams/service-cost/37760a4ae8740caed343cf6ac9bc92331eeb183a3d0624654cd76c89eaf2d532-light.svg)

![Data Firehose · Billed ingestion: monthly service charges by Billed ingestion. Exact values are in the following table.](/images/diagrams/service-cost/8021a2c9f2c245ab86ed004176e2e798d4287e100384e9f5352ddbcce50a0a68-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.

| Billed ingestion (GiB/month) | Kinesis Data Firehose | Target scenario | Strimzi Kafka | Difference |
| -: | -: | - | -: | -: |
| 0 | 0 | Strimzi Kafka (one copy) | 80.89614 | 80.89614 |
| 0 | 0 | Strimzi Kafka (two copies) | 161.79228 | 161.79228 |
| 1 | 0.029 | Strimzi Kafka (one copy) | 80.900881986301369863013698630136986302 | 80.871881986301369863013698630136986302 |
| 1 | 0.029 | Strimzi Kafka (two copies) | 161.797021986301369863013698630136986302 | 161.768021986301369863013698630136986302 |
| 10 | 0.29 | Strimzi Kafka (one copy) | 80.94355986301369863013698630136986302 | 80.65355986301369863013698630136986302 |
| 10 | 0.29 | Strimzi Kafka (two copies) | 161.83969986301369863013698630136986302 | 161.54969986301369863013698630136986302 |
| 100 | 2.9 | Strimzi Kafka (one copy) | 81.3703186301369863013698630136986302 | 78.4703186301369863013698630136986302 |
| 100 | 2.9 | Strimzi Kafka (two copies) | 162.2664586301369863013698630136986302 | 159.3664586301369863013698630136986302 |
| 1000 | 29 | Strimzi Kafka (one copy) | 85.637926301369863013698630136986302 | 56.637926301369863013698630136986302 |
| 1000 | 29 | Strimzi Kafka (two copies) | 166.534066301369863013698630136986302 | 137.534066301369863013698630136986302 |
| 10000 | 290 | Strimzi Kafka (one copy) | 128.31400301369863013698630136986302 | -161.68599698630136986301369863013698 |
| 10000 | 290 | Strimzi Kafka (two copies) | 209.21014301369863013698630136986302 | -80.78985698630136986301369863013698 |

**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 GiB/month / Strimzi Kafka (one copy) | PlanningAssumption | 0 / 0 | 0 | 2 | 8 | 100 | 0 | `service-adapter-planning-2026-10-22.1` | None reported |
| 0 GiB/month / Strimzi Kafka (two copies) | PlanningAssumption | 0 / 0 | 0 | 2 | 8 | 100 | 0 | `service-adapter-planning-2026-10-22.1` | None reported |
| 1 GiB/month / Strimzi Kafka (one copy) | PlanningAssumption | 0.0002532724505327245053272450532724505 / 0.000506544901065449010654490106544901 | 0.0000506544901065449010654490106544901 | 2 | 8 | 100 | 0.000004566210045662100456621004566210046 | `service-adapter-planning-2026-10-22.1` | None reported |
| 1 GiB/month / Strimzi Kafka (two copies) | PlanningAssumption | 0.0002532724505327245053272450532724505 / 0.000506544901065449010654490106544901 | 0.0000506544901065449010654490106544901 | 2 | 8 | 100 | 0.000004566210045662100456621004566210046 | `service-adapter-planning-2026-10-22.1` | None reported |
| 10 GiB/month / Strimzi Kafka (one copy) | PlanningAssumption | 0.002532724505327245053272450532724505 / 0.00506544901065449010654490106544901 | 0.000506544901065449010654490106544901 | 2 | 8 | 100 | 0.00004566210045662100456621004566210046 | `service-adapter-planning-2026-10-22.1` | None reported |
| 10 GiB/month / Strimzi Kafka (two copies) | PlanningAssumption | 0.002532724505327245053272450532724505 / 0.00506544901065449010654490106544901 | 0.000506544901065449010654490106544901 | 2 | 8 | 100 | 0.00004566210045662100456621004566210046 | `service-adapter-planning-2026-10-22.1` | None reported |
| 100 GiB/month / Strimzi Kafka (one copy) | PlanningAssumption | 0.02532724505327245053272450532724505 / 0.0506544901065449010654490106544901 | 0.00506544901065449010654490106544901 | 2 | 8 | 100 | 0.0004566210045662100456621004566210046 | `service-adapter-planning-2026-10-22.1` | None reported |
| 100 GiB/month / Strimzi Kafka (two copies) | PlanningAssumption | 0.02532724505327245053272450532724505 / 0.0506544901065449010654490106544901 | 0.00506544901065449010654490106544901 | 2 | 8 | 100 | 0.0004566210045662100456621004566210046 | `service-adapter-planning-2026-10-22.1` | None reported |
| 1000 GiB/month / Strimzi Kafka (one copy) | PlanningAssumption | 0.2532724505327245053272450532724505 / 0.506544901065449010654490106544901 | 0.0506544901065449010654490106544901 | 2 | 8 | 100 | 0.004566210045662100456621004566210046 | `service-adapter-planning-2026-10-22.1` | None reported |
| 1000 GiB/month / Strimzi Kafka (two copies) | PlanningAssumption | 0.2532724505327245053272450532724505 / 0.506544901065449010654490106544901 | 0.0506544901065449010654490106544901 | 2 | 8 | 100 | 0.004566210045662100456621004566210046 | `service-adapter-planning-2026-10-22.1` | None reported |
| 10000 GiB/month / Strimzi Kafka (one copy) | PlanningAssumption | 2.532724505327245053272450532724505 / 5.06544901065449010654490106544901 | 0.506544901065449010654490106544901 | 2 | 8 | 100 | 0.04566210045662100456621004566210046 | `service-adapter-planning-2026-10-22.1` | None reported |
| 10000 GiB/month / Strimzi Kafka (two copies) | PlanningAssumption | 2.532724505327245053272450532724505 / 5.06544901065449010654490106544901 | 0.506544901065449010654490106544901 | 2 | 8 | 100 | 0.04566210045662100456621004566210046 | `service-adapter-planning-2026-10-22.1` | None reported |

* 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.
* Broker CPU follows write-equivalent bytes; the row-store operations coefficient is not applied.
* Copies and allocation fractions change cost only; they do not increase modeled primary capacity.

**Curve assumptions**

| Target scenario | Assumption | Value | Unit |
| - | - | -: | - |
| Strimzi Kafka (one copy) | Origin list price · Billed ingestion | 0.029 | USD/GiB after5-KiB record rounding |
| Strimzi Kafka (one copy) | Representative record size | 1024 | bytes |
| Strimzi Kafka (one copy) | Output bytes / input bytes | 1 | fraction |
| Strimzi Kafka (one copy) | Buffer residence | 60 | seconds |
| Strimzi Kafka (one copy) | Staging metadata per record | 256 | bytes |
| Strimzi Kafka (one copy) | Object sink retention | 30 | days |
| Strimzi Kafka (one copy) | Output object size | 5 | MiB |
| Strimzi Kafka (one copy) | Delivery worker CPU per record | 0.1 | vCPU-ms |
| Strimzi Kafka (one copy) | Target price guess · read | 0 | USD/read |
| Strimzi Kafka (one copy) | Target price guess · write | 0 | USD/write |
| Strimzi Kafka (one copy) | Target price guess · provider operation | 0 | USD/provider operation |
| Strimzi Kafka (one copy) | Target list price · GiB-month | 0.1 | USD/GiB-month |
| Strimzi Kafka (one copy) | Target price guess · published GiB | 0 | USD/published GiB |
| Strimzi Kafka (one copy) | Target price guess · delivered GiB | 0 | USD/delivered GiB |
| Strimzi Kafka (one copy) | Target list price · network GiB | 0.12 | USD/network GiB |
| Strimzi Kafka (one copy) | Target price guess · replica GiB-month | 0 | USD/replica GiB-month |
| Strimzi Kafka (one copy) | Target list price · vCPU-hour | 0.031611 | USD/vCPU-hour |
| Strimzi Kafka (one copy) | Target list price · GiB-hour | 0.004237 | USD/GiB-hour |
| Strimzi Kafka (one copy) | Target price guess · resource-hour | 0 | USD/resource-hour |
| Strimzi Kafka (one copy) | Target price guess · resource-month | 0 | USD/resource-month |
| Strimzi Kafka (one copy) | Target price guess · input token | 0 | USD/input token |
| Strimzi Kafka (one copy) | Target price guess · output token | 0 | USD/output token |
| Strimzi Kafka (one copy) | Target monthly base charge | 0 | USD/month |
| Strimzi Kafka (one copy) | Approximate target service minimum | 0 | USD/month |
| Strimzi Kafka (one copy) | Minimum primary CPU | 2 | vCPU |
| Strimzi Kafka (one copy) | Minimum primary RAM | 8 | GiB |
| Strimzi Kafka (one copy) | Minimum primary disk | 100 | GiB |
| Strimzi Kafka (one copy) | Additional full-price standby copy | 0 | 0 or 1 |
| Strimzi Kafka (one copy) | Allocated share of provisioned cost | 1 | fraction |
| Strimzi Kafka (one copy) | Read/write work per vCPU-second | 1500 | operations/vCPU-second |
| Strimzi Kafka (one copy) | Planning peak / mean work | 2 | multiplier |
| Strimzi Kafka (one copy) | Planning primary CPU utilization | 0.5 | fraction |
| Strimzi Kafka (one copy) | Resident state reserved in RAM | 0.1 | fraction |
| Strimzi Kafka (one copy) | Planning disk utilization | 0.8 | fraction |
| Strimzi Kafka (one copy) | Maintenance and log disk reserve | 20 | GiB |
| Strimzi Kafka (one copy) | Staging database CPU unit-price guess | 0.0413 | USD/vCPU-hour |
| Strimzi Kafka (one copy) | Staging database RAM unit-price guess | 0.007 | USD/GiB-hour |
| Strimzi Kafka (one copy) | Staging database disk unit-price guess | 0.17 | USD/GiB-month |
| Strimzi Kafka (one copy) | Broker write-equivalent throughput per vCPU | 20 | MiB/vCPU-second |
| Strimzi Kafka (one copy) | Broker replicas per written byte | 3 | replicas |
| Strimzi Kafka (one copy) | Dependent object sink storage price guess | 0.023 | USD/GiB-month |
| Strimzi Kafka (one copy) | Dependent object sink write price guess | 0.000005 | USD/write |
| Strimzi Kafka (two copies) | Origin list price · Billed ingestion | 0.029 | USD/GiB after5-KiB record rounding |
| Strimzi Kafka (two copies) | Representative record size | 1024 | bytes |
| Strimzi Kafka (two copies) | Output bytes / input bytes | 1 | fraction |
| Strimzi Kafka (two copies) | Buffer residence | 60 | seconds |
| Strimzi Kafka (two copies) | Staging metadata per record | 256 | bytes |
| Strimzi Kafka (two copies) | Object sink retention | 30 | days |
| Strimzi Kafka (two copies) | Output object size | 5 | MiB |
| Strimzi Kafka (two copies) | Delivery worker CPU per record | 0.1 | vCPU-ms |
| Strimzi Kafka (two copies) | Target price guess · read | 0 | USD/read |
| Strimzi Kafka (two copies) | Target price guess · write | 0 | USD/write |
| Strimzi Kafka (two copies) | Target price guess · provider operation | 0 | USD/provider operation |
| Strimzi Kafka (two copies) | Target list price · GiB-month | 0.1 | USD/GiB-month |
| Strimzi Kafka (two copies) | Target price guess · published GiB | 0 | USD/published GiB |
| Strimzi Kafka (two copies) | Target price guess · delivered GiB | 0 | USD/delivered GiB |
| Strimzi Kafka (two copies) | Target list price · network GiB | 0.12 | USD/network GiB |
| Strimzi Kafka (two copies) | Target price guess · replica GiB-month | 0 | USD/replica GiB-month |
| Strimzi Kafka (two copies) | Target list price · vCPU-hour | 0.031611 | USD/vCPU-hour |
| Strimzi Kafka (two copies) | Target list price · GiB-hour | 0.004237 | USD/GiB-hour |
| Strimzi Kafka (two copies) | Target price guess · resource-hour | 0 | USD/resource-hour |
| Strimzi Kafka (two copies) | Target price guess · resource-month | 0 | USD/resource-month |
| Strimzi Kafka (two copies) | Target price guess · input token | 0 | USD/input token |
| Strimzi Kafka (two copies) | Target price guess · output token | 0 | USD/output token |
| Strimzi Kafka (two copies) | Target monthly base charge | 0 | USD/month |
| Strimzi Kafka (two copies) | Approximate target service minimum | 0 | USD/month |
| Strimzi Kafka (two copies) | Minimum primary CPU | 2 | vCPU |
| Strimzi Kafka (two copies) | Minimum primary RAM | 8 | GiB |
| Strimzi Kafka (two copies) | Minimum primary disk | 100 | GiB |
| Strimzi Kafka (two copies) | Additional full-price standby copy | 1 | 0 or 1 |
| Strimzi Kafka (two copies) | Allocated share of provisioned cost | 1 | fraction |
| Strimzi Kafka (two copies) | Read/write work per vCPU-second | 1500 | operations/vCPU-second |
| Strimzi Kafka (two copies) | Planning peak / mean work | 2 | multiplier |
| Strimzi Kafka (two copies) | Planning primary CPU utilization | 0.5 | fraction |
| Strimzi Kafka (two copies) | Resident state reserved in RAM | 0.1 | fraction |
| Strimzi Kafka (two copies) | Planning disk utilization | 0.8 | fraction |
| Strimzi Kafka (two copies) | Maintenance and log disk reserve | 20 | GiB |
| Strimzi Kafka (two copies) | Staging database CPU unit-price guess | 0.0413 | USD/vCPU-hour |
| Strimzi Kafka (two copies) | Staging database RAM unit-price guess | 0.007 | USD/GiB-hour |
| Strimzi Kafka (two copies) | Staging database disk unit-price guess | 0.17 | USD/GiB-month |
| Strimzi Kafka (two copies) | Broker write-equivalent throughput per vCPU | 20 | MiB/vCPU-second |
| Strimzi Kafka (two copies) | Broker replicas per written byte | 3 | replicas |
| Strimzi Kafka (two copies) | Dependent object sink storage price guess | 0.023 | USD/GiB-month |
| Strimzi Kafka (two copies) | Dependent object sink write price guess | 0.000005 | USD/write |

* Billed GiB includes per-record rounding; physical bytes can be much lower for small records. 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.
* The landing buffer, durable staging, delivery workers and object sink are separate allocations. Primary stored GiB is retained landing payload; staging adds delivery metadata.
* Object sink retention and PUTs are priced separately from the landing backend. Even an object-store landing target needs the explicitly modeled temporary buffer allocation.
* These retention and sink-write assumptions are provisional; a broker-only subtotal does not price the complete pipeline.
* Self-hosted target: Strimzi and Apache Kafka (Apache-2.0, [https://github.com/strimzi/strimzi-kafka-operator/blob/main/LICENSE](https://github.com/strimzi/strimzi-kafka-operator/blob/main/LICENSE)); Kafka replication multiplies disk beyond the copies this model bills. 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.
* Broker CPU follows write-equivalent bytes; the row-store operations coefficient is not applied.
* Copies and allocation fractions change cost only; they do not increase modeled primary capacity.
* AWS Price List API, AmazonKinesisFirehose offer: [https://pricing.us-east-1.amazonaws.com/offers/v1.0/aws/AmazonKinesisFirehose/current/us-east-1/index.json](https://pricing.us-east-1.amazonaws.com/offers/v1.0/aws/AmazonKinesisFirehose/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.
* Dynamic partitioning, format conversion, VPC delivery and origin sink charges; transformation-specific compute.
* 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-6c87f4e94978e5b55e2f427442b2d980d92de89e` / `2026-10-22.planning.2`. Curve: `workload-1`.

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

## Kinesis Data Streams → Azure Event Hubs

Origin API: `aws::1.0.0::kinesis::stream`. Target backend: `azure::1.0.0::eventhubs`.

### Kinesis Data Streams · PUT payload units

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

![Kinesis Data Streams · PUT payload units: monthly service charges by PUT payload units. Exact values are in the following table.](/images/diagrams/service-cost/2e67cd1c6a6b89cfa153c139142d41fef9716c7093326733f06addb0c133f42c-light.svg)

![Kinesis Data Streams · PUT payload units: monthly service charges by PUT payload units. Exact values are in the following table.](/images/diagrams/service-cost/963e7d6c643dc806533c9993643b62fdba1f942d1e1f98167790e8f7f8680966-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.

| PUT payload units (per second) | Kinesis Data Stream | Target scenario | Azure Event Hubs | Difference |
| -: | -: | - | -: | -: |
| 0 | 0 | Azure Event Hubs | 21.9 | 21.9 |
| 1 | 0.036792 | Azure Event Hubs | 21.973584 | 21.936792 |
| 10 | 0.36792 | Azure Event Hubs | 22.63584 | 22.26792 |
| 100 | 3.6792 | Azure Event Hubs | 29.2584 | 25.5792 |
| 1000 | 36.792 | Azure Event Hubs | 139.284 | 102.492 |
| 10000 | 367.92 | Azure Event Hubs | 1195.74 | 827.82 |

**Curve assumptions**

| Target scenario | Assumption | Value | Unit |
| - | - | -: | - |
| Azure Event Hubs | Origin list price · Provisioned shard-hours | 0.015 | USD/shard-hour |
| Azure Event Hubs | Origin list price · PUT payload units | 0.000000014 | USD/25-KiB record units |
| Azure Event Hubs | Representative record size | 1024 | bytes |
| Azure Event Hubs | Full-stream consumer copies | 1 | copies |
| Azure Event Hubs | Target retained history | 24 | hours |
| Azure Event Hubs | Target record envelope | 64 | bytes/record |
| Azure Event Hubs | Target price guess · read | 0 | USD/read |
| Azure Event Hubs | Target list price · write | 0.000000028 | USD/write |
| Azure Event Hubs | Target price guess · provider operation | 0 | USD/provider operation |
| Azure Event Hubs | Target price guess · GiB-month | 0 | USD/GiB-month |
| Azure Event Hubs | Target price guess · published GiB | 0 | USD/published GiB |
| Azure Event Hubs | Target price guess · delivered GiB | 0 | USD/delivered GiB |
| Azure Event Hubs | Target price guess · network GiB | 0 | USD/network GiB |
| Azure Event Hubs | Target price guess · replica GiB-month | 0 | USD/replica GiB-month |
| Azure Event Hubs | Target price guess · vCPU-hour | 0 | USD/vCPU-hour |
| Azure Event Hubs | Target price guess · GiB-hour | 0 | USD/GiB-hour |
| Azure Event Hubs | Target list price · resource-hour | 0.03 | USD/resource-hour |
| Azure Event Hubs | Target price guess · resource-month | 0 | USD/resource-month |
| Azure Event Hubs | Target price guess · input token | 0 | USD/input token |
| Azure Event Hubs | Target price guess · output token | 0 | USD/output token |
| Azure Event Hubs | Target monthly base charge | 0 | USD/month |
| Azure Event Hubs | Approximate target service minimum | 0 | USD/month |
| Azure Event Hubs | Minimum primary CPU | 2 | vCPU |
| Azure Event Hubs | Minimum primary RAM | 8 | GiB |
| Azure Event Hubs | Minimum primary disk | 100 | GiB |
| Azure Event Hubs | Additional full-price standby copy | 0 | 0 or 1 |
| Azure Event Hubs | Allocated share of provisioned cost | 1 | fraction |
| Azure Event Hubs | Read/write work per vCPU-second | 1500 | operations/vCPU-second |
| Azure Event Hubs | Planning peak / mean work | 2 | multiplier |
| Azure Event Hubs | Planning primary CPU utilization | 0.7 | fraction |
| Azure Event Hubs | Resident state reserved in RAM | 0.1 | fraction |
| Azure Event Hubs | Planning disk utilization | 0.8 | fraction |
| Azure Event Hubs | Maintenance and log disk reserve | 20 | GiB |
| Azure Event Hubs | Staging database CPU unit-price guess | 0.0413 | USD/vCPU-hour |
| Azure Event Hubs | Staging database RAM unit-price guess | 0.007 | USD/GiB-hour |
| Azure Event Hubs | Staging database disk unit-price guess | 0.17 | USD/GiB-month |
| Azure Event Hubs | Dependent object sink storage price guess | 0.023 | USD/GiB-month |
| Azure Event Hubs | Dependent object sink write price guess | 0.000005 | USD/write |

* Payload size determines physical record and byte throughput. 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.
* Retention and consumer copies drive physical work. Origin shard-hours are not proof that a target broker or database meets the same throughput.
* A KCL DynamoDB lease table is a separate workload; enhanced fan-out and extended retention origin tariffs are outside this provisioned profile.
* Azure Event Hubs Standard bills throughput-unit hours, sized here from the family's published and delivered bytes and its ingress (write) and egress (read) event rates against one unit's published limits, never below one unit (USD 21.90/month). Ingress events also bill USD 0.028 per million; each family write is one event, and events over 64 KB, which bill as several, are not split. Up to 84 GB of storage per unit is included, so retained data adds no charge. Capture, when enabled, bills USD 0.10 per throughput-unit hour and is not modeled.
* AWS Price List API, AmazonKinesis offer: [https://pricing.us-east-1.amazonaws.com/offers/v1.0/aws/AmazonKinesis/current/us-east-1/index.json](https://pricing.us-east-1.amazonaws.com/offers/v1.0/aws/AmazonKinesis/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-50b2735e718e9d039b897f1878bcc337362c365f` / `2026-10-22.planning.2`. Curve: `workload-1`.

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

### Kinesis Data Streams · Origin provisioned shards

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

![Kinesis Data Streams · Origin provisioned shards: monthly service charges by Origin provisioned shards. Exact values are in the following table.](/images/diagrams/service-cost/4114789db9ece618d495e57ea3187d0365cd0f9618f98bf1eebebb89a81453c2-light.svg)

![Kinesis Data Streams · Origin provisioned shards: monthly service charges by Origin provisioned shards. Exact values are in the following table.](/images/diagrams/service-cost/b9c2c71a22c2775346973c995f85f9f0fde19d05cb33db944a2d000d24033ea1-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.

| Origin provisioned shards (shard-hours/month) | Kinesis Data Stream | Target scenario | Azure Event Hubs | Difference |
| -: | -: | - | -: | -: |
| 0 | 0 | Azure Event Hubs | 21.9 | 21.9 |
| 730 | 10.95 | Azure Event Hubs | 21.9 | 10.95 |
| 7300 | 109.5 | Azure Event Hubs | 21.9 | -87.6 |
| 73000 | 1095 | Azure Event Hubs | 21.9 | -1073.1 |
| 730000 | 10950 | Azure Event Hubs | 21.9 | -10928.1 |

**Curve assumptions**

| Target scenario | Assumption | Value | Unit |
| - | - | -: | - |
| Azure Event Hubs | Origin list price · Provisioned shard-hours | 0.015 | USD/shard-hour |
| Azure Event Hubs | Origin list price · PUT payload units | 0.000000014 | USD/25-KiB record units |
| Azure Event Hubs | Representative record size | 1024 | bytes |
| Azure Event Hubs | Full-stream consumer copies | 1 | copies |
| Azure Event Hubs | Target retained history | 24 | hours |
| Azure Event Hubs | Target record envelope | 64 | bytes/record |
| Azure Event Hubs | Target price guess · read | 0 | USD/read |
| Azure Event Hubs | Target list price · write | 0.000000028 | USD/write |
| Azure Event Hubs | Target price guess · provider operation | 0 | USD/provider operation |
| Azure Event Hubs | Target price guess · GiB-month | 0 | USD/GiB-month |
| Azure Event Hubs | Target price guess · published GiB | 0 | USD/published GiB |
| Azure Event Hubs | Target price guess · delivered GiB | 0 | USD/delivered GiB |
| Azure Event Hubs | Target price guess · network GiB | 0 | USD/network GiB |
| Azure Event Hubs | Target price guess · replica GiB-month | 0 | USD/replica GiB-month |
| Azure Event Hubs | Target price guess · vCPU-hour | 0 | USD/vCPU-hour |
| Azure Event Hubs | Target price guess · GiB-hour | 0 | USD/GiB-hour |
| Azure Event Hubs | Target list price · resource-hour | 0.03 | USD/resource-hour |
| Azure Event Hubs | Target price guess · resource-month | 0 | USD/resource-month |
| Azure Event Hubs | Target price guess · input token | 0 | USD/input token |
| Azure Event Hubs | Target price guess · output token | 0 | USD/output token |
| Azure Event Hubs | Target monthly base charge | 0 | USD/month |
| Azure Event Hubs | Approximate target service minimum | 0 | USD/month |
| Azure Event Hubs | Minimum primary CPU | 2 | vCPU |
| Azure Event Hubs | Minimum primary RAM | 8 | GiB |
| Azure Event Hubs | Minimum primary disk | 100 | GiB |
| Azure Event Hubs | Additional full-price standby copy | 0 | 0 or 1 |
| Azure Event Hubs | Allocated share of provisioned cost | 1 | fraction |
| Azure Event Hubs | Read/write work per vCPU-second | 1500 | operations/vCPU-second |
| Azure Event Hubs | Planning peak / mean work | 2 | multiplier |
| Azure Event Hubs | Planning primary CPU utilization | 0.7 | fraction |
| Azure Event Hubs | Resident state reserved in RAM | 0.1 | fraction |
| Azure Event Hubs | Planning disk utilization | 0.8 | fraction |
| Azure Event Hubs | Maintenance and log disk reserve | 20 | GiB |
| Azure Event Hubs | Staging database CPU unit-price guess | 0.0413 | USD/vCPU-hour |
| Azure Event Hubs | Staging database RAM unit-price guess | 0.007 | USD/GiB-hour |
| Azure Event Hubs | Staging database disk unit-price guess | 0.17 | USD/GiB-month |
| Azure Event Hubs | Dependent object sink storage price guess | 0.023 | USD/GiB-month |
| Azure Event Hubs | Dependent object sink write price guess | 0.000005 | USD/write |

* Provisioned capacity alone does not reveal actual record traffic; PUT meter stays independent. 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.
* Retention and consumer copies drive physical work. Origin shard-hours are not proof that a target broker or database meets the same throughput.
* A KCL DynamoDB lease table is a separate workload; enhanced fan-out and extended retention origin tariffs are outside this provisioned profile.
* Azure Event Hubs Standard bills throughput-unit hours, sized here from the family's published and delivered bytes and its ingress (write) and egress (read) event rates against one unit's published limits, never below one unit (USD 21.90/month). Ingress events also bill USD 0.028 per million; each family write is one event, and events over 64 KB, which bill as several, are not split. Up to 84 GB of storage per unit is included, so retained data adds no charge. Capture, when enabled, bills USD 0.10 per throughput-unit hour and is not modeled.
* AWS Price List API, AmazonKinesis offer: [https://pricing.us-east-1.amazonaws.com/offers/v1.0/aws/AmazonKinesis/current/us-east-1/index.json](https://pricing.us-east-1.amazonaws.com/offers/v1.0/aws/AmazonKinesis/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-50b2735e718e9d039b897f1878bcc337362c365f` / `2026-10-22.planning.2`. Curve: `workload-2`.

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

## Kinesis Data Streams → Google Cloud Pub/Sub

Origin API: `aws::1.0.0::kinesis::stream`. Target backend: `google::1.0.0::pubsub`.

### Monthly cost by provisioned Kinesis shards

Reference monthly service charges by Provisioned shards. Adapter hosting and Tensor9 fees are excluded. Source: us-east-1; target: us-central1; currency: USD.

![Monthly cost by provisioned Kinesis shards: monthly service charges by Provisioned shards. Exact values are in the following table.](/images/diagrams/service-cost/61a422ad03b0aaf1d46f4c1d290cd347ad4ccc8afa5500f7d828b3ba9e512fdb-light.svg)

![Monthly cost by provisioned Kinesis shards: monthly service charges by Provisioned shards. Exact values are in the following table.](/images/diagrams/service-cost/a5b82dc32d2489e5a3d4b527320f16c6f006d840f33b6b6003ac84bfa166f5b2-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.

| Provisioned shards (shards) | Kinesis Data Stream | Target scenario | Pub/Sub | Difference |
| -: | -: | - | -: | -: |
| 1 | 14.6292 | Pub/Sub (one subscription) | 23.167660832405 | 8.538460832405 |
| 2 | 29.2584 | Pub/Sub (one subscription) | 46.335321664811 | 17.076921664811 |
| 4 | 58.5168 | Pub/Sub (one subscription) | 92.67064332962 | 34.15384332962 |
| 8 | 117.0336 | Pub/Sub (one subscription) | 185.34128665924 | 68.30768665924 |
| 16 | 234.0672 | Pub/Sub (one subscription) | 370.682573318481 | 136.615373318481 |
| 64 | 936.2688 | Pub/Sub (one subscription) | 1482.730293273926 | 546.461493273926 |

**Curve assumptions**

| Target scenario | Assumption | Value | Unit |
| - | - | -: | - |
| Pub/Sub (one subscription) | Representative Kinesis record size | 1024 | bytes |
| Pub/Sub (one subscription) | Full-stream consumers | 1 | copies |
| Pub/Sub (one subscription) | Target record envelope overhead | 64 | bytes/record |
| Pub/Sub (one subscription) | Target publish batch fill | 1 | records/request |
| Pub/Sub (one subscription) | Target delivery batch fill | 1 | records/request |

* 100 records/s per provisioned source shard, each 1 KiB; one full-stream consumer; 730 hours/month. Pub/Sub retains the physical stream at topic level for 24 hours, including 64 bytes of assumed overhead per record. Source shard count and traffic are authored scenario choices, not measured adapter throughput or semantic equivalence.
* Reference list rates as of 2026-10-18: 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.
* Provisioned Kinesis, 24-hour retention and shared-throughput consumers only; on-demand, enhanced fan-out and extended retention use different tariffs.
* Pub/Sub publishes and delivers each full consumer copy, and retains the physical stream for 24 hours at topic level for replay. Steady traffic over 730 hours is assumed.
* Pub/Sub ordering keys do not reproduce addressable shards or exact per-record offsets. This pricing comparison does not qualify semantic compatibility or throughput.
* Source usage is priced at reference rates; source lines are not actual invoice charges. Free or discounted usage still consumes target resources.
* Kinesis Data Streams provisioned pricing: [https://aws.amazon.com/kinesis/data-streams/pricing/](https://aws.amazon.com/kinesis/data-streams/pricing/)
* Pub/Sub throughput and retained-message pricing: [https://cloud.google.com/pubsub/pricing](https://cloud.google.com/pubsub/pricing)

Cost scope: Modeled monthly service usage and selected database allocation; adapter hosting and Tensor9 fees only when explicitly supplied.

Excluded costs and workload features:

* Free allowances, negotiated discounts, credits, tax and one-time migration charges.
* Charges not listed in the breakdown, including additional network transfer, backups and encryption/KMS.
* Application compute changes, operational labor and portfolio-wide sharing or deduplication of infrastructure.
* KCL DynamoDB lease-table costs, replay/redelivery beyond the declared consumer copies, snapshots and extra subscriptions.

Rate snapshot: 2026-10-18. Model: `kinesis-pubsub` / `2026-10-18.4`. Curve: `provisioned-shards`.

Sources: [Kinesis Data Streams provisioned pricing](https://aws.amazon.com/kinesis/data-streams/pricing/), [Pub/Sub throughput and retained-message pricing](https://cloud.google.com/pubsub/pricing).

## Kinesis Data Streams → Google Managed Kafka

Origin API: `aws::1.0.0::kinesis::stream`. Target backend: `google::1.0.0::managed-kafka`.

### Monthly cost by provisioned Kinesis shards

Reference monthly service charges by Provisioned shards. Adapter hosting and Tensor9 fees are excluded. Source: us-east-1; target: us-central1; currency: USD.

![Monthly cost by provisioned Kinesis shards: monthly service charges by Provisioned shards. Exact values are in the following table.](/images/diagrams/service-cost/77c54b5e9a7f3cdf694c9942c6d0a8a71de3b46e1fd84eae48ebb38a9f1b0729-light.svg)

![Monthly cost by provisioned Kinesis shards: monthly service charges by Provisioned shards. Exact values are in the following table.](/images/diagrams/service-cost/2e7bf48b5318f100115b0076d4594a1d93cc68c54bdf304628f917ce37db7b44-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.

| Provisioned shards (shards) | Kinesis Data Stream | Target scenario | Managed Service for Apache Kafka | Difference |
| -: | -: | - | -: | -: |
| 1 | 14.6292 | Managed Service for Apache Kafka (3 vCPU / 12 GiB) | 254.301328316391 | 239.672128316391 |
| 1 | 14.6292 | Managed Service for Apache Kafka (6 vCPU / 24 GiB) | 502.401391316391 | 487.772191316391 |
| 2 | 29.2584 | Managed Service for Apache Kafka (3 vCPU / 12 GiB) | 260.502593632782 | 231.244193632782 |
| 2 | 29.2584 | Managed Service for Apache Kafka (6 vCPU / 24 GiB) | 508.602656632782 | 479.344256632782 |
| 4 | 58.5168 | Managed Service for Apache Kafka (3 vCPU / 12 GiB) | 272.905124265564 | 214.388324265564 |
| 4 | 58.5168 | Managed Service for Apache Kafka (6 vCPU / 24 GiB) | 521.005187265564 | 462.488387265564 |
| 8 | 117.0336 | Managed Service for Apache Kafka (3 vCPU / 12 GiB) | 297.710185531128 | 180.676585531128 |
| 8 | 117.0336 | Managed Service for Apache Kafka (6 vCPU / 24 GiB) | 545.810248531128 | 428.776648531128 |
| 16 | 234.0672 | Managed Service for Apache Kafka (3 vCPU / 12 GiB) | 347.320308062255 | 113.253108062255 |
| 16 | 234.0672 | Managed Service for Apache Kafka (6 vCPU / 24 GiB) | 595.420371062255 | 361.353171062255 |
| 64 | 936.2688 | Managed Service for Apache Kafka (3 vCPU / 12 GiB) | 644.981043249021 | -291.287756750979 |
| 64 | 936.2688 | Managed Service for Apache Kafka (6 vCPU / 24 GiB) | 893.081106249021 | -43.187693750979 |

**Curve assumptions**

| Target scenario | Assumption | Value | Unit |
| - | - | -: | - |
| Managed Service for Apache Kafka (3 vCPU / 12 GiB) | Representative Kinesis record size | 1024 | bytes |
| Managed Service for Apache Kafka (3 vCPU / 12 GiB) | Full-stream consumers | 1 | copies |
| Managed Service for Apache Kafka (3 vCPU / 12 GiB) | Target record envelope overhead | 64 | bytes/record |
| Managed Service for Apache Kafka (3 vCPU / 12 GiB) | Managed Kafka cluster vCPUs | 3 | vCPU |
| Managed Service for Apache Kafka (3 vCPU / 12 GiB) | Managed Kafka cluster memory | 12 | GiB |
| Managed Service for Apache Kafka (3 vCPU / 12 GiB) | Default-profile local disk allocation | 300 | GiB |
| Managed Service for Apache Kafka (3 vCPU / 12 GiB) | Long-term storage allocation | 8.754730224609 | GiB-month |
| Managed Service for Apache Kafka (3 vCPU / 12 GiB) | Cross-zone client traffic | 0 | GiB/month |
| Managed Service for Apache Kafka (6 vCPU / 24 GiB) | Representative Kinesis record size | 1024 | bytes |
| Managed Service for Apache Kafka (6 vCPU / 24 GiB) | Full-stream consumers | 1 | copies |
| Managed Service for Apache Kafka (6 vCPU / 24 GiB) | Target record envelope overhead | 64 | bytes/record |
| Managed Service for Apache Kafka (6 vCPU / 24 GiB) | Managed Kafka cluster vCPUs | 6 | vCPU |
| Managed Service for Apache Kafka (6 vCPU / 24 GiB) | Managed Kafka cluster memory | 24 | GiB |
| Managed Service for Apache Kafka (6 vCPU / 24 GiB) | Default-profile local disk allocation | 600 | GiB |
| Managed Service for Apache Kafka (6 vCPU / 24 GiB) | Long-term storage allocation | 8.754730224609 | GiB-month |
| Managed Service for Apache Kafka (6 vCPU / 24 GiB) | Cross-zone client traffic | 0 | GiB/month |

* 100 records/s per source shard, each 1 KiB; one full-stream consumer; 24-hour retention; 730 hours/month. The target remains a named 3-vCPU/12-GiB cluster with 300 GiB local disk: its throughput is unqualified. The full retained physical stream is also allocated to single-copy long-term storage, a conservative storage scenario; actual tier placement can reduce it. Three replicas and their inter-zone transfer are priced; same-zone clients and local follower reads are assumed.
* Reference list rates as of 2026-10-18: 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.
* Provisioned Kinesis with 24-hour retention and shared-read consumers; 730 running hours. Google Managed Kafka uses three replicas across zones.
* Cluster allocation pricing only: throughput, peak load, retention suitability and latency remain unqualified. The curve does not resize compute automatically.
* Compute is USD 0.09 per DCU-hour; one vCPU is 0.6 DCU and one GiB RAM is 0.1 DCU. All local disk is charged, plus the explicitly selected single-copy long-term storage allocation.
* Replication transfers two physical copies at USD 0.01/GiB. Same-zone client traffic assumes local follower reads; extra client traffic must be supplied separately.
* Source usage is priced at reference rates; source lines are not actual invoice charges. Free or discounted usage still consumes target resources.
* Kinesis Data Streams provisioned pricing: [https://aws.amazon.com/kinesis/data-streams/pricing/](https://aws.amazon.com/kinesis/data-streams/pricing/)
* Google Managed Kafka pricing: [https://cloud.google.com/managed-service-for-apache-kafka/pricing](https://cloud.google.com/managed-service-for-apache-kafka/pricing)
* Managed Kafka capacity configuration: [https://docs.cloud.google.com/managed-service-for-apache-kafka/docs/create-cluster](https://docs.cloud.google.com/managed-service-for-apache-kafka/docs/create-cluster)

Cost scope: Modeled monthly service usage and selected database allocation; adapter hosting and Tensor9 fees only when explicitly supplied.

Excluded costs and workload features:

* Free allowances, negotiated discounts, credits, tax and one-time migration charges.
* Charges not listed in the breakdown, including additional network transfer, backups and encryption/KMS.
* Application compute changes, operational labor and portfolio-wide sharing or deduplication of infrastructure.
* KCL DynamoDB lease-table costs, Connect clusters, extra replication/consumer copies, unsupported resharding behavior and unqualified cluster capacity.

Rate snapshot: 2026-10-18. Model: `kinesis-managed-kafka` / `2026-10-18.4`. Curve: `provisioned-shards`.

Sources: [Kinesis Data Streams provisioned pricing](https://aws.amazon.com/kinesis/data-streams/pricing/), [Google Managed Kafka pricing](https://cloud.google.com/managed-service-for-apache-kafka/pricing), [Managed Kafka capacity configuration](https://docs.cloud.google.com/managed-service-for-apache-kafka/docs/create-cluster).

## Kinesis Data Streams → OCI Streaming

Origin API: `aws::1.0.0::kinesis::stream`. Target backend: `oci::1.0.0::streaming`.

### Kinesis Data Streams · PUT payload units

Estimated monthly service charges by PUT payload units. Adapter hosting and Tensor9 fees are excluded. Source: us-east-1; target: us-ashburn-1 (OCI global price list); currency: USD.

![Kinesis Data Streams · PUT payload units: monthly service charges by PUT payload units. Exact values are in the following table.](/images/diagrams/service-cost/311624b9b039a5f63b425f207920bd3f034ed260b13881e06340822ba9fd5591-light.svg)

![Kinesis Data Streams · PUT payload units: monthly service charges by PUT payload units. Exact values are in the following table.](/images/diagrams/service-cost/420a8eed29b5810b185e843d77a592fc29a705ad3639de843b10f52e515df851-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.

| PUT payload units (per second) | Kinesis Data Stream | Target scenario | OCI Streaming | Difference |
| -: | -: | - | -: | -: |
| 0 | 0 | OCI Streaming | 0 | 0 |
| 1 | 0.036792 | OCI Streaming | 0.145926761627197265625 | 0.109134761627197265625 |
| 10 | 0.36792 | OCI Streaming | 1.45926761627197265625 | 1.09134761627197265625 |
| 100 | 3.6792 | OCI Streaming | 14.5926761627197265625 | 10.9134761627197265625 |
| 1000 | 36.792 | OCI Streaming | 145.926761627197265625 | 109.134761627197265625 |
| 10000 | 367.92 | OCI Streaming | 1459.26761627197265625 | 1091.34761627197265625 |

**Curve assumptions**

| Target scenario | Assumption | Value | Unit |
| - | - | -: | - |
| OCI Streaming | Origin list price · Provisioned shard-hours | 0.015 | USD/shard-hour |
| OCI Streaming | Origin list price · PUT payload units | 0.000000014 | USD/25-KiB record units |
| OCI Streaming | Representative record size | 1024 | bytes |
| OCI Streaming | Full-stream consumer copies | 1 | copies |
| OCI Streaming | Target retained history | 24 | hours |
| OCI Streaming | Target record envelope | 64 | bytes/record |
| OCI Streaming | Target price guess · read | 0 | USD/read |
| OCI Streaming | Target price guess · write | 0 | USD/write |
| OCI Streaming | Target price guess · provider operation | 0 | USD/provider operation |
| OCI Streaming | Target list price · GiB-month | 0.146 | USD/GiB-month |
| OCI Streaming | Target list price · published GiB | 0.025 | USD/published GiB |
| OCI Streaming | Target list price · delivered GiB | 0.025 | USD/delivered GiB |
| OCI Streaming | Target price guess · network GiB | 0 | USD/network GiB |
| OCI Streaming | Target price guess · replica GiB-month | 0 | USD/replica GiB-month |
| OCI Streaming | Target price guess · vCPU-hour | 0 | USD/vCPU-hour |
| OCI Streaming | Target price guess · GiB-hour | 0 | USD/GiB-hour |
| OCI Streaming | Target price guess · resource-hour | 0 | USD/resource-hour |
| OCI Streaming | Target price guess · resource-month | 0 | USD/resource-month |
| OCI Streaming | Target price guess · input token | 0 | USD/input token |
| OCI Streaming | Target price guess · output token | 0 | USD/output token |
| OCI Streaming | Target monthly base charge | 0 | USD/month |
| OCI Streaming | Approximate target service minimum | 0 | USD/month |
| OCI Streaming | Minimum primary CPU | 2 | vCPU |
| OCI Streaming | Minimum primary RAM | 8 | GiB |
| OCI Streaming | Minimum primary disk | 100 | GiB |
| OCI Streaming | Additional full-price standby copy | 0 | 0 or 1 |
| OCI Streaming | Allocated share of provisioned cost | 1 | fraction |
| OCI Streaming | Read/write work per vCPU-second | 1500 | operations/vCPU-second |
| OCI Streaming | Planning peak / mean work | 2 | multiplier |
| OCI Streaming | Planning primary CPU utilization | 0.7 | fraction |
| OCI Streaming | Resident state reserved in RAM | 0.1 | fraction |
| OCI Streaming | Planning disk utilization | 0.8 | fraction |
| OCI Streaming | Maintenance and log disk reserve | 20 | GiB |
| OCI Streaming | Staging database CPU unit-price guess | 0.0413 | USD/vCPU-hour |
| OCI Streaming | Staging database RAM unit-price guess | 0.007 | USD/GiB-hour |
| OCI Streaming | Staging database disk unit-price guess | 0.17 | USD/GiB-month |
| OCI Streaming | Dependent object sink storage price guess | 0.023 | USD/GiB-month |
| OCI Streaming | Dependent object sink write price guess | 0.000005 | USD/write |

* Payload size determines physical record and byte throughput. 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-ashburn-1 (OCI global price 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.
* Retention and consumer copies drive physical work. Origin shard-hours are not proof that a target broker or database meets the same throughput.
* A KCL DynamoDB lease table is a separate workload; enhanced fan-out and extended retention origin tariffs are outside this provisioned profile.
* OCI Streaming bills PUT and GET bytes and retained GB-hours, with no partition charge within the default service limits; beyond them OCI expects at least 10 GB/hour of PUT and GET per 50 partitions. Retention defaults to 24 hours, up to 7 days.
* AWS Price List API, AmazonKinesis offer: [https://pricing.us-east-1.amazonaws.com/offers/v1.0/aws/AmazonKinesis/current/us-east-1/index.json](https://pricing.us-east-1.amazonaws.com/offers/v1.0/aws/AmazonKinesis/current/us-east-1/index.json)
* OCI price list API: [https://apexapps.oracle.com/pls/apex/cetools/api/v1/products/](https://apexapps.oracle.com/pls/apex/cetools/api/v1/products/)

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-9811d8ea456c7e42af3f0509a197ed3539f77d7f` / `2026-10-22.planning.2`. Curve: `workload-1`.

Sources: [AWS Price List API, AmazonKinesis offer](https://pricing.us-east-1.amazonaws.com/offers/v1.0/aws/AmazonKinesis/current/us-east-1/index.json), [OCI price list API](https://apexapps.oracle.com/pls/apex/cetools/api/v1/products/).

### Kinesis Data Streams · Origin provisioned shards

Estimated monthly service charges by Origin provisioned shards. Adapter hosting and Tensor9 fees are excluded. Source: us-east-1; target: us-ashburn-1 (OCI global price list); currency: USD.

![Kinesis Data Streams · Origin provisioned shards: monthly service charges by Origin provisioned shards. Exact values are in the following table.](/images/diagrams/service-cost/7850537b4bfcdec814c3bb462e272e05aa157fe6d1eda60f99479304a8a33461-light.svg)

![Kinesis Data Streams · Origin provisioned shards: monthly service charges by Origin provisioned shards. Exact values are in the following table.](/images/diagrams/service-cost/69493b93abaa54ccbafef6ad6e118abb08a0136a831662c3f53731de922e6667-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.

| Origin provisioned shards (shard-hours/month) | Kinesis Data Stream | Target scenario | OCI Streaming | Difference |
| -: | -: | - | -: | -: |
| 0 | 0 | OCI Streaming | 0 | 0 |
| 730 | 10.95 | OCI Streaming | 0 | -10.95 |
| 7300 | 109.5 | OCI Streaming | 0 | -109.5 |
| 73000 | 1095 | OCI Streaming | 0 | -1095 |
| 730000 | 10950 | OCI Streaming | 0 | -10950 |

**Curve assumptions**

| Target scenario | Assumption | Value | Unit |
| - | - | -: | - |
| OCI Streaming | Origin list price · Provisioned shard-hours | 0.015 | USD/shard-hour |
| OCI Streaming | Origin list price · PUT payload units | 0.000000014 | USD/25-KiB record units |
| OCI Streaming | Representative record size | 1024 | bytes |
| OCI Streaming | Full-stream consumer copies | 1 | copies |
| OCI Streaming | Target retained history | 24 | hours |
| OCI Streaming | Target record envelope | 64 | bytes/record |
| OCI Streaming | Target price guess · read | 0 | USD/read |
| OCI Streaming | Target price guess · write | 0 | USD/write |
| OCI Streaming | Target price guess · provider operation | 0 | USD/provider operation |
| OCI Streaming | Target list price · GiB-month | 0.146 | USD/GiB-month |
| OCI Streaming | Target list price · published GiB | 0.025 | USD/published GiB |
| OCI Streaming | Target list price · delivered GiB | 0.025 | USD/delivered GiB |
| OCI Streaming | Target price guess · network GiB | 0 | USD/network GiB |
| OCI Streaming | Target price guess · replica GiB-month | 0 | USD/replica GiB-month |
| OCI Streaming | Target price guess · vCPU-hour | 0 | USD/vCPU-hour |
| OCI Streaming | Target price guess · GiB-hour | 0 | USD/GiB-hour |
| OCI Streaming | Target price guess · resource-hour | 0 | USD/resource-hour |
| OCI Streaming | Target price guess · resource-month | 0 | USD/resource-month |
| OCI Streaming | Target price guess · input token | 0 | USD/input token |
| OCI Streaming | Target price guess · output token | 0 | USD/output token |
| OCI Streaming | Target monthly base charge | 0 | USD/month |
| OCI Streaming | Approximate target service minimum | 0 | USD/month |
| OCI Streaming | Minimum primary CPU | 2 | vCPU |
| OCI Streaming | Minimum primary RAM | 8 | GiB |
| OCI Streaming | Minimum primary disk | 100 | GiB |
| OCI Streaming | Additional full-price standby copy | 0 | 0 or 1 |
| OCI Streaming | Allocated share of provisioned cost | 1 | fraction |
| OCI Streaming | Read/write work per vCPU-second | 1500 | operations/vCPU-second |
| OCI Streaming | Planning peak / mean work | 2 | multiplier |
| OCI Streaming | Planning primary CPU utilization | 0.7 | fraction |
| OCI Streaming | Resident state reserved in RAM | 0.1 | fraction |
| OCI Streaming | Planning disk utilization | 0.8 | fraction |
| OCI Streaming | Maintenance and log disk reserve | 20 | GiB |
| OCI Streaming | Staging database CPU unit-price guess | 0.0413 | USD/vCPU-hour |
| OCI Streaming | Staging database RAM unit-price guess | 0.007 | USD/GiB-hour |
| OCI Streaming | Staging database disk unit-price guess | 0.17 | USD/GiB-month |
| OCI Streaming | Dependent object sink storage price guess | 0.023 | USD/GiB-month |
| OCI Streaming | Dependent object sink write price guess | 0.000005 | USD/write |

* Provisioned capacity alone does not reveal actual record traffic; PUT meter stays independent. 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-ashburn-1 (OCI global price 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.
* Retention and consumer copies drive physical work. Origin shard-hours are not proof that a target broker or database meets the same throughput.
* A KCL DynamoDB lease table is a separate workload; enhanced fan-out and extended retention origin tariffs are outside this provisioned profile.
* OCI Streaming bills PUT and GET bytes and retained GB-hours, with no partition charge within the default service limits; beyond them OCI expects at least 10 GB/hour of PUT and GET per 50 partitions. Retention defaults to 24 hours, up to 7 days.
* AWS Price List API, AmazonKinesis offer: [https://pricing.us-east-1.amazonaws.com/offers/v1.0/aws/AmazonKinesis/current/us-east-1/index.json](https://pricing.us-east-1.amazonaws.com/offers/v1.0/aws/AmazonKinesis/current/us-east-1/index.json)
* OCI price list API: [https://apexapps.oracle.com/pls/apex/cetools/api/v1/products/](https://apexapps.oracle.com/pls/apex/cetools/api/v1/products/)

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-9811d8ea456c7e42af3f0509a197ed3539f77d7f` / `2026-10-22.planning.2`. Curve: `workload-2`.

Sources: [AWS Price List API, AmazonKinesis offer](https://pricing.us-east-1.amazonaws.com/offers/v1.0/aws/AmazonKinesis/current/us-east-1/index.json), [OCI price list API](https://apexapps.oracle.com/pls/apex/cetools/api/v1/products/).

## Kinesis Data Streams → Strimzi Kafka

Origin API: `aws::1.0.0::kinesis::stream`. Target backend: `strimzi::1.0.0::kafka`.

### Kinesis Data Streams · PUT payload units

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

![Kinesis Data Streams · PUT payload units: monthly service charges by PUT payload units. Exact values are in the following table.](/images/diagrams/service-cost/4c881053c8ac44eb0bd7d9271b85e0e713d889dcb9bf7ea511faeff9c4c94016-light.svg)

![Kinesis Data Streams · PUT payload units: monthly service charges by PUT payload units. Exact values are in the following table.](/images/diagrams/service-cost/bd22baa55b2b01cc0ec53a446f9ae1d7fa741a23b76d8e6ecec8c3d4aa3436c3-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.

| PUT payload units (per second) | Kinesis Data Stream | Target scenario | Strimzi Kafka | Difference |
| -: | -: | - | -: | -: |
| 0 | 0 | Strimzi Kafka (one copy) | 80.89614 | 80.89614 |
| 0 | 0 | Strimzi Kafka (two copies) | 161.79228 | 161.79228 |
| 1 | 0.036792 | Strimzi Kafka (one copy) | 80.89614 | 80.859348 |
| 1 | 0.036792 | Strimzi Kafka (two copies) | 161.79228 | 161.755488 |
| 10 | 0.36792 | Strimzi Kafka (one copy) | 80.89614 | 80.52822 |
| 10 | 0.36792 | Strimzi Kafka (two copies) | 161.79228 | 161.42436 |
| 100 | 3.6792 | Strimzi Kafka (one copy) | 80.89614 | 77.21694 |
| 100 | 3.6792 | Strimzi Kafka (two copies) | 161.79228 | 158.11308 |
| 1000 | 36.792 | Strimzi Kafka (one copy) | 87.48915 | 50.69715 |
| 1000 | 36.792 | Strimzi Kafka (two copies) | 174.9783 | 138.1863 |
| 10000 | 367.92 | Strimzi Kafka (one copy) | 752.6281075 | 384.7081075 |
| 10000 | 367.92 | Strimzi Kafka (two copies) | 1505.256215 | 1137.336215 |

**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 / Strimzi Kafka (one copy) | PlanningAssumption | 0 / 0 | 0 | 2 | 8 | 100 | 0 | `service-adapter-planning-2026-10-22.1` | None reported |
| 0 per second / Strimzi Kafka (two copies) | PlanningAssumption | 0 / 0 | 0 | 2 | 8 | 100 | 0 | `service-adapter-planning-2026-10-22.1` | None reported |
| 1 per second / Strimzi Kafka (one copy) | PlanningAssumption | 0.0033721923828125 / 0.006744384765625 | 0.0006744384765625 | 2 | 8 | 100 | 0.08754730224609375 | `service-adapter-planning-2026-10-22.1` | None reported |
| 1 per second / Strimzi Kafka (two copies) | PlanningAssumption | 0.0033721923828125 / 0.006744384765625 | 0.0006744384765625 | 2 | 8 | 100 | 0.08754730224609375 | `service-adapter-planning-2026-10-22.1` | None reported |
| 10 per second / Strimzi Kafka (one copy) | PlanningAssumption | 0.033721923828125 / 0.06744384765625 | 0.006744384765625 | 2 | 8 | 100 | 0.8754730224609375 | `service-adapter-planning-2026-10-22.1` | None reported |
| 10 per second / Strimzi Kafka (two copies) | PlanningAssumption | 0.033721923828125 / 0.06744384765625 | 0.006744384765625 | 2 | 8 | 100 | 0.8754730224609375 | `service-adapter-planning-2026-10-22.1` | None reported |
| 100 per second / Strimzi Kafka (one copy) | PlanningAssumption | 0.33721923828125 / 0.6744384765625 | 0.06744384765625 | 2 | 8 | 100 | 8.754730224609375 | `service-adapter-planning-2026-10-22.1` | None reported |
| 100 per second / Strimzi Kafka (two copies) | PlanningAssumption | 0.33721923828125 / 0.6744384765625 | 0.06744384765625 | 2 | 8 | 100 | 8.754730224609375 | `service-adapter-planning-2026-10-22.1` | None reported |
| 1000 per second / Strimzi Kafka (one copy) | PlanningAssumption | 3.3721923828125 / 6.744384765625 | 0.6744384765625 | 2 | 9 | 135 | 87.54730224609375 | `service-adapter-planning-2026-10-22.1` | None reported |
| 1000 per second / Strimzi Kafka (two copies) | PlanningAssumption | 3.3721923828125 / 6.744384765625 | 0.6744384765625 | 2 | 9 | 135 | 87.54730224609375 | `service-adapter-planning-2026-10-22.1` | None reported |
| 10000 per second / Strimzi Kafka (one copy) | PlanningAssumption | 33.721923828125 / 67.44384765625 | 6.744384765625 | 16 | 87.75 | 1120 | 875.4730224609375 | `service-adapter-planning-2026-10-22.1` | None reported |
| 10000 per second / Strimzi Kafka (two copies) | PlanningAssumption | 33.721923828125 / 67.44384765625 | 6.744384765625 | 16 | 87.75 | 1120 | 875.4730224609375 | `service-adapter-planning-2026-10-22.1` | None reported |

* 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.
* Broker CPU follows write-equivalent bytes; the row-store operations coefficient is not applied.
* Copies and allocation fractions change cost only; they do not increase modeled primary capacity.

**Curve assumptions**

| Target scenario | Assumption | Value | Unit |
| - | - | -: | - |
| Strimzi Kafka (one copy) | Origin list price · Provisioned shard-hours | 0.015 | USD/shard-hour |
| Strimzi Kafka (one copy) | Origin list price · PUT payload units | 0.000000014 | USD/25-KiB record units |
| Strimzi Kafka (one copy) | Representative record size | 1024 | bytes |
| Strimzi Kafka (one copy) | Full-stream consumer copies | 1 | copies |
| Strimzi Kafka (one copy) | Target retained history | 24 | hours |
| Strimzi Kafka (one copy) | Target record envelope | 64 | bytes/record |
| Strimzi Kafka (one copy) | Target price guess · read | 0 | USD/read |
| Strimzi Kafka (one copy) | Target price guess · write | 0 | USD/write |
| Strimzi Kafka (one copy) | Target price guess · provider operation | 0 | USD/provider operation |
| Strimzi Kafka (one copy) | Target list price · GiB-month | 0.1 | USD/GiB-month |
| Strimzi Kafka (one copy) | Target price guess · published GiB | 0 | USD/published GiB |
| Strimzi Kafka (one copy) | Target price guess · delivered GiB | 0 | USD/delivered GiB |
| Strimzi Kafka (one copy) | Target list price · network GiB | 0.12 | USD/network GiB |
| Strimzi Kafka (one copy) | Target price guess · replica GiB-month | 0 | USD/replica GiB-month |
| Strimzi Kafka (one copy) | Target list price · vCPU-hour | 0.031611 | USD/vCPU-hour |
| Strimzi Kafka (one copy) | Target list price · GiB-hour | 0.004237 | USD/GiB-hour |
| Strimzi Kafka (one copy) | Target price guess · resource-hour | 0 | USD/resource-hour |
| Strimzi Kafka (one copy) | Target price guess · resource-month | 0 | USD/resource-month |
| Strimzi Kafka (one copy) | Target price guess · input token | 0 | USD/input token |
| Strimzi Kafka (one copy) | Target price guess · output token | 0 | USD/output token |
| Strimzi Kafka (one copy) | Target monthly base charge | 0 | USD/month |
| Strimzi Kafka (one copy) | Approximate target service minimum | 0 | USD/month |
| Strimzi Kafka (one copy) | Minimum primary CPU | 2 | vCPU |
| Strimzi Kafka (one copy) | Minimum primary RAM | 8 | GiB |
| Strimzi Kafka (one copy) | Minimum primary disk | 100 | GiB |
| Strimzi Kafka (one copy) | Additional full-price standby copy | 0 | 0 or 1 |
| Strimzi Kafka (one copy) | Allocated share of provisioned cost | 1 | fraction |
| Strimzi Kafka (one copy) | Read/write work per vCPU-second | 1500 | operations/vCPU-second |
| Strimzi Kafka (one copy) | Planning peak / mean work | 2 | multiplier |
| Strimzi Kafka (one copy) | Planning primary CPU utilization | 0.5 | fraction |
| Strimzi Kafka (one copy) | Resident state reserved in RAM | 0.1 | fraction |
| Strimzi Kafka (one copy) | Planning disk utilization | 0.8 | fraction |
| Strimzi Kafka (one copy) | Maintenance and log disk reserve | 20 | GiB |
| Strimzi Kafka (one copy) | Staging database CPU unit-price guess | 0.0413 | USD/vCPU-hour |
| Strimzi Kafka (one copy) | Staging database RAM unit-price guess | 0.007 | USD/GiB-hour |
| Strimzi Kafka (one copy) | Staging database disk unit-price guess | 0.17 | USD/GiB-month |
| Strimzi Kafka (one copy) | Broker write-equivalent throughput per vCPU | 20 | MiB/vCPU-second |
| Strimzi Kafka (one copy) | Broker replicas per written byte | 3 | replicas |
| Strimzi Kafka (one copy) | Dependent object sink storage price guess | 0.023 | USD/GiB-month |
| Strimzi Kafka (one copy) | Dependent object sink write price guess | 0.000005 | USD/write |
| Strimzi Kafka (two copies) | Origin list price · Provisioned shard-hours | 0.015 | USD/shard-hour |
| Strimzi Kafka (two copies) | Origin list price · PUT payload units | 0.000000014 | USD/25-KiB record units |
| Strimzi Kafka (two copies) | Representative record size | 1024 | bytes |
| Strimzi Kafka (two copies) | Full-stream consumer copies | 1 | copies |
| Strimzi Kafka (two copies) | Target retained history | 24 | hours |
| Strimzi Kafka (two copies) | Target record envelope | 64 | bytes/record |
| Strimzi Kafka (two copies) | Target price guess · read | 0 | USD/read |
| Strimzi Kafka (two copies) | Target price guess · write | 0 | USD/write |
| Strimzi Kafka (two copies) | Target price guess · provider operation | 0 | USD/provider operation |
| Strimzi Kafka (two copies) | Target list price · GiB-month | 0.1 | USD/GiB-month |
| Strimzi Kafka (two copies) | Target price guess · published GiB | 0 | USD/published GiB |
| Strimzi Kafka (two copies) | Target price guess · delivered GiB | 0 | USD/delivered GiB |
| Strimzi Kafka (two copies) | Target list price · network GiB | 0.12 | USD/network GiB |
| Strimzi Kafka (two copies) | Target price guess · replica GiB-month | 0 | USD/replica GiB-month |
| Strimzi Kafka (two copies) | Target list price · vCPU-hour | 0.031611 | USD/vCPU-hour |
| Strimzi Kafka (two copies) | Target list price · GiB-hour | 0.004237 | USD/GiB-hour |
| Strimzi Kafka (two copies) | Target price guess · resource-hour | 0 | USD/resource-hour |
| Strimzi Kafka (two copies) | Target price guess · resource-month | 0 | USD/resource-month |
| Strimzi Kafka (two copies) | Target price guess · input token | 0 | USD/input token |
| Strimzi Kafka (two copies) | Target price guess · output token | 0 | USD/output token |
| Strimzi Kafka (two copies) | Target monthly base charge | 0 | USD/month |
| Strimzi Kafka (two copies) | Approximate target service minimum | 0 | USD/month |
| Strimzi Kafka (two copies) | Minimum primary CPU | 2 | vCPU |
| Strimzi Kafka (two copies) | Minimum primary RAM | 8 | GiB |
| Strimzi Kafka (two copies) | Minimum primary disk | 100 | GiB |
| Strimzi Kafka (two copies) | Additional full-price standby copy | 1 | 0 or 1 |
| Strimzi Kafka (two copies) | Allocated share of provisioned cost | 1 | fraction |
| Strimzi Kafka (two copies) | Read/write work per vCPU-second | 1500 | operations/vCPU-second |
| Strimzi Kafka (two copies) | Planning peak / mean work | 2 | multiplier |
| Strimzi Kafka (two copies) | Planning primary CPU utilization | 0.5 | fraction |
| Strimzi Kafka (two copies) | Resident state reserved in RAM | 0.1 | fraction |
| Strimzi Kafka (two copies) | Planning disk utilization | 0.8 | fraction |
| Strimzi Kafka (two copies) | Maintenance and log disk reserve | 20 | GiB |
| Strimzi Kafka (two copies) | Staging database CPU unit-price guess | 0.0413 | USD/vCPU-hour |
| Strimzi Kafka (two copies) | Staging database RAM unit-price guess | 0.007 | USD/GiB-hour |
| Strimzi Kafka (two copies) | Staging database disk unit-price guess | 0.17 | USD/GiB-month |
| Strimzi Kafka (two copies) | Broker write-equivalent throughput per vCPU | 20 | MiB/vCPU-second |
| Strimzi Kafka (two copies) | Broker replicas per written byte | 3 | replicas |
| Strimzi Kafka (two copies) | Dependent object sink storage price guess | 0.023 | USD/GiB-month |
| Strimzi Kafka (two copies) | Dependent object sink write price guess | 0.000005 | USD/write |

* Payload size determines physical record and byte throughput. 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.
* Retention and consumer copies drive physical work. Origin shard-hours are not proof that a target broker or database meets the same throughput.
* A KCL DynamoDB lease table is a separate workload; enhanced fan-out and extended retention origin tariffs are outside this provisioned profile.
* Self-hosted target: Strimzi and Apache Kafka (Apache-2.0, [https://github.com/strimzi/strimzi-kafka-operator/blob/main/LICENSE](https://github.com/strimzi/strimzi-kafka-operator/blob/main/LICENSE)); Kafka replication multiplies disk beyond the copies this model bills. 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.
* Broker CPU follows write-equivalent bytes; the row-store operations coefficient is not applied.
* Copies and allocation fractions change cost only; they do not increase modeled primary capacity.
* AWS Price List API, AmazonKinesis offer: [https://pricing.us-east-1.amazonaws.com/offers/v1.0/aws/AmazonKinesis/current/us-east-1/index.json](https://pricing.us-east-1.amazonaws.com/offers/v1.0/aws/AmazonKinesis/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-345e11fb79eca5767bb2e6fcf2891ab45eff792c` / `2026-10-22.planning.2`. Curve: `workload-1`.

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

### Kinesis Data Streams · Origin provisioned shards

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

![Kinesis Data Streams · Origin provisioned shards: monthly service charges by Origin provisioned shards. Exact values are in the following table.](/images/diagrams/service-cost/f645d1ef61d215b1b67dcf450558f8e80297b944e1e386a62dfce9dcf5e1fdaf-light.svg)

![Kinesis Data Streams · Origin provisioned shards: monthly service charges by Origin provisioned shards. Exact values are in the following table.](/images/diagrams/service-cost/a3f721b1ee7869810d4b74a38b359df85db0e01d8ca242b164136123eb24bb41-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.

| Origin provisioned shards (shard-hours/month) | Kinesis Data Stream | Target scenario | Strimzi Kafka | Difference |
| -: | -: | - | -: | -: |
| 0 | 0 | Strimzi Kafka (one copy) | 80.89614 | 80.89614 |
| 0 | 0 | Strimzi Kafka (two copies) | 161.79228 | 161.79228 |
| 730 | 10.95 | Strimzi Kafka (one copy) | 80.89614 | 69.94614 |
| 730 | 10.95 | Strimzi Kafka (two copies) | 161.79228 | 150.84228 |
| 7300 | 109.5 | Strimzi Kafka (one copy) | 80.89614 | -28.60386 |
| 7300 | 109.5 | Strimzi Kafka (two copies) | 161.79228 | 52.29228 |
| 73000 | 1095 | Strimzi Kafka (one copy) | 80.89614 | -1014.10386 |
| 73000 | 1095 | Strimzi Kafka (two copies) | 161.79228 | -933.20772 |
| 730000 | 10950 | Strimzi Kafka (one copy) | 80.89614 | -10869.10386 |
| 730000 | 10950 | Strimzi Kafka (two copies) | 161.79228 | -10788.20772 |

**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 shard-hours/month / Strimzi Kafka (one copy) | PlanningAssumption | 0 / 0 | 0 | 2 | 8 | 100 | 0 | `service-adapter-planning-2026-10-22.1` | None reported |
| 0 shard-hours/month / Strimzi Kafka (two copies) | PlanningAssumption | 0 / 0 | 0 | 2 | 8 | 100 | 0 | `service-adapter-planning-2026-10-22.1` | None reported |
| 730 shard-hours/month / Strimzi Kafka (one copy) | PlanningAssumption | 0 / 0 | 0 | 2 | 8 | 100 | 0 | `service-adapter-planning-2026-10-22.1` | None reported |
| 730 shard-hours/month / Strimzi Kafka (two copies) | PlanningAssumption | 0 / 0 | 0 | 2 | 8 | 100 | 0 | `service-adapter-planning-2026-10-22.1` | None reported |
| 7300 shard-hours/month / Strimzi Kafka (one copy) | PlanningAssumption | 0 / 0 | 0 | 2 | 8 | 100 | 0 | `service-adapter-planning-2026-10-22.1` | None reported |
| 7300 shard-hours/month / Strimzi Kafka (two copies) | PlanningAssumption | 0 / 0 | 0 | 2 | 8 | 100 | 0 | `service-adapter-planning-2026-10-22.1` | None reported |
| 73000 shard-hours/month / Strimzi Kafka (one copy) | PlanningAssumption | 0 / 0 | 0 | 2 | 8 | 100 | 0 | `service-adapter-planning-2026-10-22.1` | None reported |
| 73000 shard-hours/month / Strimzi Kafka (two copies) | PlanningAssumption | 0 / 0 | 0 | 2 | 8 | 100 | 0 | `service-adapter-planning-2026-10-22.1` | None reported |
| 730000 shard-hours/month / Strimzi Kafka (one copy) | PlanningAssumption | 0 / 0 | 0 | 2 | 8 | 100 | 0 | `service-adapter-planning-2026-10-22.1` | None reported |
| 730000 shard-hours/month / Strimzi Kafka (two copies) | PlanningAssumption | 0 / 0 | 0 | 2 | 8 | 100 | 0 | `service-adapter-planning-2026-10-22.1` | None reported |

* 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.
* Broker CPU follows write-equivalent bytes; the row-store operations coefficient is not applied.
* Copies and allocation fractions change cost only; they do not increase modeled primary capacity.

**Curve assumptions**

| Target scenario | Assumption | Value | Unit |
| - | - | -: | - |
| Strimzi Kafka (one copy) | Origin list price · Provisioned shard-hours | 0.015 | USD/shard-hour |
| Strimzi Kafka (one copy) | Origin list price · PUT payload units | 0.000000014 | USD/25-KiB record units |
| Strimzi Kafka (one copy) | Representative record size | 1024 | bytes |
| Strimzi Kafka (one copy) | Full-stream consumer copies | 1 | copies |
| Strimzi Kafka (one copy) | Target retained history | 24 | hours |
| Strimzi Kafka (one copy) | Target record envelope | 64 | bytes/record |
| Strimzi Kafka (one copy) | Target price guess · read | 0 | USD/read |
| Strimzi Kafka (one copy) | Target price guess · write | 0 | USD/write |
| Strimzi Kafka (one copy) | Target price guess · provider operation | 0 | USD/provider operation |
| Strimzi Kafka (one copy) | Target list price · GiB-month | 0.1 | USD/GiB-month |
| Strimzi Kafka (one copy) | Target price guess · published GiB | 0 | USD/published GiB |
| Strimzi Kafka (one copy) | Target price guess · delivered GiB | 0 | USD/delivered GiB |
| Strimzi Kafka (one copy) | Target list price · network GiB | 0.12 | USD/network GiB |
| Strimzi Kafka (one copy) | Target price guess · replica GiB-month | 0 | USD/replica GiB-month |
| Strimzi Kafka (one copy) | Target list price · vCPU-hour | 0.031611 | USD/vCPU-hour |
| Strimzi Kafka (one copy) | Target list price · GiB-hour | 0.004237 | USD/GiB-hour |
| Strimzi Kafka (one copy) | Target price guess · resource-hour | 0 | USD/resource-hour |
| Strimzi Kafka (one copy) | Target price guess · resource-month | 0 | USD/resource-month |
| Strimzi Kafka (one copy) | Target price guess · input token | 0 | USD/input token |
| Strimzi Kafka (one copy) | Target price guess · output token | 0 | USD/output token |
| Strimzi Kafka (one copy) | Target monthly base charge | 0 | USD/month |
| Strimzi Kafka (one copy) | Approximate target service minimum | 0 | USD/month |
| Strimzi Kafka (one copy) | Minimum primary CPU | 2 | vCPU |
| Strimzi Kafka (one copy) | Minimum primary RAM | 8 | GiB |
| Strimzi Kafka (one copy) | Minimum primary disk | 100 | GiB |
| Strimzi Kafka (one copy) | Additional full-price standby copy | 0 | 0 or 1 |
| Strimzi Kafka (one copy) | Allocated share of provisioned cost | 1 | fraction |
| Strimzi Kafka (one copy) | Read/write work per vCPU-second | 1500 | operations/vCPU-second |
| Strimzi Kafka (one copy) | Planning peak / mean work | 2 | multiplier |
| Strimzi Kafka (one copy) | Planning primary CPU utilization | 0.5 | fraction |
| Strimzi Kafka (one copy) | Resident state reserved in RAM | 0.1 | fraction |
| Strimzi Kafka (one copy) | Planning disk utilization | 0.8 | fraction |
| Strimzi Kafka (one copy) | Maintenance and log disk reserve | 20 | GiB |
| Strimzi Kafka (one copy) | Staging database CPU unit-price guess | 0.0413 | USD/vCPU-hour |
| Strimzi Kafka (one copy) | Staging database RAM unit-price guess | 0.007 | USD/GiB-hour |
| Strimzi Kafka (one copy) | Staging database disk unit-price guess | 0.17 | USD/GiB-month |
| Strimzi Kafka (one copy) | Broker write-equivalent throughput per vCPU | 20 | MiB/vCPU-second |
| Strimzi Kafka (one copy) | Broker replicas per written byte | 3 | replicas |
| Strimzi Kafka (one copy) | Dependent object sink storage price guess | 0.023 | USD/GiB-month |
| Strimzi Kafka (one copy) | Dependent object sink write price guess | 0.000005 | USD/write |
| Strimzi Kafka (two copies) | Origin list price · Provisioned shard-hours | 0.015 | USD/shard-hour |
| Strimzi Kafka (two copies) | Origin list price · PUT payload units | 0.000000014 | USD/25-KiB record units |
| Strimzi Kafka (two copies) | Representative record size | 1024 | bytes |
| Strimzi Kafka (two copies) | Full-stream consumer copies | 1 | copies |
| Strimzi Kafka (two copies) | Target retained history | 24 | hours |
| Strimzi Kafka (two copies) | Target record envelope | 64 | bytes/record |
| Strimzi Kafka (two copies) | Target price guess · read | 0 | USD/read |
| Strimzi Kafka (two copies) | Target price guess · write | 0 | USD/write |
| Strimzi Kafka (two copies) | Target price guess · provider operation | 0 | USD/provider operation |
| Strimzi Kafka (two copies) | Target list price · GiB-month | 0.1 | USD/GiB-month |
| Strimzi Kafka (two copies) | Target price guess · published GiB | 0 | USD/published GiB |
| Strimzi Kafka (two copies) | Target price guess · delivered GiB | 0 | USD/delivered GiB |
| Strimzi Kafka (two copies) | Target list price · network GiB | 0.12 | USD/network GiB |
| Strimzi Kafka (two copies) | Target price guess · replica GiB-month | 0 | USD/replica GiB-month |
| Strimzi Kafka (two copies) | Target list price · vCPU-hour | 0.031611 | USD/vCPU-hour |
| Strimzi Kafka (two copies) | Target list price · GiB-hour | 0.004237 | USD/GiB-hour |
| Strimzi Kafka (two copies) | Target price guess · resource-hour | 0 | USD/resource-hour |
| Strimzi Kafka (two copies) | Target price guess · resource-month | 0 | USD/resource-month |
| Strimzi Kafka (two copies) | Target price guess · input token | 0 | USD/input token |
| Strimzi Kafka (two copies) | Target price guess · output token | 0 | USD/output token |
| Strimzi Kafka (two copies) | Target monthly base charge | 0 | USD/month |
| Strimzi Kafka (two copies) | Approximate target service minimum | 0 | USD/month |
| Strimzi Kafka (two copies) | Minimum primary CPU | 2 | vCPU |
| Strimzi Kafka (two copies) | Minimum primary RAM | 8 | GiB |
| Strimzi Kafka (two copies) | Minimum primary disk | 100 | GiB |
| Strimzi Kafka (two copies) | Additional full-price standby copy | 1 | 0 or 1 |
| Strimzi Kafka (two copies) | Allocated share of provisioned cost | 1 | fraction |
| Strimzi Kafka (two copies) | Read/write work per vCPU-second | 1500 | operations/vCPU-second |
| Strimzi Kafka (two copies) | Planning peak / mean work | 2 | multiplier |
| Strimzi Kafka (two copies) | Planning primary CPU utilization | 0.5 | fraction |
| Strimzi Kafka (two copies) | Resident state reserved in RAM | 0.1 | fraction |
| Strimzi Kafka (two copies) | Planning disk utilization | 0.8 | fraction |
| Strimzi Kafka (two copies) | Maintenance and log disk reserve | 20 | GiB |
| Strimzi Kafka (two copies) | Staging database CPU unit-price guess | 0.0413 | USD/vCPU-hour |
| Strimzi Kafka (two copies) | Staging database RAM unit-price guess | 0.007 | USD/GiB-hour |
| Strimzi Kafka (two copies) | Staging database disk unit-price guess | 0.17 | USD/GiB-month |
| Strimzi Kafka (two copies) | Broker write-equivalent throughput per vCPU | 20 | MiB/vCPU-second |
| Strimzi Kafka (two copies) | Broker replicas per written byte | 3 | replicas |
| Strimzi Kafka (two copies) | Dependent object sink storage price guess | 0.023 | USD/GiB-month |
| Strimzi Kafka (two copies) | Dependent object sink write price guess | 0.000005 | USD/write |

* Provisioned capacity alone does not reveal actual record traffic; PUT meter stays independent. 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.
* Retention and consumer copies drive physical work. Origin shard-hours are not proof that a target broker or database meets the same throughput.
* A KCL DynamoDB lease table is a separate workload; enhanced fan-out and extended retention origin tariffs are outside this provisioned profile.
* Self-hosted target: Strimzi and Apache Kafka (Apache-2.0, [https://github.com/strimzi/strimzi-kafka-operator/blob/main/LICENSE](https://github.com/strimzi/strimzi-kafka-operator/blob/main/LICENSE)); Kafka replication multiplies disk beyond the copies this model bills. 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.
* Broker CPU follows write-equivalent bytes; the row-store operations coefficient is not applied.
* Copies and allocation fractions change cost only; they do not increase modeled primary capacity.
* AWS Price List API, AmazonKinesis offer: [https://pricing.us-east-1.amazonaws.com/offers/v1.0/aws/AmazonKinesis/current/us-east-1/index.json](https://pricing.us-east-1.amazonaws.com/offers/v1.0/aws/AmazonKinesis/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-345e11fb79eca5767bb2e6fcf2891ab45eff792c` / `2026-10-22.planning.2`. Curve: `workload-2`.

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

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


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