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

# Cloud Storage costs

> Compare Cloud Storage backend choices using explicit service-adapter planning assumptions.

Tensor9 Cloud Adapter planning comparisons for `google::1.0.0::gcs`, with backend choices shown together. Read [how to think about service-adapter costs](/cloud-adapter/costs/overview) for price scope and capacity qualification, or return to [additional services](/cloud-adapter/costs/additional-services).

## Google Cloud Storage → Blob Storage

Origin API: `google::1.0.0::gcs`. Target backend: `azure::1.0.0::blob-storage`.

**Planning estimate with editable assumptions.** Unit rates, workload amplification and capacity assumptions are educated guesses awaiting verification. The displayed amounts are planning estimates, not verified provider list-price quotes or benchmark-qualified capacity. Region names identify the authored scenario assumptions.

**Designed mapping.** This cost model describes an intended adapter. Its estimated price does not establish a delivered or selectable backend.

### Google Cloud Storage · Stored data

**Planning estimate with editable assumptions.** These authored unit rates and capacity assumptions require provider-price verification and representative benchmarks. They do not constitute verified list-price quotes or evidence that an adapter is available.

Estimated monthly service charges from native source usage; no calculator input is required. Adapter hosting and Tensor9 fees are excluded. Source: Explicit source planning region; target: Explicit target planning region; currency: USD.

<div className="t9-diagram-scroll" role="region" aria-label="Service charge comparison" tabIndex={0}>
  <img className="t9-diagram-light" src="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA4NjAgNDI2IiByb2xlPSJpbWciIGFyaWEtbGFiZWxsZWRieT0idGl0bGUgZGVzYyI+Cjx0aXRsZSBpZD0idGl0bGUiPkdvb2dsZSBDbG91ZCBTdG9yYWdlIMK3IFN0b3JlZCBkYXRhPC90aXRsZT4KPGRlc2MgaWQ9ImRlc2MiPlBsYW5uaW5nIGVzdGltYXRlcyBpbiBVU0QgYnkgU3RvcmVkIGRhdGEuIFdvcmtsb2FkIGF4aXM6IGxvZ2FyaXRobWljIHBvc2l0aXZlIHZhbHVlczsgemVybyBzaG93biBzZXBhcmF0ZWx5LiBDb3N0IGF4aXM6IGxvZ2FyaXRobWljIHBvc2l0aXZlIHZhbHVlczsgemVybyBjb3N0IHNob3duIHNlcGFyYXRlbHkuIEV4YWN0IHZhbHVlcywgYXNzdW1wdGlvbnMgYW5kIGV4Y2x1c2lvbnMgYXBwZWFyIGluIHRoZSBhZGphY2VudCB0YWJsZSBhbmQgdGV4dC4gQWRhcHRlciBob3N0aW5nIGFuZCBUZW5zb3I5IGZlZXMgYXJlIGV4Y2x1ZGVkLjwvZGVzYz4KPHJlY3Qgd2lkdGg9Ijg2MCIgaGVpZ2h0PSIxMDAlIiBmaWxsPSIjZmZmZmZmIi8+CjxnIGZvbnQtZmFtaWx5PSJzeXN0ZW0tdWksc2Fucy1zZXJpZiIgZm9udC1zaXplPSIxMyIgZmlsbD0iIzFmMjkzNyI+Cjx0ZXh0IHg9Ijg0IiB5PSIyNiIgZm9udC1zaXplPSIxNyIgZm9udC13ZWlnaHQ9IjYwMCI+R29vZ2xlIENsb3VkIFN0b3JhZ2UgwrcgU3RvcmVkIGRhdGE8L3RleHQ+Cjx0ZXh0IHg9Ijg0IiB5PSI0NyI+TW9udGhseSBzZXJ2aWNlIGNoYXJnZXMgKFVTRDsgbG9nYXJpdGhtaWMgY29zdCBheGlzOyB6ZXJvIHNlcGFyYXRlKTwvdGV4dD4KPGxpbmUgeDE9Ijg0IiB4Mj0iNzk4IiB5MT0iMjkwLjAiIHkyPSIyOTAuMCIgc3Ryb2tlPSIjZTVlN2ViIi8+Cjx0ZXh0IHg9Ijc2IiB5PSIyOTQuMCIgdGV4dC1hbmNob3I9ImVuZCI+MDwvdGV4dD4KPGxpbmUgeDE9Ijg0IiB4Mj0iNzk4IiB5MT0iMjY2LjAiIHkyPSIyNjYuMCIgc3Ryb2tlPSIjZTVlN2ViIi8+Cjx0ZXh0IHg9Ijc2IiB5PSIyNzAuMCIgdGV4dC1hbmNob3I9ImVuZCI+MC4xPC90ZXh0Pgo8bGluZSB4MT0iODQiIHgyPSI3OTgiIHkxPSIyMjQuOCIgeTI9IjIyNC44IiBzdHJva2U9IiNlNWU3ZWIiLz4KPHRleHQgeD0iNzYiIHk9IjIyOC44IiB0ZXh0LWFuY2hvcj0iZW5kIj4xPC90ZXh0Pgo8bGluZSB4MT0iODQiIHgyPSI3OTgiIHkxPSIxODMuNiIgeTI9IjE4My42IiBzdHJva2U9IiNlNWU3ZWIiLz4KPHRleHQgeD0iNzYiIHk9IjE4Ny42IiB0ZXh0LWFuY2hvcj0iZW5kIj4xMDwvdGV4dD4KPGxpbmUgeDE9Ijg0IiB4Mj0iNzk4IiB5MT0iMTQyLjQiIHkyPSIxNDIuNCIgc3Ryb2tlPSIjZTVlN2ViIi8+Cjx0ZXh0IHg9Ijc2IiB5PSIxNDYuNCIgdGV4dC1hbmNob3I9ImVuZCI+MTAwPC90ZXh0Pgo8bGluZSB4MT0iODQiIHgyPSI3OTgiIHkxPSIxMDEuMiIgeTI9IjEwMS4yIiBzdHJva2U9IiNlNWU3ZWIiLz4KPHRleHQgeD0iNzYiIHk9IjEwNS4yIiB0ZXh0LWFuY2hvcj0iZW5kIj4xMDAwPC90ZXh0Pgo8bGluZSB4MT0iODQiIHgyPSI3OTgiIHkxPSI2MC4wIiB5Mj0iNjAuMCIgc3Ryb2tlPSIjZTVlN2ViIi8+Cjx0ZXh0IHg9Ijc2IiB5PSI2NC4wIiB0ZXh0LWFuY2hvcj0iZW5kIj4xMDAwMDwvdGV4dD4KPGxpbmUgeDE9Ijg0IiB4Mj0iODQiIHkxPSI2MCIgeTI9IjI5MCIgc3Ryb2tlPSIjMWYyOTM3Ii8+CjxsaW5lIHgxPSI4NCIgeDI9Ijg0IiB5MT0iMjkwIiB5Mj0iMjk1IiBzdHJva2U9IiMxZjI5MzciLz4KPHRleHQgeD0iODQiIHk9IjMxMSIgdGV4dC1hbmNob3I9Im1pZGRsZSIgZGF0YS1heGlzLWxhYmVsPSJ0cnVlIj4wPC90ZXh0Pgo8bGluZSB4MT0iMTU2IiB4Mj0iMTU2IiB5MT0iMjkwIiB5Mj0iMjk1IiBzdHJva2U9IiMxZjI5MzciLz4KPHRleHQgeD0iMTU2IiB5PSIzMTEiIHRleHQtYW5jaG9yPSJtaWRkbGUiIGRhdGEtYXhpcy1sYWJlbD0idHJ1ZSI+MTA8L3RleHQ+CjxsaW5lIHgxPSIzMTYuNSIgeDI9IjMxNi41IiB5MT0iMjkwIiB5Mj0iMjk1IiBzdHJva2U9IiMxZjI5MzciLz4KPHRleHQgeD0iMzE2LjUiIHk9IjMxMSIgdGV4dC1hbmNob3I9Im1pZGRsZSIgZGF0YS1heGlzLWxhYmVsPSJ0cnVlIj4xMDA8L3RleHQ+CjxsaW5lIHgxPSI0NzciIHgyPSI0NzciIHkxPSIyOTAiIHkyPSIyOTUiIHN0cm9rZT0iIzFmMjkzNyIvPgo8dGV4dCB4PSI0NzciIHk9IjMxMSIgdGV4dC1hbmNob3I9Im1pZGRsZSIgZGF0YS1heGlzLWxhYmVsPSJ0cnVlIj4xMDAwPC90ZXh0Pgo8bGluZSB4MT0iNjM3LjUiIHgyPSI2MzcuNSIgeTE9IjI5MCIgeTI9IjI5NSIgc3Ryb2tlPSIjMWYyOTM3Ii8+Cjx0ZXh0IHg9IjYzNy41IiB5PSIzMTEiIHRleHQtYW5jaG9yPSJtaWRkbGUiIGRhdGEtYXhpcy1sYWJlbD0idHJ1ZSI+MTAwMDA8L3RleHQ+CjxsaW5lIHgxPSI3OTgiIHgyPSI3OTgiIHkxPSIyOTAiIHkyPSIyOTUiIHN0cm9rZT0iIzFmMjkzNyIvPgo8dGV4dCB4PSI3OTgiIHk9IjMxMSIgdGV4dC1hbmNob3I9Im1pZGRsZSIgZGF0YS1heGlzLWxhYmVsPSJ0cnVlIj4xMDAwMDA8L3RleHQ+CjxwYXRoIGQ9Ik0xMTYgMjg3IGw1IDYgbTIgLTYgbDUgNiIgc3Ryb2tlPSIjMWYyOTM3IiBmaWxsPSJub25lIi8+Cjx0ZXh0IHg9IjQ0MSIgeT0iMzM2IiB0ZXh0LWFuY2hvcj0ibWlkZGxlIj5TdG9yZWQgZGF0YSAoR2lCLW1vbnRoKTwvdGV4dD4KPHRleHQgeD0iODQiIHk9IjM1OCI+V29ya2xvYWQgYXhpczogbG9nYXJpdGhtaWMgcG9zaXRpdmUgdmFsdWVzOyB6ZXJvIHNob3duIHNlcGFyYXRlbHkuPC90ZXh0Pgo8cG9seWxpbmUgcG9pbnRzPSI4NCwyOTAgMTU2LDI1My41OTggMzE2LjUsMjEyLjM5OCA0NzcsMTcxLjE5OCA2MzcuNSwxMjkuOTk4IDc5OCw4OC43OTgiIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzFmMjkzNyIgc3Ryb2tlLXdpZHRoPSIyLjUiIHN0cm9rZS1kYXNoYXJyYXk9IjYgNCIvPgo8Y2lyY2xlIGRhdGEtc2VyaWVzPSJvcmlnaW4iIGRhdGEtYXhpcz0iMCIgY3g9Ijg0IiBjeT0iMjkwIiByPSIzLjUiIGZpbGw9IiNmZmZmZmYiIHN0cm9rZT0iIzFmMjkzNyIgc3Ryb2tlLXdpZHRoPSIyIi8+CjxjaXJjbGUgZGF0YS1zZXJpZXM9Im9yaWdpbiIgZGF0YS1heGlzPSIxMCIgY3g9IjE1NiIgY3k9IjI1My41OTgiIHI9IjMuNSIgZmlsbD0iI2ZmZmZmZiIgc3Ryb2tlPSIjMWYyOTM3IiBzdHJva2Utd2lkdGg9IjIiLz4KPGNpcmNsZSBkYXRhLXNlcmllcz0ib3JpZ2luIiBkYXRhLWF4aXM9IjEwMCIgY3g9IjMxNi41IiBjeT0iMjEyLjM5OCIgcj0iMy41IiBmaWxsPSIjZmZmZmZmIiBzdHJva2U9IiMxZjI5MzciIHN0cm9rZS13aWR0aD0iMiIvPgo8Y2lyY2xlIGRhdGEtc2VyaWVzPSJvcmlnaW4iIGRhdGEtYXhpcz0iMTAwMCIgY3g9IjQ3NyIgY3k9IjE3MS4xOTgiIHI9IjMuNSIgZmlsbD0iI2ZmZmZmZiIgc3Ryb2tlPSIjMWYyOTM3IiBzdHJva2Utd2lkdGg9IjIiLz4KPGNpcmNsZSBkYXRhLXNlcmllcz0ib3JpZ2luIiBkYXRhLWF4aXM9IjEwMDAwIiBjeD0iNjM3LjUiIGN5PSIxMjkuOTk4IiByPSIzLjUiIGZpbGw9IiNmZmZmZmYiIHN0cm9rZT0iIzFmMjkzNyIgc3Ryb2tlLXdpZHRoPSIyIi8+CjxjaXJjbGUgZGF0YS1zZXJpZXM9Im9yaWdpbiIgZGF0YS1heGlzPSIxMDAwMDAiIGN4PSI3OTgiIGN5PSI4OC43OTgiIHI9IjMuNSIgZmlsbD0iI2ZmZmZmZiIgc3Ryb2tlPSIjMWYyOTM3IiBzdHJva2Utd2lkdGg9IjIiLz4KPGxpbmUgeDE9Ijg0IiB4Mj0iMTE0IiB5MT0iMzgwIiB5Mj0iMzgwIiBzdHJva2U9IiMxZjI5MzciIHN0cm9rZS13aWR0aD0iMi41IiBzdHJva2UtZGFzaGFycmF5PSI2IDQiLz4KPHRleHQgeD0iMTIzIiB5PSIzODQiPk9yaWdpbiBzZXJ2aWNlPC90ZXh0Pgo8cG9seWxpbmUgZGF0YS1zZXJpZXM9Im5hdGl2ZSIgcG9pbnRzPSI4NCwyOTAgMTU2LDI1My41OTggMzE2LjUsMjEyLjM5OCA0NzcsMTcxLjE5OCA2MzcuNSwxMjkuOTk4IDc5OCw4OC43OTgiIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzFkNGVkOCIgc3Ryb2tlLXdpZHRoPSIyLjUiIHN0cm9rZS1kYXNoYXJyYXk9IjEwIDQiLz4KPGNpcmNsZSBkYXRhLXNlcmllcz0ibmF0aXZlIiBkYXRhLWF4aXM9IjAiIGN4PSI4NCIgY3k9IjI5MCIgcj0iNCIgZmlsbD0iI2ZmZmZmZiIgc3Ryb2tlPSIjMWQ0ZWQ4IiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1kYXNoYXJyYXk9IjEwIDQiLz4KPGNpcmNsZSBkYXRhLXNlcmllcz0ibmF0aXZlIiBkYXRhLWF4aXM9IjEwIiBjeD0iMTU2IiBjeT0iMjUzLjU5OCIgcj0iNCIgZmlsbD0iI2ZmZmZmZiIgc3Ryb2tlPSIjMWQ0ZWQ4IiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1kYXNoYXJyYXk9IjEwIDQiLz4KPGNpcmNsZSBkYXRhLXNlcmllcz0ibmF0aXZlIiBkYXRhLWF4aXM9IjEwMCIgY3g9IjMxNi41IiBjeT0iMjEyLjM5OCIgcj0iNCIgZmlsbD0iI2ZmZmZmZiIgc3Ryb2tlPSIjMWQ0ZWQ4IiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1kYXNoYXJyYXk9IjEwIDQiLz4KPGNpcmNsZSBkYXRhLXNlcmllcz0ibmF0aXZlIiBkYXRhLWF4aXM9IjEwMDAiIGN4PSI0NzciIGN5PSIxNzEuMTk4IiByPSI0IiBmaWxsPSIjZmZmZmZmIiBzdHJva2U9IiMxZDRlZDgiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWRhc2hhcnJheT0iMTAgNCIvPgo8Y2lyY2xlIGRhdGEtc2VyaWVzPSJuYXRpdmUiIGRhdGEtYXhpcz0iMTAwMDAiIGN4PSI2MzcuNSIgY3k9IjEyOS45OTgiIHI9IjQiIGZpbGw9IiNmZmZmZmYiIHN0cm9rZT0iIzFkNGVkOCIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtZGFzaGFycmF5PSIxMCA0Ii8+CjxjaXJjbGUgZGF0YS1zZXJpZXM9Im5hdGl2ZSIgZGF0YS1heGlzPSIxMDAwMDAiIGN4PSI3OTgiIGN5PSI4OC43OTgiIHI9IjQiIGZpbGw9IiNmZmZmZmYiIHN0cm9rZT0iIzFkNGVkOCIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtZGFzaGFycmF5PSIxMCA0Ii8+CjxsaW5lIHgxPSI4NCIgeDI9IjExNCIgeTE9IjQwMiIgeTI9IjQwMiIgc3Ryb2tlPSIjMWQ0ZWQ4IiBzdHJva2Utd2lkdGg9IjIuNSIgc3Ryb2tlLWRhc2hhcnJheT0iMTAgNCIvPgo8dGV4dCB4PSIxMjMiIHk9IjQwNiI+UGxhbm5pbmcgbmF0aXZlIGJhY2tlbmQ8L3RleHQ+CjwvZz48L3N2Zz4K" alt="Google Cloud Storage · Stored data: monthly service charges by Stored data. Exact values are in the following table." />

  <img className="t9-diagram-dark" src="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA4NjAgNDI2IiByb2xlPSJpbWciIGFyaWEtbGFiZWxsZWRieT0idGl0bGUgZGVzYyI+Cjx0aXRsZSBpZD0idGl0bGUiPkdvb2dsZSBDbG91ZCBTdG9yYWdlIMK3IFN0b3JlZCBkYXRhPC90aXRsZT4KPGRlc2MgaWQ9ImRlc2MiPlBsYW5uaW5nIGVzdGltYXRlcyBpbiBVU0QgYnkgU3RvcmVkIGRhdGEuIFdvcmtsb2FkIGF4aXM6IGxvZ2FyaXRobWljIHBvc2l0aXZlIHZhbHVlczsgemVybyBzaG93biBzZXBhcmF0ZWx5LiBDb3N0IGF4aXM6IGxvZ2FyaXRobWljIHBvc2l0aXZlIHZhbHVlczsgemVybyBjb3N0IHNob3duIHNlcGFyYXRlbHkuIEV4YWN0IHZhbHVlcywgYXNzdW1wdGlvbnMgYW5kIGV4Y2x1c2lvbnMgYXBwZWFyIGluIHRoZSBhZGphY2VudCB0YWJsZSBhbmQgdGV4dC4gQWRhcHRlciBob3N0aW5nIGFuZCBUZW5zb3I5IGZlZXMgYXJlIGV4Y2x1ZGVkLjwvZGVzYz4KPHJlY3Qgd2lkdGg9Ijg2MCIgaGVpZ2h0PSIxMDAlIiBmaWxsPSIjMTExODI3Ii8+CjxnIGZvbnQtZmFtaWx5PSJzeXN0ZW0tdWksc2Fucy1zZXJpZiIgZm9udC1zaXplPSIxMyIgZmlsbD0iI2U1ZTdlYiI+Cjx0ZXh0IHg9Ijg0IiB5PSIyNiIgZm9udC1zaXplPSIxNyIgZm9udC13ZWlnaHQ9IjYwMCI+R29vZ2xlIENsb3VkIFN0b3JhZ2UgwrcgU3RvcmVkIGRhdGE8L3RleHQ+Cjx0ZXh0IHg9Ijg0IiB5PSI0NyI+TW9udGhseSBzZXJ2aWNlIGNoYXJnZXMgKFVTRDsgbG9nYXJpdGhtaWMgY29zdCBheGlzOyB6ZXJvIHNlcGFyYXRlKTwvdGV4dD4KPGxpbmUgeDE9Ijg0IiB4Mj0iNzk4IiB5MT0iMjkwLjAiIHkyPSIyOTAuMCIgc3Ryb2tlPSIjMzc0MTUxIi8+Cjx0ZXh0IHg9Ijc2IiB5PSIyOTQuMCIgdGV4dC1hbmNob3I9ImVuZCI+MDwvdGV4dD4KPGxpbmUgeDE9Ijg0IiB4Mj0iNzk4IiB5MT0iMjY2LjAiIHkyPSIyNjYuMCIgc3Ryb2tlPSIjMzc0MTUxIi8+Cjx0ZXh0IHg9Ijc2IiB5PSIyNzAuMCIgdGV4dC1hbmNob3I9ImVuZCI+MC4xPC90ZXh0Pgo8bGluZSB4MT0iODQiIHgyPSI3OTgiIHkxPSIyMjQuOCIgeTI9IjIyNC44IiBzdHJva2U9IiMzNzQxNTEiLz4KPHRleHQgeD0iNzYiIHk9IjIyOC44IiB0ZXh0LWFuY2hvcj0iZW5kIj4xPC90ZXh0Pgo8bGluZSB4MT0iODQiIHgyPSI3OTgiIHkxPSIxODMuNiIgeTI9IjE4My42IiBzdHJva2U9IiMzNzQxNTEiLz4KPHRleHQgeD0iNzYiIHk9IjE4Ny42IiB0ZXh0LWFuY2hvcj0iZW5kIj4xMDwvdGV4dD4KPGxpbmUgeDE9Ijg0IiB4Mj0iNzk4IiB5MT0iMTQyLjQiIHkyPSIxNDIuNCIgc3Ryb2tlPSIjMzc0MTUxIi8+Cjx0ZXh0IHg9Ijc2IiB5PSIxNDYuNCIgdGV4dC1hbmNob3I9ImVuZCI+MTAwPC90ZXh0Pgo8bGluZSB4MT0iODQiIHgyPSI3OTgiIHkxPSIxMDEuMiIgeTI9IjEwMS4yIiBzdHJva2U9IiMzNzQxNTEiLz4KPHRleHQgeD0iNzYiIHk9IjEwNS4yIiB0ZXh0LWFuY2hvcj0iZW5kIj4xMDAwPC90ZXh0Pgo8bGluZSB4MT0iODQiIHgyPSI3OTgiIHkxPSI2MC4wIiB5Mj0iNjAuMCIgc3Ryb2tlPSIjMzc0MTUxIi8+Cjx0ZXh0IHg9Ijc2IiB5PSI2NC4wIiB0ZXh0LWFuY2hvcj0iZW5kIj4xMDAwMDwvdGV4dD4KPGxpbmUgeDE9Ijg0IiB4Mj0iODQiIHkxPSI2MCIgeTI9IjI5MCIgc3Ryb2tlPSIjZTVlN2ViIi8+CjxsaW5lIHgxPSI4NCIgeDI9Ijg0IiB5MT0iMjkwIiB5Mj0iMjk1IiBzdHJva2U9IiNlNWU3ZWIiLz4KPHRleHQgeD0iODQiIHk9IjMxMSIgdGV4dC1hbmNob3I9Im1pZGRsZSIgZGF0YS1heGlzLWxhYmVsPSJ0cnVlIj4wPC90ZXh0Pgo8bGluZSB4MT0iMTU2IiB4Mj0iMTU2IiB5MT0iMjkwIiB5Mj0iMjk1IiBzdHJva2U9IiNlNWU3ZWIiLz4KPHRleHQgeD0iMTU2IiB5PSIzMTEiIHRleHQtYW5jaG9yPSJtaWRkbGUiIGRhdGEtYXhpcy1sYWJlbD0idHJ1ZSI+MTA8L3RleHQ+CjxsaW5lIHgxPSIzMTYuNSIgeDI9IjMxNi41IiB5MT0iMjkwIiB5Mj0iMjk1IiBzdHJva2U9IiNlNWU3ZWIiLz4KPHRleHQgeD0iMzE2LjUiIHk9IjMxMSIgdGV4dC1hbmNob3I9Im1pZGRsZSIgZGF0YS1heGlzLWxhYmVsPSJ0cnVlIj4xMDA8L3RleHQ+CjxsaW5lIHgxPSI0NzciIHgyPSI0NzciIHkxPSIyOTAiIHkyPSIyOTUiIHN0cm9rZT0iI2U1ZTdlYiIvPgo8dGV4dCB4PSI0NzciIHk9IjMxMSIgdGV4dC1hbmNob3I9Im1pZGRsZSIgZGF0YS1heGlzLWxhYmVsPSJ0cnVlIj4xMDAwPC90ZXh0Pgo8bGluZSB4MT0iNjM3LjUiIHgyPSI2MzcuNSIgeTE9IjI5MCIgeTI9IjI5NSIgc3Ryb2tlPSIjZTVlN2ViIi8+Cjx0ZXh0IHg9IjYzNy41IiB5PSIzMTEiIHRleHQtYW5jaG9yPSJtaWRkbGUiIGRhdGEtYXhpcy1sYWJlbD0idHJ1ZSI+MTAwMDA8L3RleHQ+CjxsaW5lIHgxPSI3OTgiIHgyPSI3OTgiIHkxPSIyOTAiIHkyPSIyOTUiIHN0cm9rZT0iI2U1ZTdlYiIvPgo8dGV4dCB4PSI3OTgiIHk9IjMxMSIgdGV4dC1hbmNob3I9Im1pZGRsZSIgZGF0YS1heGlzLWxhYmVsPSJ0cnVlIj4xMDAwMDA8L3RleHQ+CjxwYXRoIGQ9Ik0xMTYgMjg3IGw1IDYgbTIgLTYgbDUgNiIgc3Ryb2tlPSIjZTVlN2ViIiBmaWxsPSJub25lIi8+Cjx0ZXh0IHg9IjQ0MSIgeT0iMzM2IiB0ZXh0LWFuY2hvcj0ibWlkZGxlIj5TdG9yZWQgZGF0YSAoR2lCLW1vbnRoKTwvdGV4dD4KPHRleHQgeD0iODQiIHk9IjM1OCI+V29ya2xvYWQgYXhpczogbG9nYXJpdGhtaWMgcG9zaXRpdmUgdmFsdWVzOyB6ZXJvIHNob3duIHNlcGFyYXRlbHkuPC90ZXh0Pgo8cG9seWxpbmUgcG9pbnRzPSI4NCwyOTAgMTU2LDI1My41OTggMzE2LjUsMjEyLjM5OCA0NzcsMTcxLjE5OCA2MzcuNSwxMjkuOTk4IDc5OCw4OC43OTgiIGZpbGw9Im5vbmUiIHN0cm9rZT0iI2U1ZTdlYiIgc3Ryb2tlLXdpZHRoPSIyLjUiIHN0cm9rZS1kYXNoYXJyYXk9IjYgNCIvPgo8Y2lyY2xlIGRhdGEtc2VyaWVzPSJvcmlnaW4iIGRhdGEtYXhpcz0iMCIgY3g9Ijg0IiBjeT0iMjkwIiByPSIzLjUiIGZpbGw9IiMxMTE4MjciIHN0cm9rZT0iI2U1ZTdlYiIgc3Ryb2tlLXdpZHRoPSIyIi8+CjxjaXJjbGUgZGF0YS1zZXJpZXM9Im9yaWdpbiIgZGF0YS1heGlzPSIxMCIgY3g9IjE1NiIgY3k9IjI1My41OTgiIHI9IjMuNSIgZmlsbD0iIzExMTgyNyIgc3Ryb2tlPSIjZTVlN2ViIiBzdHJva2Utd2lkdGg9IjIiLz4KPGNpcmNsZSBkYXRhLXNlcmllcz0ib3JpZ2luIiBkYXRhLWF4aXM9IjEwMCIgY3g9IjMxNi41IiBjeT0iMjEyLjM5OCIgcj0iMy41IiBmaWxsPSIjMTExODI3IiBzdHJva2U9IiNlNWU3ZWIiIHN0cm9rZS13aWR0aD0iMiIvPgo8Y2lyY2xlIGRhdGEtc2VyaWVzPSJvcmlnaW4iIGRhdGEtYXhpcz0iMTAwMCIgY3g9IjQ3NyIgY3k9IjE3MS4xOTgiIHI9IjMuNSIgZmlsbD0iIzExMTgyNyIgc3Ryb2tlPSIjZTVlN2ViIiBzdHJva2Utd2lkdGg9IjIiLz4KPGNpcmNsZSBkYXRhLXNlcmllcz0ib3JpZ2luIiBkYXRhLWF4aXM9IjEwMDAwIiBjeD0iNjM3LjUiIGN5PSIxMjkuOTk4IiByPSIzLjUiIGZpbGw9IiMxMTE4MjciIHN0cm9rZT0iI2U1ZTdlYiIgc3Ryb2tlLXdpZHRoPSIyIi8+CjxjaXJjbGUgZGF0YS1zZXJpZXM9Im9yaWdpbiIgZGF0YS1heGlzPSIxMDAwMDAiIGN4PSI3OTgiIGN5PSI4OC43OTgiIHI9IjMuNSIgZmlsbD0iIzExMTgyNyIgc3Ryb2tlPSIjZTVlN2ViIiBzdHJva2Utd2lkdGg9IjIiLz4KPGxpbmUgeDE9Ijg0IiB4Mj0iMTE0IiB5MT0iMzgwIiB5Mj0iMzgwIiBzdHJva2U9IiNlNWU3ZWIiIHN0cm9rZS13aWR0aD0iMi41IiBzdHJva2UtZGFzaGFycmF5PSI2IDQiLz4KPHRleHQgeD0iMTIzIiB5PSIzODQiPk9yaWdpbiBzZXJ2aWNlPC90ZXh0Pgo8cG9seWxpbmUgZGF0YS1zZXJpZXM9Im5hdGl2ZSIgcG9pbnRzPSI4NCwyOTAgMTU2LDI1My41OTggMzE2LjUsMjEyLjM5OCA0NzcsMTcxLjE5OCA2MzcuNSwxMjkuOTk4IDc5OCw4OC43OTgiIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzYwYTVmYSIgc3Ryb2tlLXdpZHRoPSIyLjUiIHN0cm9rZS1kYXNoYXJyYXk9IjEwIDQiLz4KPGNpcmNsZSBkYXRhLXNlcmllcz0ibmF0aXZlIiBkYXRhLWF4aXM9IjAiIGN4PSI4NCIgY3k9IjI5MCIgcj0iNCIgZmlsbD0iIzExMTgyNyIgc3Ryb2tlPSIjNjBhNWZhIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1kYXNoYXJyYXk9IjEwIDQiLz4KPGNpcmNsZSBkYXRhLXNlcmllcz0ibmF0aXZlIiBkYXRhLWF4aXM9IjEwIiBjeD0iMTU2IiBjeT0iMjUzLjU5OCIgcj0iNCIgZmlsbD0iIzExMTgyNyIgc3Ryb2tlPSIjNjBhNWZhIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1kYXNoYXJyYXk9IjEwIDQiLz4KPGNpcmNsZSBkYXRhLXNlcmllcz0ibmF0aXZlIiBkYXRhLWF4aXM9IjEwMCIgY3g9IjMxNi41IiBjeT0iMjEyLjM5OCIgcj0iNCIgZmlsbD0iIzExMTgyNyIgc3Ryb2tlPSIjNjBhNWZhIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1kYXNoYXJyYXk9IjEwIDQiLz4KPGNpcmNsZSBkYXRhLXNlcmllcz0ibmF0aXZlIiBkYXRhLWF4aXM9IjEwMDAiIGN4PSI0NzciIGN5PSIxNzEuMTk4IiByPSI0IiBmaWxsPSIjMTExODI3IiBzdHJva2U9IiM2MGE1ZmEiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWRhc2hhcnJheT0iMTAgNCIvPgo8Y2lyY2xlIGRhdGEtc2VyaWVzPSJuYXRpdmUiIGRhdGEtYXhpcz0iMTAwMDAiIGN4PSI2MzcuNSIgY3k9IjEyOS45OTgiIHI9IjQiIGZpbGw9IiMxMTE4MjciIHN0cm9rZT0iIzYwYTVmYSIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtZGFzaGFycmF5PSIxMCA0Ii8+CjxjaXJjbGUgZGF0YS1zZXJpZXM9Im5hdGl2ZSIgZGF0YS1heGlzPSIxMDAwMDAiIGN4PSI3OTgiIGN5PSI4OC43OTgiIHI9IjQiIGZpbGw9IiMxMTE4MjciIHN0cm9rZT0iIzYwYTVmYSIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtZGFzaGFycmF5PSIxMCA0Ii8+CjxsaW5lIHgxPSI4NCIgeDI9IjExNCIgeTE9IjQwMiIgeTI9IjQwMiIgc3Ryb2tlPSIjNjBhNWZhIiBzdHJva2Utd2lkdGg9IjIuNSIgc3Ryb2tlLWRhc2hhcnJheT0iMTAgNCIvPgo8dGV4dCB4PSIxMjMiIHk9IjQwNiI+UGxhbm5pbmcgbmF0aXZlIGJhY2tlbmQ8L3RleHQ+CjwvZz48L3N2Zz4K" alt="Google Cloud Storage · Stored data: monthly service charges by Stored data. Exact values are in the following table." />
</div>

Exact sampled model outputs in USD/month. Difference means target minus origin; a positive difference means the target costs more.

| Stored data (GiB-month) | Origin | Target scenario | Target | Difference |
| -: | -: | - | -: | -: |
| 0 | 0 | Planning native backend | 0 | 0 |
| 10 | 0.2 | Planning native backend | 0.2 | 0 |
| 100 | 2 | Planning native backend | 2 | 0 |
| 1000 | 20 | Planning native backend | 20 | 0 |
| 10000 | 200 | Planning native backend | 200 | 0 |
| 100000 | 2000 | Planning native backend | 2000 | 0 |

**Curve assumptions**

| Target scenario | Assumption | Value | Unit |
| - | - | -: | - |
| Planning native backend | Origin price guess · Stored object data | 0.02 | USD/GiB-month |
| Planning native backend | Origin price guess · Object writes | 0.000005 | USD/requests |
| Planning native backend | Origin price guess · Object reads | 0.0000004 | USD/requests |
| Planning native backend | Origin price guess · Billable origin network transfer | 0.09 | USD/GiB |
| Planning native backend | Representative transferred object size | 1048576 | bytes |
| Planning native backend | Target requests per write | 1 | requests |
| Planning native backend | Target requests per read | 1 | requests |
| Planning native backend | Target price guess · read | 0.0000004 | USD/read |
| Planning native backend | Target price guess · write | 0.000005 | USD/write |
| Planning native backend | Target price guess · provider operation | 0 | USD/provider operation |
| Planning native backend | Target price guess · GiB-month | 0.02 | USD/GiB-month |
| Planning native backend | Target price guess · published GiB | 0 | USD/published GiB |
| Planning native backend | Target price guess · delivered GiB | 0 | USD/delivered GiB |
| Planning native backend | Target price guess · network GiB | 0.09 | USD/network GiB |
| Planning native backend | Target price guess · replica GiB-month | 0 | USD/replica GiB-month |
| Planning native backend | Target price guess · vCPU-hour | 0 | USD/vCPU-hour |
| Planning native backend | Target price guess · GiB-hour | 0 | USD/GiB-hour |
| Planning native backend | Target price guess · resource-hour | 0 | USD/resource-hour |
| Planning native backend | Target price guess · resource-month | 0 | USD/resource-month |
| Planning native backend | Target price guess · input token | 0 | USD/input token |
| Planning native backend | Target price guess · output token | 0 | USD/output token |
| Planning native backend | Approximate target service minimum | 0 | USD/month |
| Planning native backend | Minimum primary CPU | 2 | vCPU |
| Planning native backend | Minimum primary RAM | 8 | GiB |
| Planning native backend | Minimum primary disk | 100 | GiB |
| Planning native backend | Additional full-price standby copy | 0 | 0 or 1 |
| Planning native backend | Allocated share of provisioned cost | 1 | fraction |
| Planning native backend | Planning read/write work per vCPU-second | 1000 | operations/vCPU-second |
| Planning native backend | Planning peak / mean work | 2 | multiplier |
| Planning native backend | Planning primary CPU utilization | 0.7 | fraction |
| Planning native backend | Resident state reserved in RAM | 0.1 | fraction |
| Planning native backend | Planning disk utilization | 0.7 | fraction |
| Planning native backend | Maintenance and log disk reserve | 20 | GiB |
| Planning native backend | Staging database CPU unit-price guess | 0.0413 | USD/vCPU-hour |
| Planning native backend | Staging database RAM unit-price guess | 0.007 | USD/GiB-hour |
| Planning native backend | Staging database disk unit-price guess | 0.17 | USD/GiB-month |
| Planning native backend | Dependent object sink storage price guess | 0.023 | USD/GiB-month |
| Planning native backend | Dependent object sink write price guess | 0.000005 | USD/write |

* Request meters remain at their independently authored defaults. 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-18; not verified provider prices. Explicit source planning region → Explicit target planning region, 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.
* Editable authored planning guesses, not verified provider tariffs, 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 exact directed mapping has a design profile. Cost modeling does not establish an implemented or deployable adapter.
* Authored planning assumptions, not measured adapter capacity. Editable origin rates are illustrative tariff profiles, before free allowances and discounts.
* A cost scenario does not establish backend availability, protocol fidelity or production readiness. Registry serving status remains independent.
* Storage, request throughput and network are independent dimensions; a storage-only curve does not estimate a request mix.
* All target rates are editable authored planning guesses, not verified current list prices, customer discounts or benchmark evidence.
* Object storage prices logical GiB-month, actual target read/write operations and explicitly selected network transfer.

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.
* Replication beyond the selected target policy; archive classes and their minimum-duration/retrieval tariffs need a separate profile.
* 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.

Planning assumptions authored: 2026-10-18. Model: `plan-4ef56ba9f61f8fac9ef0c33c9bdeec18f348caa5` / `2026-10-18.planning.1`. Curve: `workload-1`.

### Google Cloud Storage · Object writes

**Planning estimate with editable assumptions.** These authored unit rates and capacity assumptions require provider-price verification and representative benchmarks. They do not constitute verified list-price quotes or evidence that an adapter is available.

Estimated monthly service charges from native source usage; no calculator input is required. Adapter hosting and Tensor9 fees are excluded. Source: Explicit source planning region; target: Explicit target planning region; currency: USD.

<div className="t9-diagram-scroll" role="region" aria-label="Service charge comparison" tabIndex={0}>
  <img className="t9-diagram-light" src="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA4NjAgNDI2IiByb2xlPSJpbWciIGFyaWEtbGFiZWxsZWRieT0idGl0bGUgZGVzYyI+Cjx0aXRsZSBpZD0idGl0bGUiPkdvb2dsZSBDbG91ZCBTdG9yYWdlIMK3IE9iamVjdCB3cml0ZXM8L3RpdGxlPgo8ZGVzYyBpZD0iZGVzYyI+UGxhbm5pbmcgZXN0aW1hdGVzIGluIFVTRCBieSBPYmplY3Qgd3JpdGVzLiBXb3JrbG9hZCBheGlzOiBsb2dhcml0aG1pYyBwb3NpdGl2ZSB2YWx1ZXM7IHplcm8gc2hvd24gc2VwYXJhdGVseS4gQ29zdCBheGlzOiBsb2dhcml0aG1pYyBwb3NpdGl2ZSB2YWx1ZXM7IHplcm8gY29zdCBzaG93biBzZXBhcmF0ZWx5LiBFeGFjdCB2YWx1ZXMsIGFzc3VtcHRpb25zIGFuZCBleGNsdXNpb25zIGFwcGVhciBpbiB0aGUgYWRqYWNlbnQgdGFibGUgYW5kIHRleHQuIEFkYXB0ZXIgaG9zdGluZyBhbmQgVGVuc29yOSBmZWVzIGFyZSBleGNsdWRlZC48L2Rlc2M+CjxyZWN0IHdpZHRoPSI4NjAiIGhlaWdodD0iMTAwJSIgZmlsbD0iI2ZmZmZmZiIvPgo8ZyBmb250LWZhbWlseT0ic3lzdGVtLXVpLHNhbnMtc2VyaWYiIGZvbnQtc2l6ZT0iMTMiIGZpbGw9IiMxZjI5MzciPgo8dGV4dCB4PSI4NCIgeT0iMjYiIGZvbnQtc2l6ZT0iMTciIGZvbnQtd2VpZ2h0PSI2MDAiPkdvb2dsZSBDbG91ZCBTdG9yYWdlIMK3IE9iamVjdCB3cml0ZXM8L3RleHQ+Cjx0ZXh0IHg9Ijg0IiB5PSI0NyI+TW9udGhseSBzZXJ2aWNlIGNoYXJnZXMgKFVTRDsgbG9nYXJpdGhtaWMgY29zdCBheGlzOyB6ZXJvIHNlcGFyYXRlKTwvdGV4dD4KPGxpbmUgeDE9Ijg0IiB4Mj0iNzk4IiB5MT0iMjkwLjAiIHkyPSIyOTAuMCIgc3Ryb2tlPSIjZTVlN2ViIi8+Cjx0ZXh0IHg9Ijc2IiB5PSIyOTQuMCIgdGV4dC1hbmNob3I9ImVuZCI+MDwvdGV4dD4KPGxpbmUgeDE9Ijg0IiB4Mj0iNzk4IiB5MT0iMjY2LjAiIHkyPSIyNjYuMCIgc3Ryb2tlPSIjZTVlN2ViIi8+Cjx0ZXh0IHg9Ijc2IiB5PSIyNzAuMCIgdGV4dC1hbmNob3I9ImVuZCI+MTA8L3RleHQ+CjxsaW5lIHgxPSI4NCIgeDI9Ijc5OCIgeTE9IjIyNC44IiB5Mj0iMjI0LjgiIHN0cm9rZT0iI2U1ZTdlYiIvPgo8dGV4dCB4PSI3NiIgeT0iMjI4LjgiIHRleHQtYW5jaG9yPSJlbmQiPjEwMDwvdGV4dD4KPGxpbmUgeDE9Ijg0IiB4Mj0iNzk4IiB5MT0iMTgzLjYiIHkyPSIxODMuNiIgc3Ryb2tlPSIjZTVlN2ViIi8+Cjx0ZXh0IHg9Ijc2IiB5PSIxODcuNiIgdGV4dC1hbmNob3I9ImVuZCI+MTAwMDwvdGV4dD4KPGxpbmUgeDE9Ijg0IiB4Mj0iNzk4IiB5MT0iMTQyLjQiIHkyPSIxNDIuNCIgc3Ryb2tlPSIjZTVlN2ViIi8+Cjx0ZXh0IHg9Ijc2IiB5PSIxNDYuNCIgdGV4dC1hbmNob3I9ImVuZCI+MTAwMDA8L3RleHQ+CjxsaW5lIHgxPSI4NCIgeDI9Ijc5OCIgeTE9IjEwMS4yIiB5Mj0iMTAxLjIiIHN0cm9rZT0iI2U1ZTdlYiIvPgo8dGV4dCB4PSI3NiIgeT0iMTA1LjIiIHRleHQtYW5jaG9yPSJlbmQiPjEwMDAwMDwvdGV4dD4KPGxpbmUgeDE9Ijg0IiB4Mj0iNzk4IiB5MT0iNjAuMCIgeTI9IjYwLjAiIHN0cm9rZT0iI2U1ZTdlYiIvPgo8dGV4dCB4PSI3NiIgeT0iNjQuMCIgdGV4dC1hbmNob3I9ImVuZCI+MTAwMDAwMDwvdGV4dD4KPGxpbmUgeDE9Ijg0IiB4Mj0iODQiIHkxPSI2MCIgeTI9IjI5MCIgc3Ryb2tlPSIjMWYyOTM3Ii8+CjxsaW5lIHgxPSI4NCIgeDI9Ijg0IiB5MT0iMjkwIiB5Mj0iMjk1IiBzdHJva2U9IiMxZjI5MzciLz4KPHRleHQgeD0iODQiIHk9IjMxMSIgdGV4dC1hbmNob3I9Im1pZGRsZSIgZGF0YS1heGlzLWxhYmVsPSJ0cnVlIj4wPC90ZXh0Pgo8bGluZSB4MT0iMTU2IiB4Mj0iMTU2IiB5MT0iMjkwIiB5Mj0iMjk1IiBzdHJva2U9IiMxZjI5MzciLz4KPHRleHQgeD0iMTU2IiB5PSIzMTEiIHRleHQtYW5jaG9yPSJtaWRkbGUiIGRhdGEtYXhpcy1sYWJlbD0idHJ1ZSI+MTwvdGV4dD4KPGxpbmUgeDE9IjMxNi41IiB4Mj0iMzE2LjUiIHkxPSIyOTAiIHkyPSIyOTUiIHN0cm9rZT0iIzFmMjkzNyIvPgo8dGV4dCB4PSIzMTYuNSIgeT0iMzExIiB0ZXh0LWFuY2hvcj0ibWlkZGxlIiBkYXRhLWF4aXMtbGFiZWw9InRydWUiPjEwPC90ZXh0Pgo8bGluZSB4MT0iNDc3IiB4Mj0iNDc3IiB5MT0iMjkwIiB5Mj0iMjk1IiBzdHJva2U9IiMxZjI5MzciLz4KPHRleHQgeD0iNDc3IiB5PSIzMTEiIHRleHQtYW5jaG9yPSJtaWRkbGUiIGRhdGEtYXhpcy1sYWJlbD0idHJ1ZSI+MTAwPC90ZXh0Pgo8bGluZSB4MT0iNjM3LjUiIHgyPSI2MzcuNSIgeTE9IjI5MCIgeTI9IjI5NSIgc3Ryb2tlPSIjMWYyOTM3Ii8+Cjx0ZXh0IHg9IjYzNy41IiB5PSIzMTEiIHRleHQtYW5jaG9yPSJtaWRkbGUiIGRhdGEtYXhpcy1sYWJlbD0idHJ1ZSI+MTAwMDwvdGV4dD4KPGxpbmUgeDE9Ijc5OCIgeDI9Ijc5OCIgeTE9IjI5MCIgeTI9IjI5NSIgc3Ryb2tlPSIjMWYyOTM3Ii8+Cjx0ZXh0IHg9Ijc5OCIgeT0iMzExIiB0ZXh0LWFuY2hvcj0ibWlkZGxlIiBkYXRhLWF4aXMtbGFiZWw9InRydWUiPjEwMDAwPC90ZXh0Pgo8cGF0aCBkPSJNMTE2IDI4NyBsNSA2IG0yIC02IGw1IDYiIHN0cm9rZT0iIzFmMjkzNyIgZmlsbD0ibm9uZSIvPgo8dGV4dCB4PSI0NDEiIHk9IjMzNiIgdGV4dC1hbmNob3I9Im1pZGRsZSI+T2JqZWN0IHdyaXRlcyAocGVyIHNlY29uZCk8L3RleHQ+Cjx0ZXh0IHg9Ijg0IiB5PSIzNTgiPldvcmtsb2FkIGF4aXM6IGxvZ2FyaXRobWljIHBvc2l0aXZlIHZhbHVlczsgemVybyBzaG93biBzZXBhcmF0ZWx5LjwvdGV4dD4KPHBvbHlsaW5lIHBvaW50cz0iODQsMjkwIDE1NiwyNjEuMTE0IDMxNi41LDIxOS45MTQgNDc3LDE3OC43MTQgNjM3LjUsMTM3LjUxNCA3OTgsOTYuMzE0IiBmaWxsPSJub25lIiBzdHJva2U9IiMxZjI5MzciIHN0cm9rZS13aWR0aD0iMi41IiBzdHJva2UtZGFzaGFycmF5PSI2IDQiLz4KPGNpcmNsZSBkYXRhLXNlcmllcz0ib3JpZ2luIiBkYXRhLWF4aXM9IjAiIGN4PSI4NCIgY3k9IjI5MCIgcj0iMy41IiBmaWxsPSIjZmZmZmZmIiBzdHJva2U9IiMxZjI5MzciIHN0cm9rZS13aWR0aD0iMiIvPgo8Y2lyY2xlIGRhdGEtc2VyaWVzPSJvcmlnaW4iIGRhdGEtYXhpcz0iMSIgY3g9IjE1NiIgY3k9IjI2MS4xMTQiIHI9IjMuNSIgZmlsbD0iI2ZmZmZmZiIgc3Ryb2tlPSIjMWYyOTM3IiBzdHJva2Utd2lkdGg9IjIiLz4KPGNpcmNsZSBkYXRhLXNlcmllcz0ib3JpZ2luIiBkYXRhLWF4aXM9IjEwIiBjeD0iMzE2LjUiIGN5PSIyMTkuOTE0IiByPSIzLjUiIGZpbGw9IiNmZmZmZmYiIHN0cm9rZT0iIzFmMjkzNyIgc3Ryb2tlLXdpZHRoPSIyIi8+CjxjaXJjbGUgZGF0YS1zZXJpZXM9Im9yaWdpbiIgZGF0YS1heGlzPSIxMDAiIGN4PSI0NzciIGN5PSIxNzguNzE0IiByPSIzLjUiIGZpbGw9IiNmZmZmZmYiIHN0cm9rZT0iIzFmMjkzNyIgc3Ryb2tlLXdpZHRoPSIyIi8+CjxjaXJjbGUgZGF0YS1zZXJpZXM9Im9yaWdpbiIgZGF0YS1heGlzPSIxMDAwIiBjeD0iNjM3LjUiIGN5PSIxMzcuNTE0IiByPSIzLjUiIGZpbGw9IiNmZmZmZmYiIHN0cm9rZT0iIzFmMjkzNyIgc3Ryb2tlLXdpZHRoPSIyIi8+CjxjaXJjbGUgZGF0YS1zZXJpZXM9Im9yaWdpbiIgZGF0YS1heGlzPSIxMDAwMCIgY3g9Ijc5OCIgY3k9Ijk2LjMxNCIgcj0iMy41IiBmaWxsPSIjZmZmZmZmIiBzdHJva2U9IiMxZjI5MzciIHN0cm9rZS13aWR0aD0iMiIvPgo8bGluZSB4MT0iODQiIHgyPSIxMTQiIHkxPSIzODAiIHkyPSIzODAiIHN0cm9rZT0iIzFmMjkzNyIgc3Ryb2tlLXdpZHRoPSIyLjUiIHN0cm9rZS1kYXNoYXJyYXk9IjYgNCIvPgo8dGV4dCB4PSIxMjMiIHk9IjM4NCI+T3JpZ2luIHNlcnZpY2U8L3RleHQ+Cjxwb2x5bGluZSBkYXRhLXNlcmllcz0ibmF0aXZlIiBwb2ludHM9Ijg0LDI5MCAxNTYsMjYxLjExNCAzMTYuNSwyMTkuOTE0IDQ3NywxNzguNzE0IDYzNy41LDEzNy41MTQgNzk4LDk2LjMxNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMWQ0ZWQ4IiBzdHJva2Utd2lkdGg9IjIuNSIgc3Ryb2tlLWRhc2hhcnJheT0iMTAgNCIvPgo8Y2lyY2xlIGRhdGEtc2VyaWVzPSJuYXRpdmUiIGRhdGEtYXhpcz0iMCIgY3g9Ijg0IiBjeT0iMjkwIiByPSI0IiBmaWxsPSIjZmZmZmZmIiBzdHJva2U9IiMxZDRlZDgiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWRhc2hhcnJheT0iMTAgNCIvPgo8Y2lyY2xlIGRhdGEtc2VyaWVzPSJuYXRpdmUiIGRhdGEtYXhpcz0iMSIgY3g9IjE1NiIgY3k9IjI2MS4xMTQiIHI9IjQiIGZpbGw9IiNmZmZmZmYiIHN0cm9rZT0iIzFkNGVkOCIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtZGFzaGFycmF5PSIxMCA0Ii8+CjxjaXJjbGUgZGF0YS1zZXJpZXM9Im5hdGl2ZSIgZGF0YS1heGlzPSIxMCIgY3g9IjMxNi41IiBjeT0iMjE5LjkxNCIgcj0iNCIgZmlsbD0iI2ZmZmZmZiIgc3Ryb2tlPSIjMWQ0ZWQ4IiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1kYXNoYXJyYXk9IjEwIDQiLz4KPGNpcmNsZSBkYXRhLXNlcmllcz0ibmF0aXZlIiBkYXRhLWF4aXM9IjEwMCIgY3g9IjQ3NyIgY3k9IjE3OC43MTQiIHI9IjQiIGZpbGw9IiNmZmZmZmYiIHN0cm9rZT0iIzFkNGVkOCIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtZGFzaGFycmF5PSIxMCA0Ii8+CjxjaXJjbGUgZGF0YS1zZXJpZXM9Im5hdGl2ZSIgZGF0YS1heGlzPSIxMDAwIiBjeD0iNjM3LjUiIGN5PSIxMzcuNTE0IiByPSI0IiBmaWxsPSIjZmZmZmZmIiBzdHJva2U9IiMxZDRlZDgiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWRhc2hhcnJheT0iMTAgNCIvPgo8Y2lyY2xlIGRhdGEtc2VyaWVzPSJuYXRpdmUiIGRhdGEtYXhpcz0iMTAwMDAiIGN4PSI3OTgiIGN5PSI5Ni4zMTQiIHI9IjQiIGZpbGw9IiNmZmZmZmYiIHN0cm9rZT0iIzFkNGVkOCIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtZGFzaGFycmF5PSIxMCA0Ii8+CjxsaW5lIHgxPSI4NCIgeDI9IjExNCIgeTE9IjQwMiIgeTI9IjQwMiIgc3Ryb2tlPSIjMWQ0ZWQ4IiBzdHJva2Utd2lkdGg9IjIuNSIgc3Ryb2tlLWRhc2hhcnJheT0iMTAgNCIvPgo8dGV4dCB4PSIxMjMiIHk9IjQwNiI+UGxhbm5pbmcgbmF0aXZlIGJhY2tlbmQ8L3RleHQ+CjwvZz48L3N2Zz4K" alt="Google Cloud Storage · Object writes: monthly service charges by Object writes. Exact values are in the following table." />

  <img className="t9-diagram-dark" src="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA4NjAgNDI2IiByb2xlPSJpbWciIGFyaWEtbGFiZWxsZWRieT0idGl0bGUgZGVzYyI+Cjx0aXRsZSBpZD0idGl0bGUiPkdvb2dsZSBDbG91ZCBTdG9yYWdlIMK3IE9iamVjdCB3cml0ZXM8L3RpdGxlPgo8ZGVzYyBpZD0iZGVzYyI+UGxhbm5pbmcgZXN0aW1hdGVzIGluIFVTRCBieSBPYmplY3Qgd3JpdGVzLiBXb3JrbG9hZCBheGlzOiBsb2dhcml0aG1pYyBwb3NpdGl2ZSB2YWx1ZXM7IHplcm8gc2hvd24gc2VwYXJhdGVseS4gQ29zdCBheGlzOiBsb2dhcml0aG1pYyBwb3NpdGl2ZSB2YWx1ZXM7IHplcm8gY29zdCBzaG93biBzZXBhcmF0ZWx5LiBFeGFjdCB2YWx1ZXMsIGFzc3VtcHRpb25zIGFuZCBleGNsdXNpb25zIGFwcGVhciBpbiB0aGUgYWRqYWNlbnQgdGFibGUgYW5kIHRleHQuIEFkYXB0ZXIgaG9zdGluZyBhbmQgVGVuc29yOSBmZWVzIGFyZSBleGNsdWRlZC48L2Rlc2M+CjxyZWN0IHdpZHRoPSI4NjAiIGhlaWdodD0iMTAwJSIgZmlsbD0iIzExMTgyNyIvPgo8ZyBmb250LWZhbWlseT0ic3lzdGVtLXVpLHNhbnMtc2VyaWYiIGZvbnQtc2l6ZT0iMTMiIGZpbGw9IiNlNWU3ZWIiPgo8dGV4dCB4PSI4NCIgeT0iMjYiIGZvbnQtc2l6ZT0iMTciIGZvbnQtd2VpZ2h0PSI2MDAiPkdvb2dsZSBDbG91ZCBTdG9yYWdlIMK3IE9iamVjdCB3cml0ZXM8L3RleHQ+Cjx0ZXh0IHg9Ijg0IiB5PSI0NyI+TW9udGhseSBzZXJ2aWNlIGNoYXJnZXMgKFVTRDsgbG9nYXJpdGhtaWMgY29zdCBheGlzOyB6ZXJvIHNlcGFyYXRlKTwvdGV4dD4KPGxpbmUgeDE9Ijg0IiB4Mj0iNzk4IiB5MT0iMjkwLjAiIHkyPSIyOTAuMCIgc3Ryb2tlPSIjMzc0MTUxIi8+Cjx0ZXh0IHg9Ijc2IiB5PSIyOTQuMCIgdGV4dC1hbmNob3I9ImVuZCI+MDwvdGV4dD4KPGxpbmUgeDE9Ijg0IiB4Mj0iNzk4IiB5MT0iMjY2LjAiIHkyPSIyNjYuMCIgc3Ryb2tlPSIjMzc0MTUxIi8+Cjx0ZXh0IHg9Ijc2IiB5PSIyNzAuMCIgdGV4dC1hbmNob3I9ImVuZCI+MTA8L3RleHQ+CjxsaW5lIHgxPSI4NCIgeDI9Ijc5OCIgeTE9IjIyNC44IiB5Mj0iMjI0LjgiIHN0cm9rZT0iIzM3NDE1MSIvPgo8dGV4dCB4PSI3NiIgeT0iMjI4LjgiIHRleHQtYW5jaG9yPSJlbmQiPjEwMDwvdGV4dD4KPGxpbmUgeDE9Ijg0IiB4Mj0iNzk4IiB5MT0iMTgzLjYiIHkyPSIxODMuNiIgc3Ryb2tlPSIjMzc0MTUxIi8+Cjx0ZXh0IHg9Ijc2IiB5PSIxODcuNiIgdGV4dC1hbmNob3I9ImVuZCI+MTAwMDwvdGV4dD4KPGxpbmUgeDE9Ijg0IiB4Mj0iNzk4IiB5MT0iMTQyLjQiIHkyPSIxNDIuNCIgc3Ryb2tlPSIjMzc0MTUxIi8+Cjx0ZXh0IHg9Ijc2IiB5PSIxNDYuNCIgdGV4dC1hbmNob3I9ImVuZCI+MTAwMDA8L3RleHQ+CjxsaW5lIHgxPSI4NCIgeDI9Ijc5OCIgeTE9IjEwMS4yIiB5Mj0iMTAxLjIiIHN0cm9rZT0iIzM3NDE1MSIvPgo8dGV4dCB4PSI3NiIgeT0iMTA1LjIiIHRleHQtYW5jaG9yPSJlbmQiPjEwMDAwMDwvdGV4dD4KPGxpbmUgeDE9Ijg0IiB4Mj0iNzk4IiB5MT0iNjAuMCIgeTI9IjYwLjAiIHN0cm9rZT0iIzM3NDE1MSIvPgo8dGV4dCB4PSI3NiIgeT0iNjQuMCIgdGV4dC1hbmNob3I9ImVuZCI+MTAwMDAwMDwvdGV4dD4KPGxpbmUgeDE9Ijg0IiB4Mj0iODQiIHkxPSI2MCIgeTI9IjI5MCIgc3Ryb2tlPSIjZTVlN2ViIi8+CjxsaW5lIHgxPSI4NCIgeDI9Ijg0IiB5MT0iMjkwIiB5Mj0iMjk1IiBzdHJva2U9IiNlNWU3ZWIiLz4KPHRleHQgeD0iODQiIHk9IjMxMSIgdGV4dC1hbmNob3I9Im1pZGRsZSIgZGF0YS1heGlzLWxhYmVsPSJ0cnVlIj4wPC90ZXh0Pgo8bGluZSB4MT0iMTU2IiB4Mj0iMTU2IiB5MT0iMjkwIiB5Mj0iMjk1IiBzdHJva2U9IiNlNWU3ZWIiLz4KPHRleHQgeD0iMTU2IiB5PSIzMTEiIHRleHQtYW5jaG9yPSJtaWRkbGUiIGRhdGEtYXhpcy1sYWJlbD0idHJ1ZSI+MTwvdGV4dD4KPGxpbmUgeDE9IjMxNi41IiB4Mj0iMzE2LjUiIHkxPSIyOTAiIHkyPSIyOTUiIHN0cm9rZT0iI2U1ZTdlYiIvPgo8dGV4dCB4PSIzMTYuNSIgeT0iMzExIiB0ZXh0LWFuY2hvcj0ibWlkZGxlIiBkYXRhLWF4aXMtbGFiZWw9InRydWUiPjEwPC90ZXh0Pgo8bGluZSB4MT0iNDc3IiB4Mj0iNDc3IiB5MT0iMjkwIiB5Mj0iMjk1IiBzdHJva2U9IiNlNWU3ZWIiLz4KPHRleHQgeD0iNDc3IiB5PSIzMTEiIHRleHQtYW5jaG9yPSJtaWRkbGUiIGRhdGEtYXhpcy1sYWJlbD0idHJ1ZSI+MTAwPC90ZXh0Pgo8bGluZSB4MT0iNjM3LjUiIHgyPSI2MzcuNSIgeTE9IjI5MCIgeTI9IjI5NSIgc3Ryb2tlPSIjZTVlN2ViIi8+Cjx0ZXh0IHg9IjYzNy41IiB5PSIzMTEiIHRleHQtYW5jaG9yPSJtaWRkbGUiIGRhdGEtYXhpcy1sYWJlbD0idHJ1ZSI+MTAwMDwvdGV4dD4KPGxpbmUgeDE9Ijc5OCIgeDI9Ijc5OCIgeTE9IjI5MCIgeTI9IjI5NSIgc3Ryb2tlPSIjZTVlN2ViIi8+Cjx0ZXh0IHg9Ijc5OCIgeT0iMzExIiB0ZXh0LWFuY2hvcj0ibWlkZGxlIiBkYXRhLWF4aXMtbGFiZWw9InRydWUiPjEwMDAwPC90ZXh0Pgo8cGF0aCBkPSJNMTE2IDI4NyBsNSA2IG0yIC02IGw1IDYiIHN0cm9rZT0iI2U1ZTdlYiIgZmlsbD0ibm9uZSIvPgo8dGV4dCB4PSI0NDEiIHk9IjMzNiIgdGV4dC1hbmNob3I9Im1pZGRsZSI+T2JqZWN0IHdyaXRlcyAocGVyIHNlY29uZCk8L3RleHQ+Cjx0ZXh0IHg9Ijg0IiB5PSIzNTgiPldvcmtsb2FkIGF4aXM6IGxvZ2FyaXRobWljIHBvc2l0aXZlIHZhbHVlczsgemVybyBzaG93biBzZXBhcmF0ZWx5LjwvdGV4dD4KPHBvbHlsaW5lIHBvaW50cz0iODQsMjkwIDE1NiwyNjEuMTE0IDMxNi41LDIxOS45MTQgNDc3LDE3OC43MTQgNjM3LjUsMTM3LjUxNCA3OTgsOTYuMzE0IiBmaWxsPSJub25lIiBzdHJva2U9IiNlNWU3ZWIiIHN0cm9rZS13aWR0aD0iMi41IiBzdHJva2UtZGFzaGFycmF5PSI2IDQiLz4KPGNpcmNsZSBkYXRhLXNlcmllcz0ib3JpZ2luIiBkYXRhLWF4aXM9IjAiIGN4PSI4NCIgY3k9IjI5MCIgcj0iMy41IiBmaWxsPSIjMTExODI3IiBzdHJva2U9IiNlNWU3ZWIiIHN0cm9rZS13aWR0aD0iMiIvPgo8Y2lyY2xlIGRhdGEtc2VyaWVzPSJvcmlnaW4iIGRhdGEtYXhpcz0iMSIgY3g9IjE1NiIgY3k9IjI2MS4xMTQiIHI9IjMuNSIgZmlsbD0iIzExMTgyNyIgc3Ryb2tlPSIjZTVlN2ViIiBzdHJva2Utd2lkdGg9IjIiLz4KPGNpcmNsZSBkYXRhLXNlcmllcz0ib3JpZ2luIiBkYXRhLWF4aXM9IjEwIiBjeD0iMzE2LjUiIGN5PSIyMTkuOTE0IiByPSIzLjUiIGZpbGw9IiMxMTE4MjciIHN0cm9rZT0iI2U1ZTdlYiIgc3Ryb2tlLXdpZHRoPSIyIi8+CjxjaXJjbGUgZGF0YS1zZXJpZXM9Im9yaWdpbiIgZGF0YS1heGlzPSIxMDAiIGN4PSI0NzciIGN5PSIxNzguNzE0IiByPSIzLjUiIGZpbGw9IiMxMTE4MjciIHN0cm9rZT0iI2U1ZTdlYiIgc3Ryb2tlLXdpZHRoPSIyIi8+CjxjaXJjbGUgZGF0YS1zZXJpZXM9Im9yaWdpbiIgZGF0YS1heGlzPSIxMDAwIiBjeD0iNjM3LjUiIGN5PSIxMzcuNTE0IiByPSIzLjUiIGZpbGw9IiMxMTE4MjciIHN0cm9rZT0iI2U1ZTdlYiIgc3Ryb2tlLXdpZHRoPSIyIi8+CjxjaXJjbGUgZGF0YS1zZXJpZXM9Im9yaWdpbiIgZGF0YS1heGlzPSIxMDAwMCIgY3g9Ijc5OCIgY3k9Ijk2LjMxNCIgcj0iMy41IiBmaWxsPSIjMTExODI3IiBzdHJva2U9IiNlNWU3ZWIiIHN0cm9rZS13aWR0aD0iMiIvPgo8bGluZSB4MT0iODQiIHgyPSIxMTQiIHkxPSIzODAiIHkyPSIzODAiIHN0cm9rZT0iI2U1ZTdlYiIgc3Ryb2tlLXdpZHRoPSIyLjUiIHN0cm9rZS1kYXNoYXJyYXk9IjYgNCIvPgo8dGV4dCB4PSIxMjMiIHk9IjM4NCI+T3JpZ2luIHNlcnZpY2U8L3RleHQ+Cjxwb2x5bGluZSBkYXRhLXNlcmllcz0ibmF0aXZlIiBwb2ludHM9Ijg0LDI5MCAxNTYsMjYxLjExNCAzMTYuNSwyMTkuOTE0IDQ3NywxNzguNzE0IDYzNy41LDEzNy41MTQgNzk4LDk2LjMxNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjNjBhNWZhIiBzdHJva2Utd2lkdGg9IjIuNSIgc3Ryb2tlLWRhc2hhcnJheT0iMTAgNCIvPgo8Y2lyY2xlIGRhdGEtc2VyaWVzPSJuYXRpdmUiIGRhdGEtYXhpcz0iMCIgY3g9Ijg0IiBjeT0iMjkwIiByPSI0IiBmaWxsPSIjMTExODI3IiBzdHJva2U9IiM2MGE1ZmEiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWRhc2hhcnJheT0iMTAgNCIvPgo8Y2lyY2xlIGRhdGEtc2VyaWVzPSJuYXRpdmUiIGRhdGEtYXhpcz0iMSIgY3g9IjE1NiIgY3k9IjI2MS4xMTQiIHI9IjQiIGZpbGw9IiMxMTE4MjciIHN0cm9rZT0iIzYwYTVmYSIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtZGFzaGFycmF5PSIxMCA0Ii8+CjxjaXJjbGUgZGF0YS1zZXJpZXM9Im5hdGl2ZSIgZGF0YS1heGlzPSIxMCIgY3g9IjMxNi41IiBjeT0iMjE5LjkxNCIgcj0iNCIgZmlsbD0iIzExMTgyNyIgc3Ryb2tlPSIjNjBhNWZhIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1kYXNoYXJyYXk9IjEwIDQiLz4KPGNpcmNsZSBkYXRhLXNlcmllcz0ibmF0aXZlIiBkYXRhLWF4aXM9IjEwMCIgY3g9IjQ3NyIgY3k9IjE3OC43MTQiIHI9IjQiIGZpbGw9IiMxMTE4MjciIHN0cm9rZT0iIzYwYTVmYSIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtZGFzaGFycmF5PSIxMCA0Ii8+CjxjaXJjbGUgZGF0YS1zZXJpZXM9Im5hdGl2ZSIgZGF0YS1heGlzPSIxMDAwIiBjeD0iNjM3LjUiIGN5PSIxMzcuNTE0IiByPSI0IiBmaWxsPSIjMTExODI3IiBzdHJva2U9IiM2MGE1ZmEiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWRhc2hhcnJheT0iMTAgNCIvPgo8Y2lyY2xlIGRhdGEtc2VyaWVzPSJuYXRpdmUiIGRhdGEtYXhpcz0iMTAwMDAiIGN4PSI3OTgiIGN5PSI5Ni4zMTQiIHI9IjQiIGZpbGw9IiMxMTE4MjciIHN0cm9rZT0iIzYwYTVmYSIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtZGFzaGFycmF5PSIxMCA0Ii8+CjxsaW5lIHgxPSI4NCIgeDI9IjExNCIgeTE9IjQwMiIgeTI9IjQwMiIgc3Ryb2tlPSIjNjBhNWZhIiBzdHJva2Utd2lkdGg9IjIuNSIgc3Ryb2tlLWRhc2hhcnJheT0iMTAgNCIvPgo8dGV4dCB4PSIxMjMiIHk9IjQwNiI+UGxhbm5pbmcgbmF0aXZlIGJhY2tlbmQ8L3RleHQ+CjwvZz48L3N2Zz4K" alt="Google Cloud Storage · Object writes: monthly service charges by Object writes. Exact values are in the following table." />
</div>

Exact sampled model outputs in USD/month. Difference means target minus origin; a positive difference means the target costs more.

| Object writes (per second) | Origin | Target scenario | Target | Difference |
| -: | -: | - | -: | -: |
| 0 | 0 | Planning native backend | 0 | 0 |
| 1 | 13.14 | Planning native backend | 13.14 | 0 |
| 10 | 131.4 | Planning native backend | 131.4 | 0 |
| 100 | 1314 | Planning native backend | 1314 | 0 |
| 1000 | 13140 | Planning native backend | 13140 | 0 |
| 10000 | 131400 | Planning native backend | 131400 | 0 |

**Curve assumptions**

| Target scenario | Assumption | Value | Unit |
| - | - | -: | - |
| Planning native backend | Origin price guess · Stored object data | 0.02 | USD/GiB-month |
| Planning native backend | Origin price guess · Object writes | 0.000005 | USD/requests |
| Planning native backend | Origin price guess · Object reads | 0.0000004 | USD/requests |
| Planning native backend | Origin price guess · Billable origin network transfer | 0.09 | USD/GiB |
| Planning native backend | Representative transferred object size | 1048576 | bytes |
| Planning native backend | Target requests per write | 1 | requests |
| Planning native backend | Target requests per read | 1 | requests |
| Planning native backend | Target price guess · read | 0.0000004 | USD/read |
| Planning native backend | Target price guess · write | 0.000005 | USD/write |
| Planning native backend | Target price guess · provider operation | 0 | USD/provider operation |
| Planning native backend | Target price guess · GiB-month | 0.02 | USD/GiB-month |
| Planning native backend | Target price guess · published GiB | 0 | USD/published GiB |
| Planning native backend | Target price guess · delivered GiB | 0 | USD/delivered GiB |
| Planning native backend | Target price guess · network GiB | 0.09 | USD/network GiB |
| Planning native backend | Target price guess · replica GiB-month | 0 | USD/replica GiB-month |
| Planning native backend | Target price guess · vCPU-hour | 0 | USD/vCPU-hour |
| Planning native backend | Target price guess · GiB-hour | 0 | USD/GiB-hour |
| Planning native backend | Target price guess · resource-hour | 0 | USD/resource-hour |
| Planning native backend | Target price guess · resource-month | 0 | USD/resource-month |
| Planning native backend | Target price guess · input token | 0 | USD/input token |
| Planning native backend | Target price guess · output token | 0 | USD/output token |
| Planning native backend | Approximate target service minimum | 0 | USD/month |
| Planning native backend | Minimum primary CPU | 2 | vCPU |
| Planning native backend | Minimum primary RAM | 8 | GiB |
| Planning native backend | Minimum primary disk | 100 | GiB |
| Planning native backend | Additional full-price standby copy | 0 | 0 or 1 |
| Planning native backend | Allocated share of provisioned cost | 1 | fraction |
| Planning native backend | Planning read/write work per vCPU-second | 1000 | operations/vCPU-second |
| Planning native backend | Planning peak / mean work | 2 | multiplier |
| Planning native backend | Planning primary CPU utilization | 0.7 | fraction |
| Planning native backend | Resident state reserved in RAM | 0.1 | fraction |
| Planning native backend | Planning disk utilization | 0.7 | fraction |
| Planning native backend | Maintenance and log disk reserve | 20 | GiB |
| Planning native backend | Staging database CPU unit-price guess | 0.0413 | USD/vCPU-hour |
| Planning native backend | Staging database RAM unit-price guess | 0.007 | USD/GiB-hour |
| Planning native backend | Staging database disk unit-price guess | 0.17 | USD/GiB-month |
| Planning native backend | Dependent object sink storage price guess | 0.023 | USD/GiB-month |
| Planning native backend | Dependent object sink write price guess | 0.000005 | USD/write |

* Stored GiB and reads stay at independent defaults. 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-18; not verified provider prices. Explicit source planning region → Explicit target planning region, 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.
* Editable authored planning guesses, not verified provider tariffs, 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 exact directed mapping has a design profile. Cost modeling does not establish an implemented or deployable adapter.
* Authored planning assumptions, not measured adapter capacity. Editable origin rates are illustrative tariff profiles, before free allowances and discounts.
* A cost scenario does not establish backend availability, protocol fidelity or production readiness. Registry serving status remains independent.
* Storage, request throughput and network are independent dimensions; a storage-only curve does not estimate a request mix.
* All target rates are editable authored planning guesses, not verified current list prices, customer discounts or benchmark evidence.
* Object storage prices logical GiB-month, actual target read/write operations and explicitly selected network transfer.

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.
* Replication beyond the selected target policy; archive classes and their minimum-duration/retrieval tariffs need a separate profile.
* 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.

Planning assumptions authored: 2026-10-18. Model: `plan-4ef56ba9f61f8fac9ef0c33c9bdeec18f348caa5` / `2026-10-18.planning.1`. Curve: `workload-2`.

### Google Cloud Storage · Object reads

**Planning estimate with editable assumptions.** These authored unit rates and capacity assumptions require provider-price verification and representative benchmarks. They do not constitute verified list-price quotes or evidence that an adapter is available.

Estimated monthly service charges from native source usage; no calculator input is required. Adapter hosting and Tensor9 fees are excluded. Source: Explicit source planning region; target: Explicit target planning region; currency: USD.

<div className="t9-diagram-scroll" role="region" aria-label="Service charge comparison" tabIndex={0}>
  <img className="t9-diagram-light" src="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA4NjAgNDI2IiByb2xlPSJpbWciIGFyaWEtbGFiZWxsZWRieT0idGl0bGUgZGVzYyI+Cjx0aXRsZSBpZD0idGl0bGUiPkdvb2dsZSBDbG91ZCBTdG9yYWdlIMK3IE9iamVjdCByZWFkczwvdGl0bGU+CjxkZXNjIGlkPSJkZXNjIj5QbGFubmluZyBlc3RpbWF0ZXMgaW4gVVNEIGJ5IE9iamVjdCByZWFkcy4gV29ya2xvYWQgYXhpczogbG9nYXJpdGhtaWMgcG9zaXRpdmUgdmFsdWVzOyB6ZXJvIHNob3duIHNlcGFyYXRlbHkuIENvc3QgYXhpczogbG9nYXJpdGhtaWMgcG9zaXRpdmUgdmFsdWVzOyB6ZXJvIGNvc3Qgc2hvd24gc2VwYXJhdGVseS4gRXhhY3QgdmFsdWVzLCBhc3N1bXB0aW9ucyBhbmQgZXhjbHVzaW9ucyBhcHBlYXIgaW4gdGhlIGFkamFjZW50IHRhYmxlIGFuZCB0ZXh0LiBBZGFwdGVyIGhvc3RpbmcgYW5kIFRlbnNvcjkgZmVlcyBhcmUgZXhjbHVkZWQuPC9kZXNjPgo8cmVjdCB3aWR0aD0iODYwIiBoZWlnaHQ9IjEwMCUiIGZpbGw9IiNmZmZmZmYiLz4KPGcgZm9udC1mYW1pbHk9InN5c3RlbS11aSxzYW5zLXNlcmlmIiBmb250LXNpemU9IjEzIiBmaWxsPSIjMWYyOTM3Ij4KPHRleHQgeD0iODQiIHk9IjI2IiBmb250LXNpemU9IjE3IiBmb250LXdlaWdodD0iNjAwIj5Hb29nbGUgQ2xvdWQgU3RvcmFnZSDCtyBPYmplY3QgcmVhZHM8L3RleHQ+Cjx0ZXh0IHg9Ijg0IiB5PSI0NyI+TW9udGhseSBzZXJ2aWNlIGNoYXJnZXMgKFVTRDsgbG9nYXJpdGhtaWMgY29zdCBheGlzOyB6ZXJvIHNlcGFyYXRlKTwvdGV4dD4KPGxpbmUgeDE9Ijg0IiB4Mj0iNzk4IiB5MT0iMjkwLjAiIHkyPSIyOTAuMCIgc3Ryb2tlPSIjZTVlN2ViIi8+Cjx0ZXh0IHg9Ijc2IiB5PSIyOTQuMCIgdGV4dC1hbmNob3I9ImVuZCI+MDwvdGV4dD4KPGxpbmUgeDE9Ijg0IiB4Mj0iNzk4IiB5MT0iMjY2LjAiIHkyPSIyNjYuMCIgc3Ryb2tlPSIjZTVlN2ViIi8+Cjx0ZXh0IHg9Ijc2IiB5PSIyNzAuMCIgdGV4dC1hbmNob3I9ImVuZCI+MTwvdGV4dD4KPGxpbmUgeDE9Ijg0IiB4Mj0iNzk4IiB5MT0iMjI0LjgiIHkyPSIyMjQuOCIgc3Ryb2tlPSIjZTVlN2ViIi8+Cjx0ZXh0IHg9Ijc2IiB5PSIyMjguOCIgdGV4dC1hbmNob3I9ImVuZCI+MTA8L3RleHQ+CjxsaW5lIHgxPSI4NCIgeDI9Ijc5OCIgeTE9IjE4My42IiB5Mj0iMTgzLjYiIHN0cm9rZT0iI2U1ZTdlYiIvPgo8dGV4dCB4PSI3NiIgeT0iMTg3LjYiIHRleHQtYW5jaG9yPSJlbmQiPjEwMDwvdGV4dD4KPGxpbmUgeDE9Ijg0IiB4Mj0iNzk4IiB5MT0iMTQyLjQiIHkyPSIxNDIuNCIgc3Ryb2tlPSIjZTVlN2ViIi8+Cjx0ZXh0IHg9Ijc2IiB5PSIxNDYuNCIgdGV4dC1hbmNob3I9ImVuZCI+MTAwMDwvdGV4dD4KPGxpbmUgeDE9Ijg0IiB4Mj0iNzk4IiB5MT0iMTAxLjIiIHkyPSIxMDEuMiIgc3Ryb2tlPSIjZTVlN2ViIi8+Cjx0ZXh0IHg9Ijc2IiB5PSIxMDUuMiIgdGV4dC1hbmNob3I9ImVuZCI+MTAwMDA8L3RleHQ+CjxsaW5lIHgxPSI4NCIgeDI9Ijc5OCIgeTE9IjYwLjAiIHkyPSI2MC4wIiBzdHJva2U9IiNlNWU3ZWIiLz4KPHRleHQgeD0iNzYiIHk9IjY0LjAiIHRleHQtYW5jaG9yPSJlbmQiPjEwMDAwMDwvdGV4dD4KPGxpbmUgeDE9Ijg0IiB4Mj0iODQiIHkxPSI2MCIgeTI9IjI5MCIgc3Ryb2tlPSIjMWYyOTM3Ii8+CjxsaW5lIHgxPSI4NCIgeDI9Ijg0IiB5MT0iMjkwIiB5Mj0iMjk1IiBzdHJva2U9IiMxZjI5MzciLz4KPHRleHQgeD0iODQiIHk9IjMxMSIgdGV4dC1hbmNob3I9Im1pZGRsZSIgZGF0YS1heGlzLWxhYmVsPSJ0cnVlIj4wPC90ZXh0Pgo8bGluZSB4MT0iMTU2IiB4Mj0iMTU2IiB5MT0iMjkwIiB5Mj0iMjk1IiBzdHJva2U9IiMxZjI5MzciLz4KPHRleHQgeD0iMTU2IiB5PSIzMTEiIHRleHQtYW5jaG9yPSJtaWRkbGUiIGRhdGEtYXhpcy1sYWJlbD0idHJ1ZSI+MTwvdGV4dD4KPGxpbmUgeDE9IjMxNi41IiB4Mj0iMzE2LjUiIHkxPSIyOTAiIHkyPSIyOTUiIHN0cm9rZT0iIzFmMjkzNyIvPgo8dGV4dCB4PSIzMTYuNSIgeT0iMzExIiB0ZXh0LWFuY2hvcj0ibWlkZGxlIiBkYXRhLWF4aXMtbGFiZWw9InRydWUiPjEwPC90ZXh0Pgo8bGluZSB4MT0iNDc3IiB4Mj0iNDc3IiB5MT0iMjkwIiB5Mj0iMjk1IiBzdHJva2U9IiMxZjI5MzciLz4KPHRleHQgeD0iNDc3IiB5PSIzMTEiIHRleHQtYW5jaG9yPSJtaWRkbGUiIGRhdGEtYXhpcy1sYWJlbD0idHJ1ZSI+MTAwPC90ZXh0Pgo8bGluZSB4MT0iNjM3LjUiIHgyPSI2MzcuNSIgeTE9IjI5MCIgeTI9IjI5NSIgc3Ryb2tlPSIjMWYyOTM3Ii8+Cjx0ZXh0IHg9IjYzNy41IiB5PSIzMTEiIHRleHQtYW5jaG9yPSJtaWRkbGUiIGRhdGEtYXhpcy1sYWJlbD0idHJ1ZSI+MTAwMDwvdGV4dD4KPGxpbmUgeDE9Ijc5OCIgeDI9Ijc5OCIgeTE9IjI5MCIgeTI9IjI5NSIgc3Ryb2tlPSIjMWYyOTM3Ii8+Cjx0ZXh0IHg9Ijc5OCIgeT0iMzExIiB0ZXh0LWFuY2hvcj0ibWlkZGxlIiBkYXRhLWF4aXMtbGFiZWw9InRydWUiPjEwMDAwPC90ZXh0Pgo8cGF0aCBkPSJNMTE2IDI4NyBsNSA2IG0yIC02IGw1IDYiIHN0cm9rZT0iIzFmMjkzNyIgZmlsbD0ibm9uZSIvPgo8dGV4dCB4PSI0NDEiIHk9IjMzNiIgdGV4dC1hbmNob3I9Im1pZGRsZSI+T2JqZWN0IHJlYWRzIChwZXIgc2Vjb25kKTwvdGV4dD4KPHRleHQgeD0iODQiIHk9IjM1OCI+V29ya2xvYWQgYXhpczogbG9nYXJpdGhtaWMgcG9zaXRpdmUgdmFsdWVzOyB6ZXJvIHNob3duIHNlcGFyYXRlbHkuPC90ZXh0Pgo8cG9seWxpbmUgcG9pbnRzPSI4NCwyOTAgMTU2LDI2NS4xMDcgMzE2LjUsMjIzLjkwNyA0NzcsMTgyLjcwNyA2MzcuNSwxNDEuNTA3IDc5OCwxMDAuMzA3IiBmaWxsPSJub25lIiBzdHJva2U9IiMxZjI5MzciIHN0cm9rZS13aWR0aD0iMi41IiBzdHJva2UtZGFzaGFycmF5PSI2IDQiLz4KPGNpcmNsZSBkYXRhLXNlcmllcz0ib3JpZ2luIiBkYXRhLWF4aXM9IjAiIGN4PSI4NCIgY3k9IjI5MCIgcj0iMy41IiBmaWxsPSIjZmZmZmZmIiBzdHJva2U9IiMxZjI5MzciIHN0cm9rZS13aWR0aD0iMiIvPgo8Y2lyY2xlIGRhdGEtc2VyaWVzPSJvcmlnaW4iIGRhdGEtYXhpcz0iMSIgY3g9IjE1NiIgY3k9IjI2NS4xMDciIHI9IjMuNSIgZmlsbD0iI2ZmZmZmZiIgc3Ryb2tlPSIjMWYyOTM3IiBzdHJva2Utd2lkdGg9IjIiLz4KPGNpcmNsZSBkYXRhLXNlcmllcz0ib3JpZ2luIiBkYXRhLWF4aXM9IjEwIiBjeD0iMzE2LjUiIGN5PSIyMjMuOTA3IiByPSIzLjUiIGZpbGw9IiNmZmZmZmYiIHN0cm9rZT0iIzFmMjkzNyIgc3Ryb2tlLXdpZHRoPSIyIi8+CjxjaXJjbGUgZGF0YS1zZXJpZXM9Im9yaWdpbiIgZGF0YS1heGlzPSIxMDAiIGN4PSI0NzciIGN5PSIxODIuNzA3IiByPSIzLjUiIGZpbGw9IiNmZmZmZmYiIHN0cm9rZT0iIzFmMjkzNyIgc3Ryb2tlLXdpZHRoPSIyIi8+CjxjaXJjbGUgZGF0YS1zZXJpZXM9Im9yaWdpbiIgZGF0YS1heGlzPSIxMDAwIiBjeD0iNjM3LjUiIGN5PSIxNDEuNTA3IiByPSIzLjUiIGZpbGw9IiNmZmZmZmYiIHN0cm9rZT0iIzFmMjkzNyIgc3Ryb2tlLXdpZHRoPSIyIi8+CjxjaXJjbGUgZGF0YS1zZXJpZXM9Im9yaWdpbiIgZGF0YS1heGlzPSIxMDAwMCIgY3g9Ijc5OCIgY3k9IjEwMC4zMDciIHI9IjMuNSIgZmlsbD0iI2ZmZmZmZiIgc3Ryb2tlPSIjMWYyOTM3IiBzdHJva2Utd2lkdGg9IjIiLz4KPGxpbmUgeDE9Ijg0IiB4Mj0iMTE0IiB5MT0iMzgwIiB5Mj0iMzgwIiBzdHJva2U9IiMxZjI5MzciIHN0cm9rZS13aWR0aD0iMi41IiBzdHJva2UtZGFzaGFycmF5PSI2IDQiLz4KPHRleHQgeD0iMTIzIiB5PSIzODQiPk9yaWdpbiBzZXJ2aWNlPC90ZXh0Pgo8cG9seWxpbmUgZGF0YS1zZXJpZXM9Im5hdGl2ZSIgcG9pbnRzPSI4NCwyOTAgMTU2LDI2NS4xMDcgMzE2LjUsMjIzLjkwNyA0NzcsMTgyLjcwNyA2MzcuNSwxNDEuNTA3IDc5OCwxMDAuMzA3IiBmaWxsPSJub25lIiBzdHJva2U9IiMxZDRlZDgiIHN0cm9rZS13aWR0aD0iMi41IiBzdHJva2UtZGFzaGFycmF5PSIxMCA0Ii8+CjxjaXJjbGUgZGF0YS1zZXJpZXM9Im5hdGl2ZSIgZGF0YS1heGlzPSIwIiBjeD0iODQiIGN5PSIyOTAiIHI9IjQiIGZpbGw9IiNmZmZmZmYiIHN0cm9rZT0iIzFkNGVkOCIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtZGFzaGFycmF5PSIxMCA0Ii8+CjxjaXJjbGUgZGF0YS1zZXJpZXM9Im5hdGl2ZSIgZGF0YS1heGlzPSIxIiBjeD0iMTU2IiBjeT0iMjY1LjEwNyIgcj0iNCIgZmlsbD0iI2ZmZmZmZiIgc3Ryb2tlPSIjMWQ0ZWQ4IiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1kYXNoYXJyYXk9IjEwIDQiLz4KPGNpcmNsZSBkYXRhLXNlcmllcz0ibmF0aXZlIiBkYXRhLWF4aXM9IjEwIiBjeD0iMzE2LjUiIGN5PSIyMjMuOTA3IiByPSI0IiBmaWxsPSIjZmZmZmZmIiBzdHJva2U9IiMxZDRlZDgiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWRhc2hhcnJheT0iMTAgNCIvPgo8Y2lyY2xlIGRhdGEtc2VyaWVzPSJuYXRpdmUiIGRhdGEtYXhpcz0iMTAwIiBjeD0iNDc3IiBjeT0iMTgyLjcwNyIgcj0iNCIgZmlsbD0iI2ZmZmZmZiIgc3Ryb2tlPSIjMWQ0ZWQ4IiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1kYXNoYXJyYXk9IjEwIDQiLz4KPGNpcmNsZSBkYXRhLXNlcmllcz0ibmF0aXZlIiBkYXRhLWF4aXM9IjEwMDAiIGN4PSI2MzcuNSIgY3k9IjE0MS41MDciIHI9IjQiIGZpbGw9IiNmZmZmZmYiIHN0cm9rZT0iIzFkNGVkOCIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtZGFzaGFycmF5PSIxMCA0Ii8+CjxjaXJjbGUgZGF0YS1zZXJpZXM9Im5hdGl2ZSIgZGF0YS1heGlzPSIxMDAwMCIgY3g9Ijc5OCIgY3k9IjEwMC4zMDciIHI9IjQiIGZpbGw9IiNmZmZmZmYiIHN0cm9rZT0iIzFkNGVkOCIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtZGFzaGFycmF5PSIxMCA0Ii8+CjxsaW5lIHgxPSI4NCIgeDI9IjExNCIgeTE9IjQwMiIgeTI9IjQwMiIgc3Ryb2tlPSIjMWQ0ZWQ4IiBzdHJva2Utd2lkdGg9IjIuNSIgc3Ryb2tlLWRhc2hhcnJheT0iMTAgNCIvPgo8dGV4dCB4PSIxMjMiIHk9IjQwNiI+UGxhbm5pbmcgbmF0aXZlIGJhY2tlbmQ8L3RleHQ+CjwvZz48L3N2Zz4K" alt="Google Cloud Storage · Object reads: monthly service charges by Object reads. Exact values are in the following table." />

  <img className="t9-diagram-dark" src="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA4NjAgNDI2IiByb2xlPSJpbWciIGFyaWEtbGFiZWxsZWRieT0idGl0bGUgZGVzYyI+Cjx0aXRsZSBpZD0idGl0bGUiPkdvb2dsZSBDbG91ZCBTdG9yYWdlIMK3IE9iamVjdCByZWFkczwvdGl0bGU+CjxkZXNjIGlkPSJkZXNjIj5QbGFubmluZyBlc3RpbWF0ZXMgaW4gVVNEIGJ5IE9iamVjdCByZWFkcy4gV29ya2xvYWQgYXhpczogbG9nYXJpdGhtaWMgcG9zaXRpdmUgdmFsdWVzOyB6ZXJvIHNob3duIHNlcGFyYXRlbHkuIENvc3QgYXhpczogbG9nYXJpdGhtaWMgcG9zaXRpdmUgdmFsdWVzOyB6ZXJvIGNvc3Qgc2hvd24gc2VwYXJhdGVseS4gRXhhY3QgdmFsdWVzLCBhc3N1bXB0aW9ucyBhbmQgZXhjbHVzaW9ucyBhcHBlYXIgaW4gdGhlIGFkamFjZW50IHRhYmxlIGFuZCB0ZXh0LiBBZGFwdGVyIGhvc3RpbmcgYW5kIFRlbnNvcjkgZmVlcyBhcmUgZXhjbHVkZWQuPC9kZXNjPgo8cmVjdCB3aWR0aD0iODYwIiBoZWlnaHQ9IjEwMCUiIGZpbGw9IiMxMTE4MjciLz4KPGcgZm9udC1mYW1pbHk9InN5c3RlbS11aSxzYW5zLXNlcmlmIiBmb250LXNpemU9IjEzIiBmaWxsPSIjZTVlN2ViIj4KPHRleHQgeD0iODQiIHk9IjI2IiBmb250LXNpemU9IjE3IiBmb250LXdlaWdodD0iNjAwIj5Hb29nbGUgQ2xvdWQgU3RvcmFnZSDCtyBPYmplY3QgcmVhZHM8L3RleHQ+Cjx0ZXh0IHg9Ijg0IiB5PSI0NyI+TW9udGhseSBzZXJ2aWNlIGNoYXJnZXMgKFVTRDsgbG9nYXJpdGhtaWMgY29zdCBheGlzOyB6ZXJvIHNlcGFyYXRlKTwvdGV4dD4KPGxpbmUgeDE9Ijg0IiB4Mj0iNzk4IiB5MT0iMjkwLjAiIHkyPSIyOTAuMCIgc3Ryb2tlPSIjMzc0MTUxIi8+Cjx0ZXh0IHg9Ijc2IiB5PSIyOTQuMCIgdGV4dC1hbmNob3I9ImVuZCI+MDwvdGV4dD4KPGxpbmUgeDE9Ijg0IiB4Mj0iNzk4IiB5MT0iMjY2LjAiIHkyPSIyNjYuMCIgc3Ryb2tlPSIjMzc0MTUxIi8+Cjx0ZXh0IHg9Ijc2IiB5PSIyNzAuMCIgdGV4dC1hbmNob3I9ImVuZCI+MTwvdGV4dD4KPGxpbmUgeDE9Ijg0IiB4Mj0iNzk4IiB5MT0iMjI0LjgiIHkyPSIyMjQuOCIgc3Ryb2tlPSIjMzc0MTUxIi8+Cjx0ZXh0IHg9Ijc2IiB5PSIyMjguOCIgdGV4dC1hbmNob3I9ImVuZCI+MTA8L3RleHQ+CjxsaW5lIHgxPSI4NCIgeDI9Ijc5OCIgeTE9IjE4My42IiB5Mj0iMTgzLjYiIHN0cm9rZT0iIzM3NDE1MSIvPgo8dGV4dCB4PSI3NiIgeT0iMTg3LjYiIHRleHQtYW5jaG9yPSJlbmQiPjEwMDwvdGV4dD4KPGxpbmUgeDE9Ijg0IiB4Mj0iNzk4IiB5MT0iMTQyLjQiIHkyPSIxNDIuNCIgc3Ryb2tlPSIjMzc0MTUxIi8+Cjx0ZXh0IHg9Ijc2IiB5PSIxNDYuNCIgdGV4dC1hbmNob3I9ImVuZCI+MTAwMDwvdGV4dD4KPGxpbmUgeDE9Ijg0IiB4Mj0iNzk4IiB5MT0iMTAxLjIiIHkyPSIxMDEuMiIgc3Ryb2tlPSIjMzc0MTUxIi8+Cjx0ZXh0IHg9Ijc2IiB5PSIxMDUuMiIgdGV4dC1hbmNob3I9ImVuZCI+MTAwMDA8L3RleHQ+CjxsaW5lIHgxPSI4NCIgeDI9Ijc5OCIgeTE9IjYwLjAiIHkyPSI2MC4wIiBzdHJva2U9IiMzNzQxNTEiLz4KPHRleHQgeD0iNzYiIHk9IjY0LjAiIHRleHQtYW5jaG9yPSJlbmQiPjEwMDAwMDwvdGV4dD4KPGxpbmUgeDE9Ijg0IiB4Mj0iODQiIHkxPSI2MCIgeTI9IjI5MCIgc3Ryb2tlPSIjZTVlN2ViIi8+CjxsaW5lIHgxPSI4NCIgeDI9Ijg0IiB5MT0iMjkwIiB5Mj0iMjk1IiBzdHJva2U9IiNlNWU3ZWIiLz4KPHRleHQgeD0iODQiIHk9IjMxMSIgdGV4dC1hbmNob3I9Im1pZGRsZSIgZGF0YS1heGlzLWxhYmVsPSJ0cnVlIj4wPC90ZXh0Pgo8bGluZSB4MT0iMTU2IiB4Mj0iMTU2IiB5MT0iMjkwIiB5Mj0iMjk1IiBzdHJva2U9IiNlNWU3ZWIiLz4KPHRleHQgeD0iMTU2IiB5PSIzMTEiIHRleHQtYW5jaG9yPSJtaWRkbGUiIGRhdGEtYXhpcy1sYWJlbD0idHJ1ZSI+MTwvdGV4dD4KPGxpbmUgeDE9IjMxNi41IiB4Mj0iMzE2LjUiIHkxPSIyOTAiIHkyPSIyOTUiIHN0cm9rZT0iI2U1ZTdlYiIvPgo8dGV4dCB4PSIzMTYuNSIgeT0iMzExIiB0ZXh0LWFuY2hvcj0ibWlkZGxlIiBkYXRhLWF4aXMtbGFiZWw9InRydWUiPjEwPC90ZXh0Pgo8bGluZSB4MT0iNDc3IiB4Mj0iNDc3IiB5MT0iMjkwIiB5Mj0iMjk1IiBzdHJva2U9IiNlNWU3ZWIiLz4KPHRleHQgeD0iNDc3IiB5PSIzMTEiIHRleHQtYW5jaG9yPSJtaWRkbGUiIGRhdGEtYXhpcy1sYWJlbD0idHJ1ZSI+MTAwPC90ZXh0Pgo8bGluZSB4MT0iNjM3LjUiIHgyPSI2MzcuNSIgeTE9IjI5MCIgeTI9IjI5NSIgc3Ryb2tlPSIjZTVlN2ViIi8+Cjx0ZXh0IHg9IjYzNy41IiB5PSIzMTEiIHRleHQtYW5jaG9yPSJtaWRkbGUiIGRhdGEtYXhpcy1sYWJlbD0idHJ1ZSI+MTAwMDwvdGV4dD4KPGxpbmUgeDE9Ijc5OCIgeDI9Ijc5OCIgeTE9IjI5MCIgeTI9IjI5NSIgc3Ryb2tlPSIjZTVlN2ViIi8+Cjx0ZXh0IHg9Ijc5OCIgeT0iMzExIiB0ZXh0LWFuY2hvcj0ibWlkZGxlIiBkYXRhLWF4aXMtbGFiZWw9InRydWUiPjEwMDAwPC90ZXh0Pgo8cGF0aCBkPSJNMTE2IDI4NyBsNSA2IG0yIC02IGw1IDYiIHN0cm9rZT0iI2U1ZTdlYiIgZmlsbD0ibm9uZSIvPgo8dGV4dCB4PSI0NDEiIHk9IjMzNiIgdGV4dC1hbmNob3I9Im1pZGRsZSI+T2JqZWN0IHJlYWRzIChwZXIgc2Vjb25kKTwvdGV4dD4KPHRleHQgeD0iODQiIHk9IjM1OCI+V29ya2xvYWQgYXhpczogbG9nYXJpdGhtaWMgcG9zaXRpdmUgdmFsdWVzOyB6ZXJvIHNob3duIHNlcGFyYXRlbHkuPC90ZXh0Pgo8cG9seWxpbmUgcG9pbnRzPSI4NCwyOTAgMTU2LDI2NS4xMDcgMzE2LjUsMjIzLjkwNyA0NzcsMTgyLjcwNyA2MzcuNSwxNDEuNTA3IDc5OCwxMDAuMzA3IiBmaWxsPSJub25lIiBzdHJva2U9IiNlNWU3ZWIiIHN0cm9rZS13aWR0aD0iMi41IiBzdHJva2UtZGFzaGFycmF5PSI2IDQiLz4KPGNpcmNsZSBkYXRhLXNlcmllcz0ib3JpZ2luIiBkYXRhLWF4aXM9IjAiIGN4PSI4NCIgY3k9IjI5MCIgcj0iMy41IiBmaWxsPSIjMTExODI3IiBzdHJva2U9IiNlNWU3ZWIiIHN0cm9rZS13aWR0aD0iMiIvPgo8Y2lyY2xlIGRhdGEtc2VyaWVzPSJvcmlnaW4iIGRhdGEtYXhpcz0iMSIgY3g9IjE1NiIgY3k9IjI2NS4xMDciIHI9IjMuNSIgZmlsbD0iIzExMTgyNyIgc3Ryb2tlPSIjZTVlN2ViIiBzdHJva2Utd2lkdGg9IjIiLz4KPGNpcmNsZSBkYXRhLXNlcmllcz0ib3JpZ2luIiBkYXRhLWF4aXM9IjEwIiBjeD0iMzE2LjUiIGN5PSIyMjMuOTA3IiByPSIzLjUiIGZpbGw9IiMxMTE4MjciIHN0cm9rZT0iI2U1ZTdlYiIgc3Ryb2tlLXdpZHRoPSIyIi8+CjxjaXJjbGUgZGF0YS1zZXJpZXM9Im9yaWdpbiIgZGF0YS1heGlzPSIxMDAiIGN4PSI0NzciIGN5PSIxODIuNzA3IiByPSIzLjUiIGZpbGw9IiMxMTE4MjciIHN0cm9rZT0iI2U1ZTdlYiIgc3Ryb2tlLXdpZHRoPSIyIi8+CjxjaXJjbGUgZGF0YS1zZXJpZXM9Im9yaWdpbiIgZGF0YS1heGlzPSIxMDAwIiBjeD0iNjM3LjUiIGN5PSIxNDEuNTA3IiByPSIzLjUiIGZpbGw9IiMxMTE4MjciIHN0cm9rZT0iI2U1ZTdlYiIgc3Ryb2tlLXdpZHRoPSIyIi8+CjxjaXJjbGUgZGF0YS1zZXJpZXM9Im9yaWdpbiIgZGF0YS1heGlzPSIxMDAwMCIgY3g9Ijc5OCIgY3k9IjEwMC4zMDciIHI9IjMuNSIgZmlsbD0iIzExMTgyNyIgc3Ryb2tlPSIjZTVlN2ViIiBzdHJva2Utd2lkdGg9IjIiLz4KPGxpbmUgeDE9Ijg0IiB4Mj0iMTE0IiB5MT0iMzgwIiB5Mj0iMzgwIiBzdHJva2U9IiNlNWU3ZWIiIHN0cm9rZS13aWR0aD0iMi41IiBzdHJva2UtZGFzaGFycmF5PSI2IDQiLz4KPHRleHQgeD0iMTIzIiB5PSIzODQiPk9yaWdpbiBzZXJ2aWNlPC90ZXh0Pgo8cG9seWxpbmUgZGF0YS1zZXJpZXM9Im5hdGl2ZSIgcG9pbnRzPSI4NCwyOTAgMTU2LDI2NS4xMDcgMzE2LjUsMjIzLjkwNyA0NzcsMTgyLjcwNyA2MzcuNSwxNDEuNTA3IDc5OCwxMDAuMzA3IiBmaWxsPSJub25lIiBzdHJva2U9IiM2MGE1ZmEiIHN0cm9rZS13aWR0aD0iMi41IiBzdHJva2UtZGFzaGFycmF5PSIxMCA0Ii8+CjxjaXJjbGUgZGF0YS1zZXJpZXM9Im5hdGl2ZSIgZGF0YS1heGlzPSIwIiBjeD0iODQiIGN5PSIyOTAiIHI9IjQiIGZpbGw9IiMxMTE4MjciIHN0cm9rZT0iIzYwYTVmYSIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtZGFzaGFycmF5PSIxMCA0Ii8+CjxjaXJjbGUgZGF0YS1zZXJpZXM9Im5hdGl2ZSIgZGF0YS1heGlzPSIxIiBjeD0iMTU2IiBjeT0iMjY1LjEwNyIgcj0iNCIgZmlsbD0iIzExMTgyNyIgc3Ryb2tlPSIjNjBhNWZhIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1kYXNoYXJyYXk9IjEwIDQiLz4KPGNpcmNsZSBkYXRhLXNlcmllcz0ibmF0aXZlIiBkYXRhLWF4aXM9IjEwIiBjeD0iMzE2LjUiIGN5PSIyMjMuOTA3IiByPSI0IiBmaWxsPSIjMTExODI3IiBzdHJva2U9IiM2MGE1ZmEiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWRhc2hhcnJheT0iMTAgNCIvPgo8Y2lyY2xlIGRhdGEtc2VyaWVzPSJuYXRpdmUiIGRhdGEtYXhpcz0iMTAwIiBjeD0iNDc3IiBjeT0iMTgyLjcwNyIgcj0iNCIgZmlsbD0iIzExMTgyNyIgc3Ryb2tlPSIjNjBhNWZhIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1kYXNoYXJyYXk9IjEwIDQiLz4KPGNpcmNsZSBkYXRhLXNlcmllcz0ibmF0aXZlIiBkYXRhLWF4aXM9IjEwMDAiIGN4PSI2MzcuNSIgY3k9IjE0MS41MDciIHI9IjQiIGZpbGw9IiMxMTE4MjciIHN0cm9rZT0iIzYwYTVmYSIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtZGFzaGFycmF5PSIxMCA0Ii8+CjxjaXJjbGUgZGF0YS1zZXJpZXM9Im5hdGl2ZSIgZGF0YS1heGlzPSIxMDAwMCIgY3g9Ijc5OCIgY3k9IjEwMC4zMDciIHI9IjQiIGZpbGw9IiMxMTE4MjciIHN0cm9rZT0iIzYwYTVmYSIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtZGFzaGFycmF5PSIxMCA0Ii8+CjxsaW5lIHgxPSI4NCIgeDI9IjExNCIgeTE9IjQwMiIgeTI9IjQwMiIgc3Ryb2tlPSIjNjBhNWZhIiBzdHJva2Utd2lkdGg9IjIuNSIgc3Ryb2tlLWRhc2hhcnJheT0iMTAgNCIvPgo8dGV4dCB4PSIxMjMiIHk9IjQwNiI+UGxhbm5pbmcgbmF0aXZlIGJhY2tlbmQ8L3RleHQ+CjwvZz48L3N2Zz4K" alt="Google Cloud Storage · Object reads: monthly service charges by Object reads. Exact values are in the following table." />
</div>

Exact sampled model outputs in USD/month. Difference means target minus origin; a positive difference means the target costs more.

| Object reads (per second) | Origin | Target scenario | Target | Difference |
| -: | -: | - | -: | -: |
| 0 | 0 | Planning native backend | 0 | 0 |
| 1 | 1.0512 | Planning native backend | 1.0512 | 0 |
| 10 | 10.512 | Planning native backend | 10.512 | 0 |
| 100 | 105.12 | Planning native backend | 105.12 | 0 |
| 1000 | 1051.2 | Planning native backend | 1051.2 | 0 |
| 10000 | 10512 | Planning native backend | 10512 | 0 |

**Curve assumptions**

| Target scenario | Assumption | Value | Unit |
| - | - | -: | - |
| Planning native backend | Origin price guess · Stored object data | 0.02 | USD/GiB-month |
| Planning native backend | Origin price guess · Object writes | 0.000005 | USD/requests |
| Planning native backend | Origin price guess · Object reads | 0.0000004 | USD/requests |
| Planning native backend | Origin price guess · Billable origin network transfer | 0.09 | USD/GiB |
| Planning native backend | Representative transferred object size | 1048576 | bytes |
| Planning native backend | Target requests per write | 1 | requests |
| Planning native backend | Target requests per read | 1 | requests |
| Planning native backend | Target price guess · read | 0.0000004 | USD/read |
| Planning native backend | Target price guess · write | 0.000005 | USD/write |
| Planning native backend | Target price guess · provider operation | 0 | USD/provider operation |
| Planning native backend | Target price guess · GiB-month | 0.02 | USD/GiB-month |
| Planning native backend | Target price guess · published GiB | 0 | USD/published GiB |
| Planning native backend | Target price guess · delivered GiB | 0 | USD/delivered GiB |
| Planning native backend | Target price guess · network GiB | 0.09 | USD/network GiB |
| Planning native backend | Target price guess · replica GiB-month | 0 | USD/replica GiB-month |
| Planning native backend | Target price guess · vCPU-hour | 0 | USD/vCPU-hour |
| Planning native backend | Target price guess · GiB-hour | 0 | USD/GiB-hour |
| Planning native backend | Target price guess · resource-hour | 0 | USD/resource-hour |
| Planning native backend | Target price guess · resource-month | 0 | USD/resource-month |
| Planning native backend | Target price guess · input token | 0 | USD/input token |
| Planning native backend | Target price guess · output token | 0 | USD/output token |
| Planning native backend | Approximate target service minimum | 0 | USD/month |
| Planning native backend | Minimum primary CPU | 2 | vCPU |
| Planning native backend | Minimum primary RAM | 8 | GiB |
| Planning native backend | Minimum primary disk | 100 | GiB |
| Planning native backend | Additional full-price standby copy | 0 | 0 or 1 |
| Planning native backend | Allocated share of provisioned cost | 1 | fraction |
| Planning native backend | Planning read/write work per vCPU-second | 1000 | operations/vCPU-second |
| Planning native backend | Planning peak / mean work | 2 | multiplier |
| Planning native backend | Planning primary CPU utilization | 0.7 | fraction |
| Planning native backend | Resident state reserved in RAM | 0.1 | fraction |
| Planning native backend | Planning disk utilization | 0.7 | fraction |
| Planning native backend | Maintenance and log disk reserve | 20 | GiB |
| Planning native backend | Staging database CPU unit-price guess | 0.0413 | USD/vCPU-hour |
| Planning native backend | Staging database RAM unit-price guess | 0.007 | USD/GiB-hour |
| Planning native backend | Staging database disk unit-price guess | 0.17 | USD/GiB-month |
| Planning native backend | Dependent object sink storage price guess | 0.023 | USD/GiB-month |
| Planning native backend | Dependent object sink write price guess | 0.000005 | USD/write |

* Stored GiB and writes stay at independent defaults. 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-18; not verified provider prices. Explicit source planning region → Explicit target planning region, 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.
* Editable authored planning guesses, not verified provider tariffs, 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 exact directed mapping has a design profile. Cost modeling does not establish an implemented or deployable adapter.
* Authored planning assumptions, not measured adapter capacity. Editable origin rates are illustrative tariff profiles, before free allowances and discounts.
* A cost scenario does not establish backend availability, protocol fidelity or production readiness. Registry serving status remains independent.
* Storage, request throughput and network are independent dimensions; a storage-only curve does not estimate a request mix.
* All target rates are editable authored planning guesses, not verified current list prices, customer discounts or benchmark evidence.
* Object storage prices logical GiB-month, actual target read/write operations and explicitly selected network transfer.

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.
* Replication beyond the selected target policy; archive classes and their minimum-duration/retrieval tariffs need a separate profile.
* 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.

Planning assumptions authored: 2026-10-18. Model: `plan-4ef56ba9f61f8fac9ef0c33c9bdeec18f348caa5` / `2026-10-18.planning.1`. Curve: `workload-3`.

## Google Cloud Storage → S3

Origin API: `google::1.0.0::gcs`. Target backend: `aws::1.0.0::s3`.

**Planning estimate with editable assumptions.** Unit rates, workload amplification and capacity assumptions are educated guesses awaiting verification. The displayed amounts are planning estimates, not verified provider list-price quotes or benchmark-qualified capacity. Region names identify the authored scenario assumptions.

**Designed mapping.** This cost model describes an intended adapter. Its estimated price does not establish a delivered or selectable backend.

### Google Cloud Storage · Stored data

**Planning estimate with editable assumptions.** These authored unit rates and capacity assumptions require provider-price verification and representative benchmarks. They do not constitute verified list-price quotes or evidence that an adapter is available.

Estimated monthly service charges from native source usage; no calculator input is required. Adapter hosting and Tensor9 fees are excluded. Source: Explicit source planning region; target: Explicit target planning region; currency: USD.

<div className="t9-diagram-scroll" role="region" aria-label="Service charge comparison" tabIndex={0}>
  <img className="t9-diagram-light" src="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA4NjAgNDI2IiByb2xlPSJpbWciIGFyaWEtbGFiZWxsZWRieT0idGl0bGUgZGVzYyI+Cjx0aXRsZSBpZD0idGl0bGUiPkdvb2dsZSBDbG91ZCBTdG9yYWdlIMK3IFN0b3JlZCBkYXRhPC90aXRsZT4KPGRlc2MgaWQ9ImRlc2MiPlBsYW5uaW5nIGVzdGltYXRlcyBpbiBVU0QgYnkgU3RvcmVkIGRhdGEuIFdvcmtsb2FkIGF4aXM6IGxvZ2FyaXRobWljIHBvc2l0aXZlIHZhbHVlczsgemVybyBzaG93biBzZXBhcmF0ZWx5LiBDb3N0IGF4aXM6IGxvZ2FyaXRobWljIHBvc2l0aXZlIHZhbHVlczsgemVybyBjb3N0IHNob3duIHNlcGFyYXRlbHkuIEV4YWN0IHZhbHVlcywgYXNzdW1wdGlvbnMgYW5kIGV4Y2x1c2lvbnMgYXBwZWFyIGluIHRoZSBhZGphY2VudCB0YWJsZSBhbmQgdGV4dC4gQWRhcHRlciBob3N0aW5nIGFuZCBUZW5zb3I5IGZlZXMgYXJlIGV4Y2x1ZGVkLjwvZGVzYz4KPHJlY3Qgd2lkdGg9Ijg2MCIgaGVpZ2h0PSIxMDAlIiBmaWxsPSIjZmZmZmZmIi8+CjxnIGZvbnQtZmFtaWx5PSJzeXN0ZW0tdWksc2Fucy1zZXJpZiIgZm9udC1zaXplPSIxMyIgZmlsbD0iIzFmMjkzNyI+Cjx0ZXh0IHg9Ijg0IiB5PSIyNiIgZm9udC1zaXplPSIxNyIgZm9udC13ZWlnaHQ9IjYwMCI+R29vZ2xlIENsb3VkIFN0b3JhZ2UgwrcgU3RvcmVkIGRhdGE8L3RleHQ+Cjx0ZXh0IHg9Ijg0IiB5PSI0NyI+TW9udGhseSBzZXJ2aWNlIGNoYXJnZXMgKFVTRDsgbG9nYXJpdGhtaWMgY29zdCBheGlzOyB6ZXJvIHNlcGFyYXRlKTwvdGV4dD4KPGxpbmUgeDE9Ijg0IiB4Mj0iNzk4IiB5MT0iMjkwLjAiIHkyPSIyOTAuMCIgc3Ryb2tlPSIjZTVlN2ViIi8+Cjx0ZXh0IHg9Ijc2IiB5PSIyOTQuMCIgdGV4dC1hbmNob3I9ImVuZCI+MDwvdGV4dD4KPGxpbmUgeDE9Ijg0IiB4Mj0iNzk4IiB5MT0iMjY2LjAiIHkyPSIyNjYuMCIgc3Ryb2tlPSIjZTVlN2ViIi8+Cjx0ZXh0IHg9Ijc2IiB5PSIyNzAuMCIgdGV4dC1hbmNob3I9ImVuZCI+MC4xPC90ZXh0Pgo8bGluZSB4MT0iODQiIHgyPSI3OTgiIHkxPSIyMjQuOCIgeTI9IjIyNC44IiBzdHJva2U9IiNlNWU3ZWIiLz4KPHRleHQgeD0iNzYiIHk9IjIyOC44IiB0ZXh0LWFuY2hvcj0iZW5kIj4xPC90ZXh0Pgo8bGluZSB4MT0iODQiIHgyPSI3OTgiIHkxPSIxODMuNiIgeTI9IjE4My42IiBzdHJva2U9IiNlNWU3ZWIiLz4KPHRleHQgeD0iNzYiIHk9IjE4Ny42IiB0ZXh0LWFuY2hvcj0iZW5kIj4xMDwvdGV4dD4KPGxpbmUgeDE9Ijg0IiB4Mj0iNzk4IiB5MT0iMTQyLjQiIHkyPSIxNDIuNCIgc3Ryb2tlPSIjZTVlN2ViIi8+Cjx0ZXh0IHg9Ijc2IiB5PSIxNDYuNCIgdGV4dC1hbmNob3I9ImVuZCI+MTAwPC90ZXh0Pgo8bGluZSB4MT0iODQiIHgyPSI3OTgiIHkxPSIxMDEuMiIgeTI9IjEwMS4yIiBzdHJva2U9IiNlNWU3ZWIiLz4KPHRleHQgeD0iNzYiIHk9IjEwNS4yIiB0ZXh0LWFuY2hvcj0iZW5kIj4xMDAwPC90ZXh0Pgo8bGluZSB4MT0iODQiIHgyPSI3OTgiIHkxPSI2MC4wIiB5Mj0iNjAuMCIgc3Ryb2tlPSIjZTVlN2ViIi8+Cjx0ZXh0IHg9Ijc2IiB5PSI2NC4wIiB0ZXh0LWFuY2hvcj0iZW5kIj4xMDAwMDwvdGV4dD4KPGxpbmUgeDE9Ijg0IiB4Mj0iODQiIHkxPSI2MCIgeTI9IjI5MCIgc3Ryb2tlPSIjMWYyOTM3Ii8+CjxsaW5lIHgxPSI4NCIgeDI9Ijg0IiB5MT0iMjkwIiB5Mj0iMjk1IiBzdHJva2U9IiMxZjI5MzciLz4KPHRleHQgeD0iODQiIHk9IjMxMSIgdGV4dC1hbmNob3I9Im1pZGRsZSIgZGF0YS1heGlzLWxhYmVsPSJ0cnVlIj4wPC90ZXh0Pgo8bGluZSB4MT0iMTU2IiB4Mj0iMTU2IiB5MT0iMjkwIiB5Mj0iMjk1IiBzdHJva2U9IiMxZjI5MzciLz4KPHRleHQgeD0iMTU2IiB5PSIzMTEiIHRleHQtYW5jaG9yPSJtaWRkbGUiIGRhdGEtYXhpcy1sYWJlbD0idHJ1ZSI+MTA8L3RleHQ+CjxsaW5lIHgxPSIzMTYuNSIgeDI9IjMxNi41IiB5MT0iMjkwIiB5Mj0iMjk1IiBzdHJva2U9IiMxZjI5MzciLz4KPHRleHQgeD0iMzE2LjUiIHk9IjMxMSIgdGV4dC1hbmNob3I9Im1pZGRsZSIgZGF0YS1heGlzLWxhYmVsPSJ0cnVlIj4xMDA8L3RleHQ+CjxsaW5lIHgxPSI0NzciIHgyPSI0NzciIHkxPSIyOTAiIHkyPSIyOTUiIHN0cm9rZT0iIzFmMjkzNyIvPgo8dGV4dCB4PSI0NzciIHk9IjMxMSIgdGV4dC1hbmNob3I9Im1pZGRsZSIgZGF0YS1heGlzLWxhYmVsPSJ0cnVlIj4xMDAwPC90ZXh0Pgo8bGluZSB4MT0iNjM3LjUiIHgyPSI2MzcuNSIgeTE9IjI5MCIgeTI9IjI5NSIgc3Ryb2tlPSIjMWYyOTM3Ii8+Cjx0ZXh0IHg9IjYzNy41IiB5PSIzMTEiIHRleHQtYW5jaG9yPSJtaWRkbGUiIGRhdGEtYXhpcy1sYWJlbD0idHJ1ZSI+MTAwMDA8L3RleHQ+CjxsaW5lIHgxPSI3OTgiIHgyPSI3OTgiIHkxPSIyOTAiIHkyPSIyOTUiIHN0cm9rZT0iIzFmMjkzNyIvPgo8dGV4dCB4PSI3OTgiIHk9IjMxMSIgdGV4dC1hbmNob3I9Im1pZGRsZSIgZGF0YS1heGlzLWxhYmVsPSJ0cnVlIj4xMDAwMDA8L3RleHQ+CjxwYXRoIGQ9Ik0xMTYgMjg3IGw1IDYgbTIgLTYgbDUgNiIgc3Ryb2tlPSIjMWYyOTM3IiBmaWxsPSJub25lIi8+Cjx0ZXh0IHg9IjQ0MSIgeT0iMzM2IiB0ZXh0LWFuY2hvcj0ibWlkZGxlIj5TdG9yZWQgZGF0YSAoR2lCLW1vbnRoKTwvdGV4dD4KPHRleHQgeD0iODQiIHk9IjM1OCI+V29ya2xvYWQgYXhpczogbG9nYXJpdGhtaWMgcG9zaXRpdmUgdmFsdWVzOyB6ZXJvIHNob3duIHNlcGFyYXRlbHkuPC90ZXh0Pgo8cG9seWxpbmUgcG9pbnRzPSI4NCwyOTAgMTU2LDI1My41OTggMzE2LjUsMjEyLjM5OCA0NzcsMTcxLjE5OCA2MzcuNSwxMjkuOTk4IDc5OCw4OC43OTgiIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzFmMjkzNyIgc3Ryb2tlLXdpZHRoPSIyLjUiIHN0cm9rZS1kYXNoYXJyYXk9IjYgNCIvPgo8Y2lyY2xlIGRhdGEtc2VyaWVzPSJvcmlnaW4iIGRhdGEtYXhpcz0iMCIgY3g9Ijg0IiBjeT0iMjkwIiByPSIzLjUiIGZpbGw9IiNmZmZmZmYiIHN0cm9rZT0iIzFmMjkzNyIgc3Ryb2tlLXdpZHRoPSIyIi8+CjxjaXJjbGUgZGF0YS1zZXJpZXM9Im9yaWdpbiIgZGF0YS1heGlzPSIxMCIgY3g9IjE1NiIgY3k9IjI1My41OTgiIHI9IjMuNSIgZmlsbD0iI2ZmZmZmZiIgc3Ryb2tlPSIjMWYyOTM3IiBzdHJva2Utd2lkdGg9IjIiLz4KPGNpcmNsZSBkYXRhLXNlcmllcz0ib3JpZ2luIiBkYXRhLWF4aXM9IjEwMCIgY3g9IjMxNi41IiBjeT0iMjEyLjM5OCIgcj0iMy41IiBmaWxsPSIjZmZmZmZmIiBzdHJva2U9IiMxZjI5MzciIHN0cm9rZS13aWR0aD0iMiIvPgo8Y2lyY2xlIGRhdGEtc2VyaWVzPSJvcmlnaW4iIGRhdGEtYXhpcz0iMTAwMCIgY3g9IjQ3NyIgY3k9IjE3MS4xOTgiIHI9IjMuNSIgZmlsbD0iI2ZmZmZmZiIgc3Ryb2tlPSIjMWYyOTM3IiBzdHJva2Utd2lkdGg9IjIiLz4KPGNpcmNsZSBkYXRhLXNlcmllcz0ib3JpZ2luIiBkYXRhLWF4aXM9IjEwMDAwIiBjeD0iNjM3LjUiIGN5PSIxMjkuOTk4IiByPSIzLjUiIGZpbGw9IiNmZmZmZmYiIHN0cm9rZT0iIzFmMjkzNyIgc3Ryb2tlLXdpZHRoPSIyIi8+CjxjaXJjbGUgZGF0YS1zZXJpZXM9Im9yaWdpbiIgZGF0YS1heGlzPSIxMDAwMDAiIGN4PSI3OTgiIGN5PSI4OC43OTgiIHI9IjMuNSIgZmlsbD0iI2ZmZmZmZiIgc3Ryb2tlPSIjMWYyOTM3IiBzdHJva2Utd2lkdGg9IjIiLz4KPGxpbmUgeDE9Ijg0IiB4Mj0iMTE0IiB5MT0iMzgwIiB5Mj0iMzgwIiBzdHJva2U9IiMxZjI5MzciIHN0cm9rZS13aWR0aD0iMi41IiBzdHJva2UtZGFzaGFycmF5PSI2IDQiLz4KPHRleHQgeD0iMTIzIiB5PSIzODQiPk9yaWdpbiBzZXJ2aWNlPC90ZXh0Pgo8cG9seWxpbmUgZGF0YS1zZXJpZXM9Im5hdGl2ZSIgcG9pbnRzPSI4NCwyOTAgMTU2LDI1My41OTggMzE2LjUsMjEyLjM5OCA0NzcsMTcxLjE5OCA2MzcuNSwxMjkuOTk4IDc5OCw4OC43OTgiIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzFkNGVkOCIgc3Ryb2tlLXdpZHRoPSIyLjUiIHN0cm9rZS1kYXNoYXJyYXk9IjEwIDQiLz4KPGNpcmNsZSBkYXRhLXNlcmllcz0ibmF0aXZlIiBkYXRhLWF4aXM9IjAiIGN4PSI4NCIgY3k9IjI5MCIgcj0iNCIgZmlsbD0iI2ZmZmZmZiIgc3Ryb2tlPSIjMWQ0ZWQ4IiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1kYXNoYXJyYXk9IjEwIDQiLz4KPGNpcmNsZSBkYXRhLXNlcmllcz0ibmF0aXZlIiBkYXRhLWF4aXM9IjEwIiBjeD0iMTU2IiBjeT0iMjUzLjU5OCIgcj0iNCIgZmlsbD0iI2ZmZmZmZiIgc3Ryb2tlPSIjMWQ0ZWQ4IiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1kYXNoYXJyYXk9IjEwIDQiLz4KPGNpcmNsZSBkYXRhLXNlcmllcz0ibmF0aXZlIiBkYXRhLWF4aXM9IjEwMCIgY3g9IjMxNi41IiBjeT0iMjEyLjM5OCIgcj0iNCIgZmlsbD0iI2ZmZmZmZiIgc3Ryb2tlPSIjMWQ0ZWQ4IiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1kYXNoYXJyYXk9IjEwIDQiLz4KPGNpcmNsZSBkYXRhLXNlcmllcz0ibmF0aXZlIiBkYXRhLWF4aXM9IjEwMDAiIGN4PSI0NzciIGN5PSIxNzEuMTk4IiByPSI0IiBmaWxsPSIjZmZmZmZmIiBzdHJva2U9IiMxZDRlZDgiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWRhc2hhcnJheT0iMTAgNCIvPgo8Y2lyY2xlIGRhdGEtc2VyaWVzPSJuYXRpdmUiIGRhdGEtYXhpcz0iMTAwMDAiIGN4PSI2MzcuNSIgY3k9IjEyOS45OTgiIHI9IjQiIGZpbGw9IiNmZmZmZmYiIHN0cm9rZT0iIzFkNGVkOCIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtZGFzaGFycmF5PSIxMCA0Ii8+CjxjaXJjbGUgZGF0YS1zZXJpZXM9Im5hdGl2ZSIgZGF0YS1heGlzPSIxMDAwMDAiIGN4PSI3OTgiIGN5PSI4OC43OTgiIHI9IjQiIGZpbGw9IiNmZmZmZmYiIHN0cm9rZT0iIzFkNGVkOCIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtZGFzaGFycmF5PSIxMCA0Ii8+CjxsaW5lIHgxPSI4NCIgeDI9IjExNCIgeTE9IjQwMiIgeTI9IjQwMiIgc3Ryb2tlPSIjMWQ0ZWQ4IiBzdHJva2Utd2lkdGg9IjIuNSIgc3Ryb2tlLWRhc2hhcnJheT0iMTAgNCIvPgo8dGV4dCB4PSIxMjMiIHk9IjQwNiI+UGxhbm5pbmcgbmF0aXZlIGJhY2tlbmQ8L3RleHQ+CjwvZz48L3N2Zz4K" alt="Google Cloud Storage · Stored data: monthly service charges by Stored data. Exact values are in the following table." />

  <img className="t9-diagram-dark" src="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA4NjAgNDI2IiByb2xlPSJpbWciIGFyaWEtbGFiZWxsZWRieT0idGl0bGUgZGVzYyI+Cjx0aXRsZSBpZD0idGl0bGUiPkdvb2dsZSBDbG91ZCBTdG9yYWdlIMK3IFN0b3JlZCBkYXRhPC90aXRsZT4KPGRlc2MgaWQ9ImRlc2MiPlBsYW5uaW5nIGVzdGltYXRlcyBpbiBVU0QgYnkgU3RvcmVkIGRhdGEuIFdvcmtsb2FkIGF4aXM6IGxvZ2FyaXRobWljIHBvc2l0aXZlIHZhbHVlczsgemVybyBzaG93biBzZXBhcmF0ZWx5LiBDb3N0IGF4aXM6IGxvZ2FyaXRobWljIHBvc2l0aXZlIHZhbHVlczsgemVybyBjb3N0IHNob3duIHNlcGFyYXRlbHkuIEV4YWN0IHZhbHVlcywgYXNzdW1wdGlvbnMgYW5kIGV4Y2x1c2lvbnMgYXBwZWFyIGluIHRoZSBhZGphY2VudCB0YWJsZSBhbmQgdGV4dC4gQWRhcHRlciBob3N0aW5nIGFuZCBUZW5zb3I5IGZlZXMgYXJlIGV4Y2x1ZGVkLjwvZGVzYz4KPHJlY3Qgd2lkdGg9Ijg2MCIgaGVpZ2h0PSIxMDAlIiBmaWxsPSIjMTExODI3Ii8+CjxnIGZvbnQtZmFtaWx5PSJzeXN0ZW0tdWksc2Fucy1zZXJpZiIgZm9udC1zaXplPSIxMyIgZmlsbD0iI2U1ZTdlYiI+Cjx0ZXh0IHg9Ijg0IiB5PSIyNiIgZm9udC1zaXplPSIxNyIgZm9udC13ZWlnaHQ9IjYwMCI+R29vZ2xlIENsb3VkIFN0b3JhZ2UgwrcgU3RvcmVkIGRhdGE8L3RleHQ+Cjx0ZXh0IHg9Ijg0IiB5PSI0NyI+TW9udGhseSBzZXJ2aWNlIGNoYXJnZXMgKFVTRDsgbG9nYXJpdGhtaWMgY29zdCBheGlzOyB6ZXJvIHNlcGFyYXRlKTwvdGV4dD4KPGxpbmUgeDE9Ijg0IiB4Mj0iNzk4IiB5MT0iMjkwLjAiIHkyPSIyOTAuMCIgc3Ryb2tlPSIjMzc0MTUxIi8+Cjx0ZXh0IHg9Ijc2IiB5PSIyOTQuMCIgdGV4dC1hbmNob3I9ImVuZCI+MDwvdGV4dD4KPGxpbmUgeDE9Ijg0IiB4Mj0iNzk4IiB5MT0iMjY2LjAiIHkyPSIyNjYuMCIgc3Ryb2tlPSIjMzc0MTUxIi8+Cjx0ZXh0IHg9Ijc2IiB5PSIyNzAuMCIgdGV4dC1hbmNob3I9ImVuZCI+MC4xPC90ZXh0Pgo8bGluZSB4MT0iODQiIHgyPSI3OTgiIHkxPSIyMjQuOCIgeTI9IjIyNC44IiBzdHJva2U9IiMzNzQxNTEiLz4KPHRleHQgeD0iNzYiIHk9IjIyOC44IiB0ZXh0LWFuY2hvcj0iZW5kIj4xPC90ZXh0Pgo8bGluZSB4MT0iODQiIHgyPSI3OTgiIHkxPSIxODMuNiIgeTI9IjE4My42IiBzdHJva2U9IiMzNzQxNTEiLz4KPHRleHQgeD0iNzYiIHk9IjE4Ny42IiB0ZXh0LWFuY2hvcj0iZW5kIj4xMDwvdGV4dD4KPGxpbmUgeDE9Ijg0IiB4Mj0iNzk4IiB5MT0iMTQyLjQiIHkyPSIxNDIuNCIgc3Ryb2tlPSIjMzc0MTUxIi8+Cjx0ZXh0IHg9Ijc2IiB5PSIxNDYuNCIgdGV4dC1hbmNob3I9ImVuZCI+MTAwPC90ZXh0Pgo8bGluZSB4MT0iODQiIHgyPSI3OTgiIHkxPSIxMDEuMiIgeTI9IjEwMS4yIiBzdHJva2U9IiMzNzQxNTEiLz4KPHRleHQgeD0iNzYiIHk9IjEwNS4yIiB0ZXh0LWFuY2hvcj0iZW5kIj4xMDAwPC90ZXh0Pgo8bGluZSB4MT0iODQiIHgyPSI3OTgiIHkxPSI2MC4wIiB5Mj0iNjAuMCIgc3Ryb2tlPSIjMzc0MTUxIi8+Cjx0ZXh0IHg9Ijc2IiB5PSI2NC4wIiB0ZXh0LWFuY2hvcj0iZW5kIj4xMDAwMDwvdGV4dD4KPGxpbmUgeDE9Ijg0IiB4Mj0iODQiIHkxPSI2MCIgeTI9IjI5MCIgc3Ryb2tlPSIjZTVlN2ViIi8+CjxsaW5lIHgxPSI4NCIgeDI9Ijg0IiB5MT0iMjkwIiB5Mj0iMjk1IiBzdHJva2U9IiNlNWU3ZWIiLz4KPHRleHQgeD0iODQiIHk9IjMxMSIgdGV4dC1hbmNob3I9Im1pZGRsZSIgZGF0YS1heGlzLWxhYmVsPSJ0cnVlIj4wPC90ZXh0Pgo8bGluZSB4MT0iMTU2IiB4Mj0iMTU2IiB5MT0iMjkwIiB5Mj0iMjk1IiBzdHJva2U9IiNlNWU3ZWIiLz4KPHRleHQgeD0iMTU2IiB5PSIzMTEiIHRleHQtYW5jaG9yPSJtaWRkbGUiIGRhdGEtYXhpcy1sYWJlbD0idHJ1ZSI+MTA8L3RleHQ+CjxsaW5lIHgxPSIzMTYuNSIgeDI9IjMxNi41IiB5MT0iMjkwIiB5Mj0iMjk1IiBzdHJva2U9IiNlNWU3ZWIiLz4KPHRleHQgeD0iMzE2LjUiIHk9IjMxMSIgdGV4dC1hbmNob3I9Im1pZGRsZSIgZGF0YS1heGlzLWxhYmVsPSJ0cnVlIj4xMDA8L3RleHQ+CjxsaW5lIHgxPSI0NzciIHgyPSI0NzciIHkxPSIyOTAiIHkyPSIyOTUiIHN0cm9rZT0iI2U1ZTdlYiIvPgo8dGV4dCB4PSI0NzciIHk9IjMxMSIgdGV4dC1hbmNob3I9Im1pZGRsZSIgZGF0YS1heGlzLWxhYmVsPSJ0cnVlIj4xMDAwPC90ZXh0Pgo8bGluZSB4MT0iNjM3LjUiIHgyPSI2MzcuNSIgeTE9IjI5MCIgeTI9IjI5NSIgc3Ryb2tlPSIjZTVlN2ViIi8+Cjx0ZXh0IHg9IjYzNy41IiB5PSIzMTEiIHRleHQtYW5jaG9yPSJtaWRkbGUiIGRhdGEtYXhpcy1sYWJlbD0idHJ1ZSI+MTAwMDA8L3RleHQ+CjxsaW5lIHgxPSI3OTgiIHgyPSI3OTgiIHkxPSIyOTAiIHkyPSIyOTUiIHN0cm9rZT0iI2U1ZTdlYiIvPgo8dGV4dCB4PSI3OTgiIHk9IjMxMSIgdGV4dC1hbmNob3I9Im1pZGRsZSIgZGF0YS1heGlzLWxhYmVsPSJ0cnVlIj4xMDAwMDA8L3RleHQ+CjxwYXRoIGQ9Ik0xMTYgMjg3IGw1IDYgbTIgLTYgbDUgNiIgc3Ryb2tlPSIjZTVlN2ViIiBmaWxsPSJub25lIi8+Cjx0ZXh0IHg9IjQ0MSIgeT0iMzM2IiB0ZXh0LWFuY2hvcj0ibWlkZGxlIj5TdG9yZWQgZGF0YSAoR2lCLW1vbnRoKTwvdGV4dD4KPHRleHQgeD0iODQiIHk9IjM1OCI+V29ya2xvYWQgYXhpczogbG9nYXJpdGhtaWMgcG9zaXRpdmUgdmFsdWVzOyB6ZXJvIHNob3duIHNlcGFyYXRlbHkuPC90ZXh0Pgo8cG9seWxpbmUgcG9pbnRzPSI4NCwyOTAgMTU2LDI1My41OTggMzE2LjUsMjEyLjM5OCA0NzcsMTcxLjE5OCA2MzcuNSwxMjkuOTk4IDc5OCw4OC43OTgiIGZpbGw9Im5vbmUiIHN0cm9rZT0iI2U1ZTdlYiIgc3Ryb2tlLXdpZHRoPSIyLjUiIHN0cm9rZS1kYXNoYXJyYXk9IjYgNCIvPgo8Y2lyY2xlIGRhdGEtc2VyaWVzPSJvcmlnaW4iIGRhdGEtYXhpcz0iMCIgY3g9Ijg0IiBjeT0iMjkwIiByPSIzLjUiIGZpbGw9IiMxMTE4MjciIHN0cm9rZT0iI2U1ZTdlYiIgc3Ryb2tlLXdpZHRoPSIyIi8+CjxjaXJjbGUgZGF0YS1zZXJpZXM9Im9yaWdpbiIgZGF0YS1heGlzPSIxMCIgY3g9IjE1NiIgY3k9IjI1My41OTgiIHI9IjMuNSIgZmlsbD0iIzExMTgyNyIgc3Ryb2tlPSIjZTVlN2ViIiBzdHJva2Utd2lkdGg9IjIiLz4KPGNpcmNsZSBkYXRhLXNlcmllcz0ib3JpZ2luIiBkYXRhLWF4aXM9IjEwMCIgY3g9IjMxNi41IiBjeT0iMjEyLjM5OCIgcj0iMy41IiBmaWxsPSIjMTExODI3IiBzdHJva2U9IiNlNWU3ZWIiIHN0cm9rZS13aWR0aD0iMiIvPgo8Y2lyY2xlIGRhdGEtc2VyaWVzPSJvcmlnaW4iIGRhdGEtYXhpcz0iMTAwMCIgY3g9IjQ3NyIgY3k9IjE3MS4xOTgiIHI9IjMuNSIgZmlsbD0iIzExMTgyNyIgc3Ryb2tlPSIjZTVlN2ViIiBzdHJva2Utd2lkdGg9IjIiLz4KPGNpcmNsZSBkYXRhLXNlcmllcz0ib3JpZ2luIiBkYXRhLWF4aXM9IjEwMDAwIiBjeD0iNjM3LjUiIGN5PSIxMjkuOTk4IiByPSIzLjUiIGZpbGw9IiMxMTE4MjciIHN0cm9rZT0iI2U1ZTdlYiIgc3Ryb2tlLXdpZHRoPSIyIi8+CjxjaXJjbGUgZGF0YS1zZXJpZXM9Im9yaWdpbiIgZGF0YS1heGlzPSIxMDAwMDAiIGN4PSI3OTgiIGN5PSI4OC43OTgiIHI9IjMuNSIgZmlsbD0iIzExMTgyNyIgc3Ryb2tlPSIjZTVlN2ViIiBzdHJva2Utd2lkdGg9IjIiLz4KPGxpbmUgeDE9Ijg0IiB4Mj0iMTE0IiB5MT0iMzgwIiB5Mj0iMzgwIiBzdHJva2U9IiNlNWU3ZWIiIHN0cm9rZS13aWR0aD0iMi41IiBzdHJva2UtZGFzaGFycmF5PSI2IDQiLz4KPHRleHQgeD0iMTIzIiB5PSIzODQiPk9yaWdpbiBzZXJ2aWNlPC90ZXh0Pgo8cG9seWxpbmUgZGF0YS1zZXJpZXM9Im5hdGl2ZSIgcG9pbnRzPSI4NCwyOTAgMTU2LDI1My41OTggMzE2LjUsMjEyLjM5OCA0NzcsMTcxLjE5OCA2MzcuNSwxMjkuOTk4IDc5OCw4OC43OTgiIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzYwYTVmYSIgc3Ryb2tlLXdpZHRoPSIyLjUiIHN0cm9rZS1kYXNoYXJyYXk9IjEwIDQiLz4KPGNpcmNsZSBkYXRhLXNlcmllcz0ibmF0aXZlIiBkYXRhLWF4aXM9IjAiIGN4PSI4NCIgY3k9IjI5MCIgcj0iNCIgZmlsbD0iIzExMTgyNyIgc3Ryb2tlPSIjNjBhNWZhIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1kYXNoYXJyYXk9IjEwIDQiLz4KPGNpcmNsZSBkYXRhLXNlcmllcz0ibmF0aXZlIiBkYXRhLWF4aXM9IjEwIiBjeD0iMTU2IiBjeT0iMjUzLjU5OCIgcj0iNCIgZmlsbD0iIzExMTgyNyIgc3Ryb2tlPSIjNjBhNWZhIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1kYXNoYXJyYXk9IjEwIDQiLz4KPGNpcmNsZSBkYXRhLXNlcmllcz0ibmF0aXZlIiBkYXRhLWF4aXM9IjEwMCIgY3g9IjMxNi41IiBjeT0iMjEyLjM5OCIgcj0iNCIgZmlsbD0iIzExMTgyNyIgc3Ryb2tlPSIjNjBhNWZhIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1kYXNoYXJyYXk9IjEwIDQiLz4KPGNpcmNsZSBkYXRhLXNlcmllcz0ibmF0aXZlIiBkYXRhLWF4aXM9IjEwMDAiIGN4PSI0NzciIGN5PSIxNzEuMTk4IiByPSI0IiBmaWxsPSIjMTExODI3IiBzdHJva2U9IiM2MGE1ZmEiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWRhc2hhcnJheT0iMTAgNCIvPgo8Y2lyY2xlIGRhdGEtc2VyaWVzPSJuYXRpdmUiIGRhdGEtYXhpcz0iMTAwMDAiIGN4PSI2MzcuNSIgY3k9IjEyOS45OTgiIHI9IjQiIGZpbGw9IiMxMTE4MjciIHN0cm9rZT0iIzYwYTVmYSIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtZGFzaGFycmF5PSIxMCA0Ii8+CjxjaXJjbGUgZGF0YS1zZXJpZXM9Im5hdGl2ZSIgZGF0YS1heGlzPSIxMDAwMDAiIGN4PSI3OTgiIGN5PSI4OC43OTgiIHI9IjQiIGZpbGw9IiMxMTE4MjciIHN0cm9rZT0iIzYwYTVmYSIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtZGFzaGFycmF5PSIxMCA0Ii8+CjxsaW5lIHgxPSI4NCIgeDI9IjExNCIgeTE9IjQwMiIgeTI9IjQwMiIgc3Ryb2tlPSIjNjBhNWZhIiBzdHJva2Utd2lkdGg9IjIuNSIgc3Ryb2tlLWRhc2hhcnJheT0iMTAgNCIvPgo8dGV4dCB4PSIxMjMiIHk9IjQwNiI+UGxhbm5pbmcgbmF0aXZlIGJhY2tlbmQ8L3RleHQ+CjwvZz48L3N2Zz4K" alt="Google Cloud Storage · Stored data: monthly service charges by Stored data. Exact values are in the following table." />
</div>

Exact sampled model outputs in USD/month. Difference means target minus origin; a positive difference means the target costs more.

| Stored data (GiB-month) | Origin | Target scenario | Target | Difference |
| -: | -: | - | -: | -: |
| 0 | 0 | Planning native backend | 0 | 0 |
| 10 | 0.2 | Planning native backend | 0.2 | 0 |
| 100 | 2 | Planning native backend | 2 | 0 |
| 1000 | 20 | Planning native backend | 20 | 0 |
| 10000 | 200 | Planning native backend | 200 | 0 |
| 100000 | 2000 | Planning native backend | 2000 | 0 |

**Curve assumptions**

| Target scenario | Assumption | Value | Unit |
| - | - | -: | - |
| Planning native backend | Origin price guess · Stored object data | 0.02 | USD/GiB-month |
| Planning native backend | Origin price guess · Object writes | 0.000005 | USD/requests |
| Planning native backend | Origin price guess · Object reads | 0.0000004 | USD/requests |
| Planning native backend | Origin price guess · Billable origin network transfer | 0.09 | USD/GiB |
| Planning native backend | Representative transferred object size | 1048576 | bytes |
| Planning native backend | Target requests per write | 1 | requests |
| Planning native backend | Target requests per read | 1 | requests |
| Planning native backend | Target price guess · read | 0.0000004 | USD/read |
| Planning native backend | Target price guess · write | 0.000005 | USD/write |
| Planning native backend | Target price guess · provider operation | 0 | USD/provider operation |
| Planning native backend | Target price guess · GiB-month | 0.02 | USD/GiB-month |
| Planning native backend | Target price guess · published GiB | 0 | USD/published GiB |
| Planning native backend | Target price guess · delivered GiB | 0 | USD/delivered GiB |
| Planning native backend | Target price guess · network GiB | 0.09 | USD/network GiB |
| Planning native backend | Target price guess · replica GiB-month | 0 | USD/replica GiB-month |
| Planning native backend | Target price guess · vCPU-hour | 0 | USD/vCPU-hour |
| Planning native backend | Target price guess · GiB-hour | 0 | USD/GiB-hour |
| Planning native backend | Target price guess · resource-hour | 0 | USD/resource-hour |
| Planning native backend | Target price guess · resource-month | 0 | USD/resource-month |
| Planning native backend | Target price guess · input token | 0 | USD/input token |
| Planning native backend | Target price guess · output token | 0 | USD/output token |
| Planning native backend | Approximate target service minimum | 0 | USD/month |
| Planning native backend | Minimum primary CPU | 2 | vCPU |
| Planning native backend | Minimum primary RAM | 8 | GiB |
| Planning native backend | Minimum primary disk | 100 | GiB |
| Planning native backend | Additional full-price standby copy | 0 | 0 or 1 |
| Planning native backend | Allocated share of provisioned cost | 1 | fraction |
| Planning native backend | Planning read/write work per vCPU-second | 1000 | operations/vCPU-second |
| Planning native backend | Planning peak / mean work | 2 | multiplier |
| Planning native backend | Planning primary CPU utilization | 0.7 | fraction |
| Planning native backend | Resident state reserved in RAM | 0.1 | fraction |
| Planning native backend | Planning disk utilization | 0.7 | fraction |
| Planning native backend | Maintenance and log disk reserve | 20 | GiB |
| Planning native backend | Staging database CPU unit-price guess | 0.0413 | USD/vCPU-hour |
| Planning native backend | Staging database RAM unit-price guess | 0.007 | USD/GiB-hour |
| Planning native backend | Staging database disk unit-price guess | 0.17 | USD/GiB-month |
| Planning native backend | Dependent object sink storage price guess | 0.023 | USD/GiB-month |
| Planning native backend | Dependent object sink write price guess | 0.000005 | USD/write |

* Request meters remain at their independently authored defaults. 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-18; not verified provider prices. Explicit source planning region → Explicit target planning region, 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.
* Editable authored planning guesses, not verified provider tariffs, 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 exact directed mapping has a design profile. Cost modeling does not establish an implemented or deployable adapter.
* Authored planning assumptions, not measured adapter capacity. Editable origin rates are illustrative tariff profiles, before free allowances and discounts.
* A cost scenario does not establish backend availability, protocol fidelity or production readiness. Registry serving status remains independent.
* Storage, request throughput and network are independent dimensions; a storage-only curve does not estimate a request mix.
* All target rates are editable authored planning guesses, not verified current list prices, customer discounts or benchmark evidence.
* Object storage prices logical GiB-month, actual target read/write operations and explicitly selected network transfer.

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.
* Replication beyond the selected target policy; archive classes and their minimum-duration/retrieval tariffs need a separate profile.
* 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.

Planning assumptions authored: 2026-10-18. Model: `plan-7a6353b5166007242df339326a7e6bc8b09067c8` / `2026-10-18.planning.1`. Curve: `workload-1`.

### Google Cloud Storage · Object writes

**Planning estimate with editable assumptions.** These authored unit rates and capacity assumptions require provider-price verification and representative benchmarks. They do not constitute verified list-price quotes or evidence that an adapter is available.

Estimated monthly service charges from native source usage; no calculator input is required. Adapter hosting and Tensor9 fees are excluded. Source: Explicit source planning region; target: Explicit target planning region; currency: USD.

<div className="t9-diagram-scroll" role="region" aria-label="Service charge comparison" tabIndex={0}>
  <img className="t9-diagram-light" src="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA4NjAgNDI2IiByb2xlPSJpbWciIGFyaWEtbGFiZWxsZWRieT0idGl0bGUgZGVzYyI+Cjx0aXRsZSBpZD0idGl0bGUiPkdvb2dsZSBDbG91ZCBTdG9yYWdlIMK3IE9iamVjdCB3cml0ZXM8L3RpdGxlPgo8ZGVzYyBpZD0iZGVzYyI+UGxhbm5pbmcgZXN0aW1hdGVzIGluIFVTRCBieSBPYmplY3Qgd3JpdGVzLiBXb3JrbG9hZCBheGlzOiBsb2dhcml0aG1pYyBwb3NpdGl2ZSB2YWx1ZXM7IHplcm8gc2hvd24gc2VwYXJhdGVseS4gQ29zdCBheGlzOiBsb2dhcml0aG1pYyBwb3NpdGl2ZSB2YWx1ZXM7IHplcm8gY29zdCBzaG93biBzZXBhcmF0ZWx5LiBFeGFjdCB2YWx1ZXMsIGFzc3VtcHRpb25zIGFuZCBleGNsdXNpb25zIGFwcGVhciBpbiB0aGUgYWRqYWNlbnQgdGFibGUgYW5kIHRleHQuIEFkYXB0ZXIgaG9zdGluZyBhbmQgVGVuc29yOSBmZWVzIGFyZSBleGNsdWRlZC48L2Rlc2M+CjxyZWN0IHdpZHRoPSI4NjAiIGhlaWdodD0iMTAwJSIgZmlsbD0iI2ZmZmZmZiIvPgo8ZyBmb250LWZhbWlseT0ic3lzdGVtLXVpLHNhbnMtc2VyaWYiIGZvbnQtc2l6ZT0iMTMiIGZpbGw9IiMxZjI5MzciPgo8dGV4dCB4PSI4NCIgeT0iMjYiIGZvbnQtc2l6ZT0iMTciIGZvbnQtd2VpZ2h0PSI2MDAiPkdvb2dsZSBDbG91ZCBTdG9yYWdlIMK3IE9iamVjdCB3cml0ZXM8L3RleHQ+Cjx0ZXh0IHg9Ijg0IiB5PSI0NyI+TW9udGhseSBzZXJ2aWNlIGNoYXJnZXMgKFVTRDsgbG9nYXJpdGhtaWMgY29zdCBheGlzOyB6ZXJvIHNlcGFyYXRlKTwvdGV4dD4KPGxpbmUgeDE9Ijg0IiB4Mj0iNzk4IiB5MT0iMjkwLjAiIHkyPSIyOTAuMCIgc3Ryb2tlPSIjZTVlN2ViIi8+Cjx0ZXh0IHg9Ijc2IiB5PSIyOTQuMCIgdGV4dC1hbmNob3I9ImVuZCI+MDwvdGV4dD4KPGxpbmUgeDE9Ijg0IiB4Mj0iNzk4IiB5MT0iMjY2LjAiIHkyPSIyNjYuMCIgc3Ryb2tlPSIjZTVlN2ViIi8+Cjx0ZXh0IHg9Ijc2IiB5PSIyNzAuMCIgdGV4dC1hbmNob3I9ImVuZCI+MTA8L3RleHQ+CjxsaW5lIHgxPSI4NCIgeDI9Ijc5OCIgeTE9IjIyNC44IiB5Mj0iMjI0LjgiIHN0cm9rZT0iI2U1ZTdlYiIvPgo8dGV4dCB4PSI3NiIgeT0iMjI4LjgiIHRleHQtYW5jaG9yPSJlbmQiPjEwMDwvdGV4dD4KPGxpbmUgeDE9Ijg0IiB4Mj0iNzk4IiB5MT0iMTgzLjYiIHkyPSIxODMuNiIgc3Ryb2tlPSIjZTVlN2ViIi8+Cjx0ZXh0IHg9Ijc2IiB5PSIxODcuNiIgdGV4dC1hbmNob3I9ImVuZCI+MTAwMDwvdGV4dD4KPGxpbmUgeDE9Ijg0IiB4Mj0iNzk4IiB5MT0iMTQyLjQiIHkyPSIxNDIuNCIgc3Ryb2tlPSIjZTVlN2ViIi8+Cjx0ZXh0IHg9Ijc2IiB5PSIxNDYuNCIgdGV4dC1hbmNob3I9ImVuZCI+MTAwMDA8L3RleHQ+CjxsaW5lIHgxPSI4NCIgeDI9Ijc5OCIgeTE9IjEwMS4yIiB5Mj0iMTAxLjIiIHN0cm9rZT0iI2U1ZTdlYiIvPgo8dGV4dCB4PSI3NiIgeT0iMTA1LjIiIHRleHQtYW5jaG9yPSJlbmQiPjEwMDAwMDwvdGV4dD4KPGxpbmUgeDE9Ijg0IiB4Mj0iNzk4IiB5MT0iNjAuMCIgeTI9IjYwLjAiIHN0cm9rZT0iI2U1ZTdlYiIvPgo8dGV4dCB4PSI3NiIgeT0iNjQuMCIgdGV4dC1hbmNob3I9ImVuZCI+MTAwMDAwMDwvdGV4dD4KPGxpbmUgeDE9Ijg0IiB4Mj0iODQiIHkxPSI2MCIgeTI9IjI5MCIgc3Ryb2tlPSIjMWYyOTM3Ii8+CjxsaW5lIHgxPSI4NCIgeDI9Ijg0IiB5MT0iMjkwIiB5Mj0iMjk1IiBzdHJva2U9IiMxZjI5MzciLz4KPHRleHQgeD0iODQiIHk9IjMxMSIgdGV4dC1hbmNob3I9Im1pZGRsZSIgZGF0YS1heGlzLWxhYmVsPSJ0cnVlIj4wPC90ZXh0Pgo8bGluZSB4MT0iMTU2IiB4Mj0iMTU2IiB5MT0iMjkwIiB5Mj0iMjk1IiBzdHJva2U9IiMxZjI5MzciLz4KPHRleHQgeD0iMTU2IiB5PSIzMTEiIHRleHQtYW5jaG9yPSJtaWRkbGUiIGRhdGEtYXhpcy1sYWJlbD0idHJ1ZSI+MTwvdGV4dD4KPGxpbmUgeDE9IjMxNi41IiB4Mj0iMzE2LjUiIHkxPSIyOTAiIHkyPSIyOTUiIHN0cm9rZT0iIzFmMjkzNyIvPgo8dGV4dCB4PSIzMTYuNSIgeT0iMzExIiB0ZXh0LWFuY2hvcj0ibWlkZGxlIiBkYXRhLWF4aXMtbGFiZWw9InRydWUiPjEwPC90ZXh0Pgo8bGluZSB4MT0iNDc3IiB4Mj0iNDc3IiB5MT0iMjkwIiB5Mj0iMjk1IiBzdHJva2U9IiMxZjI5MzciLz4KPHRleHQgeD0iNDc3IiB5PSIzMTEiIHRleHQtYW5jaG9yPSJtaWRkbGUiIGRhdGEtYXhpcy1sYWJlbD0idHJ1ZSI+MTAwPC90ZXh0Pgo8bGluZSB4MT0iNjM3LjUiIHgyPSI2MzcuNSIgeTE9IjI5MCIgeTI9IjI5NSIgc3Ryb2tlPSIjMWYyOTM3Ii8+Cjx0ZXh0IHg9IjYzNy41IiB5PSIzMTEiIHRleHQtYW5jaG9yPSJtaWRkbGUiIGRhdGEtYXhpcy1sYWJlbD0idHJ1ZSI+MTAwMDwvdGV4dD4KPGxpbmUgeDE9Ijc5OCIgeDI9Ijc5OCIgeTE9IjI5MCIgeTI9IjI5NSIgc3Ryb2tlPSIjMWYyOTM3Ii8+Cjx0ZXh0IHg9Ijc5OCIgeT0iMzExIiB0ZXh0LWFuY2hvcj0ibWlkZGxlIiBkYXRhLWF4aXMtbGFiZWw9InRydWUiPjEwMDAwPC90ZXh0Pgo8cGF0aCBkPSJNMTE2IDI4NyBsNSA2IG0yIC02IGw1IDYiIHN0cm9rZT0iIzFmMjkzNyIgZmlsbD0ibm9uZSIvPgo8dGV4dCB4PSI0NDEiIHk9IjMzNiIgdGV4dC1hbmNob3I9Im1pZGRsZSI+T2JqZWN0IHdyaXRlcyAocGVyIHNlY29uZCk8L3RleHQ+Cjx0ZXh0IHg9Ijg0IiB5PSIzNTgiPldvcmtsb2FkIGF4aXM6IGxvZ2FyaXRobWljIHBvc2l0aXZlIHZhbHVlczsgemVybyBzaG93biBzZXBhcmF0ZWx5LjwvdGV4dD4KPHBvbHlsaW5lIHBvaW50cz0iODQsMjkwIDE1NiwyNjEuMTE0IDMxNi41LDIxOS45MTQgNDc3LDE3OC43MTQgNjM3LjUsMTM3LjUxNCA3OTgsOTYuMzE0IiBmaWxsPSJub25lIiBzdHJva2U9IiMxZjI5MzciIHN0cm9rZS13aWR0aD0iMi41IiBzdHJva2UtZGFzaGFycmF5PSI2IDQiLz4KPGNpcmNsZSBkYXRhLXNlcmllcz0ib3JpZ2luIiBkYXRhLWF4aXM9IjAiIGN4PSI4NCIgY3k9IjI5MCIgcj0iMy41IiBmaWxsPSIjZmZmZmZmIiBzdHJva2U9IiMxZjI5MzciIHN0cm9rZS13aWR0aD0iMiIvPgo8Y2lyY2xlIGRhdGEtc2VyaWVzPSJvcmlnaW4iIGRhdGEtYXhpcz0iMSIgY3g9IjE1NiIgY3k9IjI2MS4xMTQiIHI9IjMuNSIgZmlsbD0iI2ZmZmZmZiIgc3Ryb2tlPSIjMWYyOTM3IiBzdHJva2Utd2lkdGg9IjIiLz4KPGNpcmNsZSBkYXRhLXNlcmllcz0ib3JpZ2luIiBkYXRhLWF4aXM9IjEwIiBjeD0iMzE2LjUiIGN5PSIyMTkuOTE0IiByPSIzLjUiIGZpbGw9IiNmZmZmZmYiIHN0cm9rZT0iIzFmMjkzNyIgc3Ryb2tlLXdpZHRoPSIyIi8+CjxjaXJjbGUgZGF0YS1zZXJpZXM9Im9yaWdpbiIgZGF0YS1heGlzPSIxMDAiIGN4PSI0NzciIGN5PSIxNzguNzE0IiByPSIzLjUiIGZpbGw9IiNmZmZmZmYiIHN0cm9rZT0iIzFmMjkzNyIgc3Ryb2tlLXdpZHRoPSIyIi8+CjxjaXJjbGUgZGF0YS1zZXJpZXM9Im9yaWdpbiIgZGF0YS1heGlzPSIxMDAwIiBjeD0iNjM3LjUiIGN5PSIxMzcuNTE0IiByPSIzLjUiIGZpbGw9IiNmZmZmZmYiIHN0cm9rZT0iIzFmMjkzNyIgc3Ryb2tlLXdpZHRoPSIyIi8+CjxjaXJjbGUgZGF0YS1zZXJpZXM9Im9yaWdpbiIgZGF0YS1heGlzPSIxMDAwMCIgY3g9Ijc5OCIgY3k9Ijk2LjMxNCIgcj0iMy41IiBmaWxsPSIjZmZmZmZmIiBzdHJva2U9IiMxZjI5MzciIHN0cm9rZS13aWR0aD0iMiIvPgo8bGluZSB4MT0iODQiIHgyPSIxMTQiIHkxPSIzODAiIHkyPSIzODAiIHN0cm9rZT0iIzFmMjkzNyIgc3Ryb2tlLXdpZHRoPSIyLjUiIHN0cm9rZS1kYXNoYXJyYXk9IjYgNCIvPgo8dGV4dCB4PSIxMjMiIHk9IjM4NCI+T3JpZ2luIHNlcnZpY2U8L3RleHQ+Cjxwb2x5bGluZSBkYXRhLXNlcmllcz0ibmF0aXZlIiBwb2ludHM9Ijg0LDI5MCAxNTYsMjYxLjExNCAzMTYuNSwyMTkuOTE0IDQ3NywxNzguNzE0IDYzNy41LDEzNy41MTQgNzk4LDk2LjMxNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMWQ0ZWQ4IiBzdHJva2Utd2lkdGg9IjIuNSIgc3Ryb2tlLWRhc2hhcnJheT0iMTAgNCIvPgo8Y2lyY2xlIGRhdGEtc2VyaWVzPSJuYXRpdmUiIGRhdGEtYXhpcz0iMCIgY3g9Ijg0IiBjeT0iMjkwIiByPSI0IiBmaWxsPSIjZmZmZmZmIiBzdHJva2U9IiMxZDRlZDgiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWRhc2hhcnJheT0iMTAgNCIvPgo8Y2lyY2xlIGRhdGEtc2VyaWVzPSJuYXRpdmUiIGRhdGEtYXhpcz0iMSIgY3g9IjE1NiIgY3k9IjI2MS4xMTQiIHI9IjQiIGZpbGw9IiNmZmZmZmYiIHN0cm9rZT0iIzFkNGVkOCIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtZGFzaGFycmF5PSIxMCA0Ii8+CjxjaXJjbGUgZGF0YS1zZXJpZXM9Im5hdGl2ZSIgZGF0YS1heGlzPSIxMCIgY3g9IjMxNi41IiBjeT0iMjE5LjkxNCIgcj0iNCIgZmlsbD0iI2ZmZmZmZiIgc3Ryb2tlPSIjMWQ0ZWQ4IiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1kYXNoYXJyYXk9IjEwIDQiLz4KPGNpcmNsZSBkYXRhLXNlcmllcz0ibmF0aXZlIiBkYXRhLWF4aXM9IjEwMCIgY3g9IjQ3NyIgY3k9IjE3OC43MTQiIHI9IjQiIGZpbGw9IiNmZmZmZmYiIHN0cm9rZT0iIzFkNGVkOCIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtZGFzaGFycmF5PSIxMCA0Ii8+CjxjaXJjbGUgZGF0YS1zZXJpZXM9Im5hdGl2ZSIgZGF0YS1heGlzPSIxMDAwIiBjeD0iNjM3LjUiIGN5PSIxMzcuNTE0IiByPSI0IiBmaWxsPSIjZmZmZmZmIiBzdHJva2U9IiMxZDRlZDgiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWRhc2hhcnJheT0iMTAgNCIvPgo8Y2lyY2xlIGRhdGEtc2VyaWVzPSJuYXRpdmUiIGRhdGEtYXhpcz0iMTAwMDAiIGN4PSI3OTgiIGN5PSI5Ni4zMTQiIHI9IjQiIGZpbGw9IiNmZmZmZmYiIHN0cm9rZT0iIzFkNGVkOCIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtZGFzaGFycmF5PSIxMCA0Ii8+CjxsaW5lIHgxPSI4NCIgeDI9IjExNCIgeTE9IjQwMiIgeTI9IjQwMiIgc3Ryb2tlPSIjMWQ0ZWQ4IiBzdHJva2Utd2lkdGg9IjIuNSIgc3Ryb2tlLWRhc2hhcnJheT0iMTAgNCIvPgo8dGV4dCB4PSIxMjMiIHk9IjQwNiI+UGxhbm5pbmcgbmF0aXZlIGJhY2tlbmQ8L3RleHQ+CjwvZz48L3N2Zz4K" alt="Google Cloud Storage · Object writes: monthly service charges by Object writes. Exact values are in the following table." />

  <img className="t9-diagram-dark" src="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA4NjAgNDI2IiByb2xlPSJpbWciIGFyaWEtbGFiZWxsZWRieT0idGl0bGUgZGVzYyI+Cjx0aXRsZSBpZD0idGl0bGUiPkdvb2dsZSBDbG91ZCBTdG9yYWdlIMK3IE9iamVjdCB3cml0ZXM8L3RpdGxlPgo8ZGVzYyBpZD0iZGVzYyI+UGxhbm5pbmcgZXN0aW1hdGVzIGluIFVTRCBieSBPYmplY3Qgd3JpdGVzLiBXb3JrbG9hZCBheGlzOiBsb2dhcml0aG1pYyBwb3NpdGl2ZSB2YWx1ZXM7IHplcm8gc2hvd24gc2VwYXJhdGVseS4gQ29zdCBheGlzOiBsb2dhcml0aG1pYyBwb3NpdGl2ZSB2YWx1ZXM7IHplcm8gY29zdCBzaG93biBzZXBhcmF0ZWx5LiBFeGFjdCB2YWx1ZXMsIGFzc3VtcHRpb25zIGFuZCBleGNsdXNpb25zIGFwcGVhciBpbiB0aGUgYWRqYWNlbnQgdGFibGUgYW5kIHRleHQuIEFkYXB0ZXIgaG9zdGluZyBhbmQgVGVuc29yOSBmZWVzIGFyZSBleGNsdWRlZC48L2Rlc2M+CjxyZWN0IHdpZHRoPSI4NjAiIGhlaWdodD0iMTAwJSIgZmlsbD0iIzExMTgyNyIvPgo8ZyBmb250LWZhbWlseT0ic3lzdGVtLXVpLHNhbnMtc2VyaWYiIGZvbnQtc2l6ZT0iMTMiIGZpbGw9IiNlNWU3ZWIiPgo8dGV4dCB4PSI4NCIgeT0iMjYiIGZvbnQtc2l6ZT0iMTciIGZvbnQtd2VpZ2h0PSI2MDAiPkdvb2dsZSBDbG91ZCBTdG9yYWdlIMK3IE9iamVjdCB3cml0ZXM8L3RleHQ+Cjx0ZXh0IHg9Ijg0IiB5PSI0NyI+TW9udGhseSBzZXJ2aWNlIGNoYXJnZXMgKFVTRDsgbG9nYXJpdGhtaWMgY29zdCBheGlzOyB6ZXJvIHNlcGFyYXRlKTwvdGV4dD4KPGxpbmUgeDE9Ijg0IiB4Mj0iNzk4IiB5MT0iMjkwLjAiIHkyPSIyOTAuMCIgc3Ryb2tlPSIjMzc0MTUxIi8+Cjx0ZXh0IHg9Ijc2IiB5PSIyOTQuMCIgdGV4dC1hbmNob3I9ImVuZCI+MDwvdGV4dD4KPGxpbmUgeDE9Ijg0IiB4Mj0iNzk4IiB5MT0iMjY2LjAiIHkyPSIyNjYuMCIgc3Ryb2tlPSIjMzc0MTUxIi8+Cjx0ZXh0IHg9Ijc2IiB5PSIyNzAuMCIgdGV4dC1hbmNob3I9ImVuZCI+MTA8L3RleHQ+CjxsaW5lIHgxPSI4NCIgeDI9Ijc5OCIgeTE9IjIyNC44IiB5Mj0iMjI0LjgiIHN0cm9rZT0iIzM3NDE1MSIvPgo8dGV4dCB4PSI3NiIgeT0iMjI4LjgiIHRleHQtYW5jaG9yPSJlbmQiPjEwMDwvdGV4dD4KPGxpbmUgeDE9Ijg0IiB4Mj0iNzk4IiB5MT0iMTgzLjYiIHkyPSIxODMuNiIgc3Ryb2tlPSIjMzc0MTUxIi8+Cjx0ZXh0IHg9Ijc2IiB5PSIxODcuNiIgdGV4dC1hbmNob3I9ImVuZCI+MTAwMDwvdGV4dD4KPGxpbmUgeDE9Ijg0IiB4Mj0iNzk4IiB5MT0iMTQyLjQiIHkyPSIxNDIuNCIgc3Ryb2tlPSIjMzc0MTUxIi8+Cjx0ZXh0IHg9Ijc2IiB5PSIxNDYuNCIgdGV4dC1hbmNob3I9ImVuZCI+MTAwMDA8L3RleHQ+CjxsaW5lIHgxPSI4NCIgeDI9Ijc5OCIgeTE9IjEwMS4yIiB5Mj0iMTAxLjIiIHN0cm9rZT0iIzM3NDE1MSIvPgo8dGV4dCB4PSI3NiIgeT0iMTA1LjIiIHRleHQtYW5jaG9yPSJlbmQiPjEwMDAwMDwvdGV4dD4KPGxpbmUgeDE9Ijg0IiB4Mj0iNzk4IiB5MT0iNjAuMCIgeTI9IjYwLjAiIHN0cm9rZT0iIzM3NDE1MSIvPgo8dGV4dCB4PSI3NiIgeT0iNjQuMCIgdGV4dC1hbmNob3I9ImVuZCI+MTAwMDAwMDwvdGV4dD4KPGxpbmUgeDE9Ijg0IiB4Mj0iODQiIHkxPSI2MCIgeTI9IjI5MCIgc3Ryb2tlPSIjZTVlN2ViIi8+CjxsaW5lIHgxPSI4NCIgeDI9Ijg0IiB5MT0iMjkwIiB5Mj0iMjk1IiBzdHJva2U9IiNlNWU3ZWIiLz4KPHRleHQgeD0iODQiIHk9IjMxMSIgdGV4dC1hbmNob3I9Im1pZGRsZSIgZGF0YS1heGlzLWxhYmVsPSJ0cnVlIj4wPC90ZXh0Pgo8bGluZSB4MT0iMTU2IiB4Mj0iMTU2IiB5MT0iMjkwIiB5Mj0iMjk1IiBzdHJva2U9IiNlNWU3ZWIiLz4KPHRleHQgeD0iMTU2IiB5PSIzMTEiIHRleHQtYW5jaG9yPSJtaWRkbGUiIGRhdGEtYXhpcy1sYWJlbD0idHJ1ZSI+MTwvdGV4dD4KPGxpbmUgeDE9IjMxNi41IiB4Mj0iMzE2LjUiIHkxPSIyOTAiIHkyPSIyOTUiIHN0cm9rZT0iI2U1ZTdlYiIvPgo8dGV4dCB4PSIzMTYuNSIgeT0iMzExIiB0ZXh0LWFuY2hvcj0ibWlkZGxlIiBkYXRhLWF4aXMtbGFiZWw9InRydWUiPjEwPC90ZXh0Pgo8bGluZSB4MT0iNDc3IiB4Mj0iNDc3IiB5MT0iMjkwIiB5Mj0iMjk1IiBzdHJva2U9IiNlNWU3ZWIiLz4KPHRleHQgeD0iNDc3IiB5PSIzMTEiIHRleHQtYW5jaG9yPSJtaWRkbGUiIGRhdGEtYXhpcy1sYWJlbD0idHJ1ZSI+MTAwPC90ZXh0Pgo8bGluZSB4MT0iNjM3LjUiIHgyPSI2MzcuNSIgeTE9IjI5MCIgeTI9IjI5NSIgc3Ryb2tlPSIjZTVlN2ViIi8+Cjx0ZXh0IHg9IjYzNy41IiB5PSIzMTEiIHRleHQtYW5jaG9yPSJtaWRkbGUiIGRhdGEtYXhpcy1sYWJlbD0idHJ1ZSI+MTAwMDwvdGV4dD4KPGxpbmUgeDE9Ijc5OCIgeDI9Ijc5OCIgeTE9IjI5MCIgeTI9IjI5NSIgc3Ryb2tlPSIjZTVlN2ViIi8+Cjx0ZXh0IHg9Ijc5OCIgeT0iMzExIiB0ZXh0LWFuY2hvcj0ibWlkZGxlIiBkYXRhLWF4aXMtbGFiZWw9InRydWUiPjEwMDAwPC90ZXh0Pgo8cGF0aCBkPSJNMTE2IDI4NyBsNSA2IG0yIC02IGw1IDYiIHN0cm9rZT0iI2U1ZTdlYiIgZmlsbD0ibm9uZSIvPgo8dGV4dCB4PSI0NDEiIHk9IjMzNiIgdGV4dC1hbmNob3I9Im1pZGRsZSI+T2JqZWN0IHdyaXRlcyAocGVyIHNlY29uZCk8L3RleHQ+Cjx0ZXh0IHg9Ijg0IiB5PSIzNTgiPldvcmtsb2FkIGF4aXM6IGxvZ2FyaXRobWljIHBvc2l0aXZlIHZhbHVlczsgemVybyBzaG93biBzZXBhcmF0ZWx5LjwvdGV4dD4KPHBvbHlsaW5lIHBvaW50cz0iODQsMjkwIDE1NiwyNjEuMTE0IDMxNi41LDIxOS45MTQgNDc3LDE3OC43MTQgNjM3LjUsMTM3LjUxNCA3OTgsOTYuMzE0IiBmaWxsPSJub25lIiBzdHJva2U9IiNlNWU3ZWIiIHN0cm9rZS13aWR0aD0iMi41IiBzdHJva2UtZGFzaGFycmF5PSI2IDQiLz4KPGNpcmNsZSBkYXRhLXNlcmllcz0ib3JpZ2luIiBkYXRhLWF4aXM9IjAiIGN4PSI4NCIgY3k9IjI5MCIgcj0iMy41IiBmaWxsPSIjMTExODI3IiBzdHJva2U9IiNlNWU3ZWIiIHN0cm9rZS13aWR0aD0iMiIvPgo8Y2lyY2xlIGRhdGEtc2VyaWVzPSJvcmlnaW4iIGRhdGEtYXhpcz0iMSIgY3g9IjE1NiIgY3k9IjI2MS4xMTQiIHI9IjMuNSIgZmlsbD0iIzExMTgyNyIgc3Ryb2tlPSIjZTVlN2ViIiBzdHJva2Utd2lkdGg9IjIiLz4KPGNpcmNsZSBkYXRhLXNlcmllcz0ib3JpZ2luIiBkYXRhLWF4aXM9IjEwIiBjeD0iMzE2LjUiIGN5PSIyMTkuOTE0IiByPSIzLjUiIGZpbGw9IiMxMTE4MjciIHN0cm9rZT0iI2U1ZTdlYiIgc3Ryb2tlLXdpZHRoPSIyIi8+CjxjaXJjbGUgZGF0YS1zZXJpZXM9Im9yaWdpbiIgZGF0YS1heGlzPSIxMDAiIGN4PSI0NzciIGN5PSIxNzguNzE0IiByPSIzLjUiIGZpbGw9IiMxMTE4MjciIHN0cm9rZT0iI2U1ZTdlYiIgc3Ryb2tlLXdpZHRoPSIyIi8+CjxjaXJjbGUgZGF0YS1zZXJpZXM9Im9yaWdpbiIgZGF0YS1heGlzPSIxMDAwIiBjeD0iNjM3LjUiIGN5PSIxMzcuNTE0IiByPSIzLjUiIGZpbGw9IiMxMTE4MjciIHN0cm9rZT0iI2U1ZTdlYiIgc3Ryb2tlLXdpZHRoPSIyIi8+CjxjaXJjbGUgZGF0YS1zZXJpZXM9Im9yaWdpbiIgZGF0YS1heGlzPSIxMDAwMCIgY3g9Ijc5OCIgY3k9Ijk2LjMxNCIgcj0iMy41IiBmaWxsPSIjMTExODI3IiBzdHJva2U9IiNlNWU3ZWIiIHN0cm9rZS13aWR0aD0iMiIvPgo8bGluZSB4MT0iODQiIHgyPSIxMTQiIHkxPSIzODAiIHkyPSIzODAiIHN0cm9rZT0iI2U1ZTdlYiIgc3Ryb2tlLXdpZHRoPSIyLjUiIHN0cm9rZS1kYXNoYXJyYXk9IjYgNCIvPgo8dGV4dCB4PSIxMjMiIHk9IjM4NCI+T3JpZ2luIHNlcnZpY2U8L3RleHQ+Cjxwb2x5bGluZSBkYXRhLXNlcmllcz0ibmF0aXZlIiBwb2ludHM9Ijg0LDI5MCAxNTYsMjYxLjExNCAzMTYuNSwyMTkuOTE0IDQ3NywxNzguNzE0IDYzNy41LDEzNy41MTQgNzk4LDk2LjMxNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjNjBhNWZhIiBzdHJva2Utd2lkdGg9IjIuNSIgc3Ryb2tlLWRhc2hhcnJheT0iMTAgNCIvPgo8Y2lyY2xlIGRhdGEtc2VyaWVzPSJuYXRpdmUiIGRhdGEtYXhpcz0iMCIgY3g9Ijg0IiBjeT0iMjkwIiByPSI0IiBmaWxsPSIjMTExODI3IiBzdHJva2U9IiM2MGE1ZmEiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWRhc2hhcnJheT0iMTAgNCIvPgo8Y2lyY2xlIGRhdGEtc2VyaWVzPSJuYXRpdmUiIGRhdGEtYXhpcz0iMSIgY3g9IjE1NiIgY3k9IjI2MS4xMTQiIHI9IjQiIGZpbGw9IiMxMTE4MjciIHN0cm9rZT0iIzYwYTVmYSIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtZGFzaGFycmF5PSIxMCA0Ii8+CjxjaXJjbGUgZGF0YS1zZXJpZXM9Im5hdGl2ZSIgZGF0YS1heGlzPSIxMCIgY3g9IjMxNi41IiBjeT0iMjE5LjkxNCIgcj0iNCIgZmlsbD0iIzExMTgyNyIgc3Ryb2tlPSIjNjBhNWZhIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1kYXNoYXJyYXk9IjEwIDQiLz4KPGNpcmNsZSBkYXRhLXNlcmllcz0ibmF0aXZlIiBkYXRhLWF4aXM9IjEwMCIgY3g9IjQ3NyIgY3k9IjE3OC43MTQiIHI9IjQiIGZpbGw9IiMxMTE4MjciIHN0cm9rZT0iIzYwYTVmYSIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtZGFzaGFycmF5PSIxMCA0Ii8+CjxjaXJjbGUgZGF0YS1zZXJpZXM9Im5hdGl2ZSIgZGF0YS1heGlzPSIxMDAwIiBjeD0iNjM3LjUiIGN5PSIxMzcuNTE0IiByPSI0IiBmaWxsPSIjMTExODI3IiBzdHJva2U9IiM2MGE1ZmEiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWRhc2hhcnJheT0iMTAgNCIvPgo8Y2lyY2xlIGRhdGEtc2VyaWVzPSJuYXRpdmUiIGRhdGEtYXhpcz0iMTAwMDAiIGN4PSI3OTgiIGN5PSI5Ni4zMTQiIHI9IjQiIGZpbGw9IiMxMTE4MjciIHN0cm9rZT0iIzYwYTVmYSIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtZGFzaGFycmF5PSIxMCA0Ii8+CjxsaW5lIHgxPSI4NCIgeDI9IjExNCIgeTE9IjQwMiIgeTI9IjQwMiIgc3Ryb2tlPSIjNjBhNWZhIiBzdHJva2Utd2lkdGg9IjIuNSIgc3Ryb2tlLWRhc2hhcnJheT0iMTAgNCIvPgo8dGV4dCB4PSIxMjMiIHk9IjQwNiI+UGxhbm5pbmcgbmF0aXZlIGJhY2tlbmQ8L3RleHQ+CjwvZz48L3N2Zz4K" alt="Google Cloud Storage · Object writes: monthly service charges by Object writes. Exact values are in the following table." />
</div>

Exact sampled model outputs in USD/month. Difference means target minus origin; a positive difference means the target costs more.

| Object writes (per second) | Origin | Target scenario | Target | Difference |
| -: | -: | - | -: | -: |
| 0 | 0 | Planning native backend | 0 | 0 |
| 1 | 13.14 | Planning native backend | 13.14 | 0 |
| 10 | 131.4 | Planning native backend | 131.4 | 0 |
| 100 | 1314 | Planning native backend | 1314 | 0 |
| 1000 | 13140 | Planning native backend | 13140 | 0 |
| 10000 | 131400 | Planning native backend | 131400 | 0 |

**Curve assumptions**

| Target scenario | Assumption | Value | Unit |
| - | - | -: | - |
| Planning native backend | Origin price guess · Stored object data | 0.02 | USD/GiB-month |
| Planning native backend | Origin price guess · Object writes | 0.000005 | USD/requests |
| Planning native backend | Origin price guess · Object reads | 0.0000004 | USD/requests |
| Planning native backend | Origin price guess · Billable origin network transfer | 0.09 | USD/GiB |
| Planning native backend | Representative transferred object size | 1048576 | bytes |
| Planning native backend | Target requests per write | 1 | requests |
| Planning native backend | Target requests per read | 1 | requests |
| Planning native backend | Target price guess · read | 0.0000004 | USD/read |
| Planning native backend | Target price guess · write | 0.000005 | USD/write |
| Planning native backend | Target price guess · provider operation | 0 | USD/provider operation |
| Planning native backend | Target price guess · GiB-month | 0.02 | USD/GiB-month |
| Planning native backend | Target price guess · published GiB | 0 | USD/published GiB |
| Planning native backend | Target price guess · delivered GiB | 0 | USD/delivered GiB |
| Planning native backend | Target price guess · network GiB | 0.09 | USD/network GiB |
| Planning native backend | Target price guess · replica GiB-month | 0 | USD/replica GiB-month |
| Planning native backend | Target price guess · vCPU-hour | 0 | USD/vCPU-hour |
| Planning native backend | Target price guess · GiB-hour | 0 | USD/GiB-hour |
| Planning native backend | Target price guess · resource-hour | 0 | USD/resource-hour |
| Planning native backend | Target price guess · resource-month | 0 | USD/resource-month |
| Planning native backend | Target price guess · input token | 0 | USD/input token |
| Planning native backend | Target price guess · output token | 0 | USD/output token |
| Planning native backend | Approximate target service minimum | 0 | USD/month |
| Planning native backend | Minimum primary CPU | 2 | vCPU |
| Planning native backend | Minimum primary RAM | 8 | GiB |
| Planning native backend | Minimum primary disk | 100 | GiB |
| Planning native backend | Additional full-price standby copy | 0 | 0 or 1 |
| Planning native backend | Allocated share of provisioned cost | 1 | fraction |
| Planning native backend | Planning read/write work per vCPU-second | 1000 | operations/vCPU-second |
| Planning native backend | Planning peak / mean work | 2 | multiplier |
| Planning native backend | Planning primary CPU utilization | 0.7 | fraction |
| Planning native backend | Resident state reserved in RAM | 0.1 | fraction |
| Planning native backend | Planning disk utilization | 0.7 | fraction |
| Planning native backend | Maintenance and log disk reserve | 20 | GiB |
| Planning native backend | Staging database CPU unit-price guess | 0.0413 | USD/vCPU-hour |
| Planning native backend | Staging database RAM unit-price guess | 0.007 | USD/GiB-hour |
| Planning native backend | Staging database disk unit-price guess | 0.17 | USD/GiB-month |
| Planning native backend | Dependent object sink storage price guess | 0.023 | USD/GiB-month |
| Planning native backend | Dependent object sink write price guess | 0.000005 | USD/write |

* Stored GiB and reads stay at independent defaults. 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-18; not verified provider prices. Explicit source planning region → Explicit target planning region, 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.
* Editable authored planning guesses, not verified provider tariffs, 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 exact directed mapping has a design profile. Cost modeling does not establish an implemented or deployable adapter.
* Authored planning assumptions, not measured adapter capacity. Editable origin rates are illustrative tariff profiles, before free allowances and discounts.
* A cost scenario does not establish backend availability, protocol fidelity or production readiness. Registry serving status remains independent.
* Storage, request throughput and network are independent dimensions; a storage-only curve does not estimate a request mix.
* All target rates are editable authored planning guesses, not verified current list prices, customer discounts or benchmark evidence.
* Object storage prices logical GiB-month, actual target read/write operations and explicitly selected network transfer.

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.
* Replication beyond the selected target policy; archive classes and their minimum-duration/retrieval tariffs need a separate profile.
* 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.

Planning assumptions authored: 2026-10-18. Model: `plan-7a6353b5166007242df339326a7e6bc8b09067c8` / `2026-10-18.planning.1`. Curve: `workload-2`.

### Google Cloud Storage · Object reads

**Planning estimate with editable assumptions.** These authored unit rates and capacity assumptions require provider-price verification and representative benchmarks. They do not constitute verified list-price quotes or evidence that an adapter is available.

Estimated monthly service charges from native source usage; no calculator input is required. Adapter hosting and Tensor9 fees are excluded. Source: Explicit source planning region; target: Explicit target planning region; currency: USD.

<div className="t9-diagram-scroll" role="region" aria-label="Service charge comparison" tabIndex={0}>
  <img className="t9-diagram-light" src="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA4NjAgNDI2IiByb2xlPSJpbWciIGFyaWEtbGFiZWxsZWRieT0idGl0bGUgZGVzYyI+Cjx0aXRsZSBpZD0idGl0bGUiPkdvb2dsZSBDbG91ZCBTdG9yYWdlIMK3IE9iamVjdCByZWFkczwvdGl0bGU+CjxkZXNjIGlkPSJkZXNjIj5QbGFubmluZyBlc3RpbWF0ZXMgaW4gVVNEIGJ5IE9iamVjdCByZWFkcy4gV29ya2xvYWQgYXhpczogbG9nYXJpdGhtaWMgcG9zaXRpdmUgdmFsdWVzOyB6ZXJvIHNob3duIHNlcGFyYXRlbHkuIENvc3QgYXhpczogbG9nYXJpdGhtaWMgcG9zaXRpdmUgdmFsdWVzOyB6ZXJvIGNvc3Qgc2hvd24gc2VwYXJhdGVseS4gRXhhY3QgdmFsdWVzLCBhc3N1bXB0aW9ucyBhbmQgZXhjbHVzaW9ucyBhcHBlYXIgaW4gdGhlIGFkamFjZW50IHRhYmxlIGFuZCB0ZXh0LiBBZGFwdGVyIGhvc3RpbmcgYW5kIFRlbnNvcjkgZmVlcyBhcmUgZXhjbHVkZWQuPC9kZXNjPgo8cmVjdCB3aWR0aD0iODYwIiBoZWlnaHQ9IjEwMCUiIGZpbGw9IiNmZmZmZmYiLz4KPGcgZm9udC1mYW1pbHk9InN5c3RlbS11aSxzYW5zLXNlcmlmIiBmb250LXNpemU9IjEzIiBmaWxsPSIjMWYyOTM3Ij4KPHRleHQgeD0iODQiIHk9IjI2IiBmb250LXNpemU9IjE3IiBmb250LXdlaWdodD0iNjAwIj5Hb29nbGUgQ2xvdWQgU3RvcmFnZSDCtyBPYmplY3QgcmVhZHM8L3RleHQ+Cjx0ZXh0IHg9Ijg0IiB5PSI0NyI+TW9udGhseSBzZXJ2aWNlIGNoYXJnZXMgKFVTRDsgbG9nYXJpdGhtaWMgY29zdCBheGlzOyB6ZXJvIHNlcGFyYXRlKTwvdGV4dD4KPGxpbmUgeDE9Ijg0IiB4Mj0iNzk4IiB5MT0iMjkwLjAiIHkyPSIyOTAuMCIgc3Ryb2tlPSIjZTVlN2ViIi8+Cjx0ZXh0IHg9Ijc2IiB5PSIyOTQuMCIgdGV4dC1hbmNob3I9ImVuZCI+MDwvdGV4dD4KPGxpbmUgeDE9Ijg0IiB4Mj0iNzk4IiB5MT0iMjY2LjAiIHkyPSIyNjYuMCIgc3Ryb2tlPSIjZTVlN2ViIi8+Cjx0ZXh0IHg9Ijc2IiB5PSIyNzAuMCIgdGV4dC1hbmNob3I9ImVuZCI+MTwvdGV4dD4KPGxpbmUgeDE9Ijg0IiB4Mj0iNzk4IiB5MT0iMjI0LjgiIHkyPSIyMjQuOCIgc3Ryb2tlPSIjZTVlN2ViIi8+Cjx0ZXh0IHg9Ijc2IiB5PSIyMjguOCIgdGV4dC1hbmNob3I9ImVuZCI+MTA8L3RleHQ+CjxsaW5lIHgxPSI4NCIgeDI9Ijc5OCIgeTE9IjE4My42IiB5Mj0iMTgzLjYiIHN0cm9rZT0iI2U1ZTdlYiIvPgo8dGV4dCB4PSI3NiIgeT0iMTg3LjYiIHRleHQtYW5jaG9yPSJlbmQiPjEwMDwvdGV4dD4KPGxpbmUgeDE9Ijg0IiB4Mj0iNzk4IiB5MT0iMTQyLjQiIHkyPSIxNDIuNCIgc3Ryb2tlPSIjZTVlN2ViIi8+Cjx0ZXh0IHg9Ijc2IiB5PSIxNDYuNCIgdGV4dC1hbmNob3I9ImVuZCI+MTAwMDwvdGV4dD4KPGxpbmUgeDE9Ijg0IiB4Mj0iNzk4IiB5MT0iMTAxLjIiIHkyPSIxMDEuMiIgc3Ryb2tlPSIjZTVlN2ViIi8+Cjx0ZXh0IHg9Ijc2IiB5PSIxMDUuMiIgdGV4dC1hbmNob3I9ImVuZCI+MTAwMDA8L3RleHQ+CjxsaW5lIHgxPSI4NCIgeDI9Ijc5OCIgeTE9IjYwLjAiIHkyPSI2MC4wIiBzdHJva2U9IiNlNWU3ZWIiLz4KPHRleHQgeD0iNzYiIHk9IjY0LjAiIHRleHQtYW5jaG9yPSJlbmQiPjEwMDAwMDwvdGV4dD4KPGxpbmUgeDE9Ijg0IiB4Mj0iODQiIHkxPSI2MCIgeTI9IjI5MCIgc3Ryb2tlPSIjMWYyOTM3Ii8+CjxsaW5lIHgxPSI4NCIgeDI9Ijg0IiB5MT0iMjkwIiB5Mj0iMjk1IiBzdHJva2U9IiMxZjI5MzciLz4KPHRleHQgeD0iODQiIHk9IjMxMSIgdGV4dC1hbmNob3I9Im1pZGRsZSIgZGF0YS1heGlzLWxhYmVsPSJ0cnVlIj4wPC90ZXh0Pgo8bGluZSB4MT0iMTU2IiB4Mj0iMTU2IiB5MT0iMjkwIiB5Mj0iMjk1IiBzdHJva2U9IiMxZjI5MzciLz4KPHRleHQgeD0iMTU2IiB5PSIzMTEiIHRleHQtYW5jaG9yPSJtaWRkbGUiIGRhdGEtYXhpcy1sYWJlbD0idHJ1ZSI+MTwvdGV4dD4KPGxpbmUgeDE9IjMxNi41IiB4Mj0iMzE2LjUiIHkxPSIyOTAiIHkyPSIyOTUiIHN0cm9rZT0iIzFmMjkzNyIvPgo8dGV4dCB4PSIzMTYuNSIgeT0iMzExIiB0ZXh0LWFuY2hvcj0ibWlkZGxlIiBkYXRhLWF4aXMtbGFiZWw9InRydWUiPjEwPC90ZXh0Pgo8bGluZSB4MT0iNDc3IiB4Mj0iNDc3IiB5MT0iMjkwIiB5Mj0iMjk1IiBzdHJva2U9IiMxZjI5MzciLz4KPHRleHQgeD0iNDc3IiB5PSIzMTEiIHRleHQtYW5jaG9yPSJtaWRkbGUiIGRhdGEtYXhpcy1sYWJlbD0idHJ1ZSI+MTAwPC90ZXh0Pgo8bGluZSB4MT0iNjM3LjUiIHgyPSI2MzcuNSIgeTE9IjI5MCIgeTI9IjI5NSIgc3Ryb2tlPSIjMWYyOTM3Ii8+Cjx0ZXh0IHg9IjYzNy41IiB5PSIzMTEiIHRleHQtYW5jaG9yPSJtaWRkbGUiIGRhdGEtYXhpcy1sYWJlbD0idHJ1ZSI+MTAwMDwvdGV4dD4KPGxpbmUgeDE9Ijc5OCIgeDI9Ijc5OCIgeTE9IjI5MCIgeTI9IjI5NSIgc3Ryb2tlPSIjMWYyOTM3Ii8+Cjx0ZXh0IHg9Ijc5OCIgeT0iMzExIiB0ZXh0LWFuY2hvcj0ibWlkZGxlIiBkYXRhLWF4aXMtbGFiZWw9InRydWUiPjEwMDAwPC90ZXh0Pgo8cGF0aCBkPSJNMTE2IDI4NyBsNSA2IG0yIC02IGw1IDYiIHN0cm9rZT0iIzFmMjkzNyIgZmlsbD0ibm9uZSIvPgo8dGV4dCB4PSI0NDEiIHk9IjMzNiIgdGV4dC1hbmNob3I9Im1pZGRsZSI+T2JqZWN0IHJlYWRzIChwZXIgc2Vjb25kKTwvdGV4dD4KPHRleHQgeD0iODQiIHk9IjM1OCI+V29ya2xvYWQgYXhpczogbG9nYXJpdGhtaWMgcG9zaXRpdmUgdmFsdWVzOyB6ZXJvIHNob3duIHNlcGFyYXRlbHkuPC90ZXh0Pgo8cG9seWxpbmUgcG9pbnRzPSI4NCwyOTAgMTU2LDI2NS4xMDcgMzE2LjUsMjIzLjkwNyA0NzcsMTgyLjcwNyA2MzcuNSwxNDEuNTA3IDc5OCwxMDAuMzA3IiBmaWxsPSJub25lIiBzdHJva2U9IiMxZjI5MzciIHN0cm9rZS13aWR0aD0iMi41IiBzdHJva2UtZGFzaGFycmF5PSI2IDQiLz4KPGNpcmNsZSBkYXRhLXNlcmllcz0ib3JpZ2luIiBkYXRhLWF4aXM9IjAiIGN4PSI4NCIgY3k9IjI5MCIgcj0iMy41IiBmaWxsPSIjZmZmZmZmIiBzdHJva2U9IiMxZjI5MzciIHN0cm9rZS13aWR0aD0iMiIvPgo8Y2lyY2xlIGRhdGEtc2VyaWVzPSJvcmlnaW4iIGRhdGEtYXhpcz0iMSIgY3g9IjE1NiIgY3k9IjI2NS4xMDciIHI9IjMuNSIgZmlsbD0iI2ZmZmZmZiIgc3Ryb2tlPSIjMWYyOTM3IiBzdHJva2Utd2lkdGg9IjIiLz4KPGNpcmNsZSBkYXRhLXNlcmllcz0ib3JpZ2luIiBkYXRhLWF4aXM9IjEwIiBjeD0iMzE2LjUiIGN5PSIyMjMuOTA3IiByPSIzLjUiIGZpbGw9IiNmZmZmZmYiIHN0cm9rZT0iIzFmMjkzNyIgc3Ryb2tlLXdpZHRoPSIyIi8+CjxjaXJjbGUgZGF0YS1zZXJpZXM9Im9yaWdpbiIgZGF0YS1heGlzPSIxMDAiIGN4PSI0NzciIGN5PSIxODIuNzA3IiByPSIzLjUiIGZpbGw9IiNmZmZmZmYiIHN0cm9rZT0iIzFmMjkzNyIgc3Ryb2tlLXdpZHRoPSIyIi8+CjxjaXJjbGUgZGF0YS1zZXJpZXM9Im9yaWdpbiIgZGF0YS1heGlzPSIxMDAwIiBjeD0iNjM3LjUiIGN5PSIxNDEuNTA3IiByPSIzLjUiIGZpbGw9IiNmZmZmZmYiIHN0cm9rZT0iIzFmMjkzNyIgc3Ryb2tlLXdpZHRoPSIyIi8+CjxjaXJjbGUgZGF0YS1zZXJpZXM9Im9yaWdpbiIgZGF0YS1heGlzPSIxMDAwMCIgY3g9Ijc5OCIgY3k9IjEwMC4zMDciIHI9IjMuNSIgZmlsbD0iI2ZmZmZmZiIgc3Ryb2tlPSIjMWYyOTM3IiBzdHJva2Utd2lkdGg9IjIiLz4KPGxpbmUgeDE9Ijg0IiB4Mj0iMTE0IiB5MT0iMzgwIiB5Mj0iMzgwIiBzdHJva2U9IiMxZjI5MzciIHN0cm9rZS13aWR0aD0iMi41IiBzdHJva2UtZGFzaGFycmF5PSI2IDQiLz4KPHRleHQgeD0iMTIzIiB5PSIzODQiPk9yaWdpbiBzZXJ2aWNlPC90ZXh0Pgo8cG9seWxpbmUgZGF0YS1zZXJpZXM9Im5hdGl2ZSIgcG9pbnRzPSI4NCwyOTAgMTU2LDI2NS4xMDcgMzE2LjUsMjIzLjkwNyA0NzcsMTgyLjcwNyA2MzcuNSwxNDEuNTA3IDc5OCwxMDAuMzA3IiBmaWxsPSJub25lIiBzdHJva2U9IiMxZDRlZDgiIHN0cm9rZS13aWR0aD0iMi41IiBzdHJva2UtZGFzaGFycmF5PSIxMCA0Ii8+CjxjaXJjbGUgZGF0YS1zZXJpZXM9Im5hdGl2ZSIgZGF0YS1heGlzPSIwIiBjeD0iODQiIGN5PSIyOTAiIHI9IjQiIGZpbGw9IiNmZmZmZmYiIHN0cm9rZT0iIzFkNGVkOCIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtZGFzaGFycmF5PSIxMCA0Ii8+CjxjaXJjbGUgZGF0YS1zZXJpZXM9Im5hdGl2ZSIgZGF0YS1heGlzPSIxIiBjeD0iMTU2IiBjeT0iMjY1LjEwNyIgcj0iNCIgZmlsbD0iI2ZmZmZmZiIgc3Ryb2tlPSIjMWQ0ZWQ4IiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1kYXNoYXJyYXk9IjEwIDQiLz4KPGNpcmNsZSBkYXRhLXNlcmllcz0ibmF0aXZlIiBkYXRhLWF4aXM9IjEwIiBjeD0iMzE2LjUiIGN5PSIyMjMuOTA3IiByPSI0IiBmaWxsPSIjZmZmZmZmIiBzdHJva2U9IiMxZDRlZDgiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWRhc2hhcnJheT0iMTAgNCIvPgo8Y2lyY2xlIGRhdGEtc2VyaWVzPSJuYXRpdmUiIGRhdGEtYXhpcz0iMTAwIiBjeD0iNDc3IiBjeT0iMTgyLjcwNyIgcj0iNCIgZmlsbD0iI2ZmZmZmZiIgc3Ryb2tlPSIjMWQ0ZWQ4IiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1kYXNoYXJyYXk9IjEwIDQiLz4KPGNpcmNsZSBkYXRhLXNlcmllcz0ibmF0aXZlIiBkYXRhLWF4aXM9IjEwMDAiIGN4PSI2MzcuNSIgY3k9IjE0MS41MDciIHI9IjQiIGZpbGw9IiNmZmZmZmYiIHN0cm9rZT0iIzFkNGVkOCIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtZGFzaGFycmF5PSIxMCA0Ii8+CjxjaXJjbGUgZGF0YS1zZXJpZXM9Im5hdGl2ZSIgZGF0YS1heGlzPSIxMDAwMCIgY3g9Ijc5OCIgY3k9IjEwMC4zMDciIHI9IjQiIGZpbGw9IiNmZmZmZmYiIHN0cm9rZT0iIzFkNGVkOCIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtZGFzaGFycmF5PSIxMCA0Ii8+CjxsaW5lIHgxPSI4NCIgeDI9IjExNCIgeTE9IjQwMiIgeTI9IjQwMiIgc3Ryb2tlPSIjMWQ0ZWQ4IiBzdHJva2Utd2lkdGg9IjIuNSIgc3Ryb2tlLWRhc2hhcnJheT0iMTAgNCIvPgo8dGV4dCB4PSIxMjMiIHk9IjQwNiI+UGxhbm5pbmcgbmF0aXZlIGJhY2tlbmQ8L3RleHQ+CjwvZz48L3N2Zz4K" alt="Google Cloud Storage · Object reads: monthly service charges by Object reads. Exact values are in the following table." />

  <img className="t9-diagram-dark" src="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA4NjAgNDI2IiByb2xlPSJpbWciIGFyaWEtbGFiZWxsZWRieT0idGl0bGUgZGVzYyI+Cjx0aXRsZSBpZD0idGl0bGUiPkdvb2dsZSBDbG91ZCBTdG9yYWdlIMK3IE9iamVjdCByZWFkczwvdGl0bGU+CjxkZXNjIGlkPSJkZXNjIj5QbGFubmluZyBlc3RpbWF0ZXMgaW4gVVNEIGJ5IE9iamVjdCByZWFkcy4gV29ya2xvYWQgYXhpczogbG9nYXJpdGhtaWMgcG9zaXRpdmUgdmFsdWVzOyB6ZXJvIHNob3duIHNlcGFyYXRlbHkuIENvc3QgYXhpczogbG9nYXJpdGhtaWMgcG9zaXRpdmUgdmFsdWVzOyB6ZXJvIGNvc3Qgc2hvd24gc2VwYXJhdGVseS4gRXhhY3QgdmFsdWVzLCBhc3N1bXB0aW9ucyBhbmQgZXhjbHVzaW9ucyBhcHBlYXIgaW4gdGhlIGFkamFjZW50IHRhYmxlIGFuZCB0ZXh0LiBBZGFwdGVyIGhvc3RpbmcgYW5kIFRlbnNvcjkgZmVlcyBhcmUgZXhjbHVkZWQuPC9kZXNjPgo8cmVjdCB3aWR0aD0iODYwIiBoZWlnaHQ9IjEwMCUiIGZpbGw9IiMxMTE4MjciLz4KPGcgZm9udC1mYW1pbHk9InN5c3RlbS11aSxzYW5zLXNlcmlmIiBmb250LXNpemU9IjEzIiBmaWxsPSIjZTVlN2ViIj4KPHRleHQgeD0iODQiIHk9IjI2IiBmb250LXNpemU9IjE3IiBmb250LXdlaWdodD0iNjAwIj5Hb29nbGUgQ2xvdWQgU3RvcmFnZSDCtyBPYmplY3QgcmVhZHM8L3RleHQ+Cjx0ZXh0IHg9Ijg0IiB5PSI0NyI+TW9udGhseSBzZXJ2aWNlIGNoYXJnZXMgKFVTRDsgbG9nYXJpdGhtaWMgY29zdCBheGlzOyB6ZXJvIHNlcGFyYXRlKTwvdGV4dD4KPGxpbmUgeDE9Ijg0IiB4Mj0iNzk4IiB5MT0iMjkwLjAiIHkyPSIyOTAuMCIgc3Ryb2tlPSIjMzc0MTUxIi8+Cjx0ZXh0IHg9Ijc2IiB5PSIyOTQuMCIgdGV4dC1hbmNob3I9ImVuZCI+MDwvdGV4dD4KPGxpbmUgeDE9Ijg0IiB4Mj0iNzk4IiB5MT0iMjY2LjAiIHkyPSIyNjYuMCIgc3Ryb2tlPSIjMzc0MTUxIi8+Cjx0ZXh0IHg9Ijc2IiB5PSIyNzAuMCIgdGV4dC1hbmNob3I9ImVuZCI+MTwvdGV4dD4KPGxpbmUgeDE9Ijg0IiB4Mj0iNzk4IiB5MT0iMjI0LjgiIHkyPSIyMjQuOCIgc3Ryb2tlPSIjMzc0MTUxIi8+Cjx0ZXh0IHg9Ijc2IiB5PSIyMjguOCIgdGV4dC1hbmNob3I9ImVuZCI+MTA8L3RleHQ+CjxsaW5lIHgxPSI4NCIgeDI9Ijc5OCIgeTE9IjE4My42IiB5Mj0iMTgzLjYiIHN0cm9rZT0iIzM3NDE1MSIvPgo8dGV4dCB4PSI3NiIgeT0iMTg3LjYiIHRleHQtYW5jaG9yPSJlbmQiPjEwMDwvdGV4dD4KPGxpbmUgeDE9Ijg0IiB4Mj0iNzk4IiB5MT0iMTQyLjQiIHkyPSIxNDIuNCIgc3Ryb2tlPSIjMzc0MTUxIi8+Cjx0ZXh0IHg9Ijc2IiB5PSIxNDYuNCIgdGV4dC1hbmNob3I9ImVuZCI+MTAwMDwvdGV4dD4KPGxpbmUgeDE9Ijg0IiB4Mj0iNzk4IiB5MT0iMTAxLjIiIHkyPSIxMDEuMiIgc3Ryb2tlPSIjMzc0MTUxIi8+Cjx0ZXh0IHg9Ijc2IiB5PSIxMDUuMiIgdGV4dC1hbmNob3I9ImVuZCI+MTAwMDA8L3RleHQ+CjxsaW5lIHgxPSI4NCIgeDI9Ijc5OCIgeTE9IjYwLjAiIHkyPSI2MC4wIiBzdHJva2U9IiMzNzQxNTEiLz4KPHRleHQgeD0iNzYiIHk9IjY0LjAiIHRleHQtYW5jaG9yPSJlbmQiPjEwMDAwMDwvdGV4dD4KPGxpbmUgeDE9Ijg0IiB4Mj0iODQiIHkxPSI2MCIgeTI9IjI5MCIgc3Ryb2tlPSIjZTVlN2ViIi8+CjxsaW5lIHgxPSI4NCIgeDI9Ijg0IiB5MT0iMjkwIiB5Mj0iMjk1IiBzdHJva2U9IiNlNWU3ZWIiLz4KPHRleHQgeD0iODQiIHk9IjMxMSIgdGV4dC1hbmNob3I9Im1pZGRsZSIgZGF0YS1heGlzLWxhYmVsPSJ0cnVlIj4wPC90ZXh0Pgo8bGluZSB4MT0iMTU2IiB4Mj0iMTU2IiB5MT0iMjkwIiB5Mj0iMjk1IiBzdHJva2U9IiNlNWU3ZWIiLz4KPHRleHQgeD0iMTU2IiB5PSIzMTEiIHRleHQtYW5jaG9yPSJtaWRkbGUiIGRhdGEtYXhpcy1sYWJlbD0idHJ1ZSI+MTwvdGV4dD4KPGxpbmUgeDE9IjMxNi41IiB4Mj0iMzE2LjUiIHkxPSIyOTAiIHkyPSIyOTUiIHN0cm9rZT0iI2U1ZTdlYiIvPgo8dGV4dCB4PSIzMTYuNSIgeT0iMzExIiB0ZXh0LWFuY2hvcj0ibWlkZGxlIiBkYXRhLWF4aXMtbGFiZWw9InRydWUiPjEwPC90ZXh0Pgo8bGluZSB4MT0iNDc3IiB4Mj0iNDc3IiB5MT0iMjkwIiB5Mj0iMjk1IiBzdHJva2U9IiNlNWU3ZWIiLz4KPHRleHQgeD0iNDc3IiB5PSIzMTEiIHRleHQtYW5jaG9yPSJtaWRkbGUiIGRhdGEtYXhpcy1sYWJlbD0idHJ1ZSI+MTAwPC90ZXh0Pgo8bGluZSB4MT0iNjM3LjUiIHgyPSI2MzcuNSIgeTE9IjI5MCIgeTI9IjI5NSIgc3Ryb2tlPSIjZTVlN2ViIi8+Cjx0ZXh0IHg9IjYzNy41IiB5PSIzMTEiIHRleHQtYW5jaG9yPSJtaWRkbGUiIGRhdGEtYXhpcy1sYWJlbD0idHJ1ZSI+MTAwMDwvdGV4dD4KPGxpbmUgeDE9Ijc5OCIgeDI9Ijc5OCIgeTE9IjI5MCIgeTI9IjI5NSIgc3Ryb2tlPSIjZTVlN2ViIi8+Cjx0ZXh0IHg9Ijc5OCIgeT0iMzExIiB0ZXh0LWFuY2hvcj0ibWlkZGxlIiBkYXRhLWF4aXMtbGFiZWw9InRydWUiPjEwMDAwPC90ZXh0Pgo8cGF0aCBkPSJNMTE2IDI4NyBsNSA2IG0yIC02IGw1IDYiIHN0cm9rZT0iI2U1ZTdlYiIgZmlsbD0ibm9uZSIvPgo8dGV4dCB4PSI0NDEiIHk9IjMzNiIgdGV4dC1hbmNob3I9Im1pZGRsZSI+T2JqZWN0IHJlYWRzIChwZXIgc2Vjb25kKTwvdGV4dD4KPHRleHQgeD0iODQiIHk9IjM1OCI+V29ya2xvYWQgYXhpczogbG9nYXJpdGhtaWMgcG9zaXRpdmUgdmFsdWVzOyB6ZXJvIHNob3duIHNlcGFyYXRlbHkuPC90ZXh0Pgo8cG9seWxpbmUgcG9pbnRzPSI4NCwyOTAgMTU2LDI2NS4xMDcgMzE2LjUsMjIzLjkwNyA0NzcsMTgyLjcwNyA2MzcuNSwxNDEuNTA3IDc5OCwxMDAuMzA3IiBmaWxsPSJub25lIiBzdHJva2U9IiNlNWU3ZWIiIHN0cm9rZS13aWR0aD0iMi41IiBzdHJva2UtZGFzaGFycmF5PSI2IDQiLz4KPGNpcmNsZSBkYXRhLXNlcmllcz0ib3JpZ2luIiBkYXRhLWF4aXM9IjAiIGN4PSI4NCIgY3k9IjI5MCIgcj0iMy41IiBmaWxsPSIjMTExODI3IiBzdHJva2U9IiNlNWU3ZWIiIHN0cm9rZS13aWR0aD0iMiIvPgo8Y2lyY2xlIGRhdGEtc2VyaWVzPSJvcmlnaW4iIGRhdGEtYXhpcz0iMSIgY3g9IjE1NiIgY3k9IjI2NS4xMDciIHI9IjMuNSIgZmlsbD0iIzExMTgyNyIgc3Ryb2tlPSIjZTVlN2ViIiBzdHJva2Utd2lkdGg9IjIiLz4KPGNpcmNsZSBkYXRhLXNlcmllcz0ib3JpZ2luIiBkYXRhLWF4aXM9IjEwIiBjeD0iMzE2LjUiIGN5PSIyMjMuOTA3IiByPSIzLjUiIGZpbGw9IiMxMTE4MjciIHN0cm9rZT0iI2U1ZTdlYiIgc3Ryb2tlLXdpZHRoPSIyIi8+CjxjaXJjbGUgZGF0YS1zZXJpZXM9Im9yaWdpbiIgZGF0YS1heGlzPSIxMDAiIGN4PSI0NzciIGN5PSIxODIuNzA3IiByPSIzLjUiIGZpbGw9IiMxMTE4MjciIHN0cm9rZT0iI2U1ZTdlYiIgc3Ryb2tlLXdpZHRoPSIyIi8+CjxjaXJjbGUgZGF0YS1zZXJpZXM9Im9yaWdpbiIgZGF0YS1heGlzPSIxMDAwIiBjeD0iNjM3LjUiIGN5PSIxNDEuNTA3IiByPSIzLjUiIGZpbGw9IiMxMTE4MjciIHN0cm9rZT0iI2U1ZTdlYiIgc3Ryb2tlLXdpZHRoPSIyIi8+CjxjaXJjbGUgZGF0YS1zZXJpZXM9Im9yaWdpbiIgZGF0YS1heGlzPSIxMDAwMCIgY3g9Ijc5OCIgY3k9IjEwMC4zMDciIHI9IjMuNSIgZmlsbD0iIzExMTgyNyIgc3Ryb2tlPSIjZTVlN2ViIiBzdHJva2Utd2lkdGg9IjIiLz4KPGxpbmUgeDE9Ijg0IiB4Mj0iMTE0IiB5MT0iMzgwIiB5Mj0iMzgwIiBzdHJva2U9IiNlNWU3ZWIiIHN0cm9rZS13aWR0aD0iMi41IiBzdHJva2UtZGFzaGFycmF5PSI2IDQiLz4KPHRleHQgeD0iMTIzIiB5PSIzODQiPk9yaWdpbiBzZXJ2aWNlPC90ZXh0Pgo8cG9seWxpbmUgZGF0YS1zZXJpZXM9Im5hdGl2ZSIgcG9pbnRzPSI4NCwyOTAgMTU2LDI2NS4xMDcgMzE2LjUsMjIzLjkwNyA0NzcsMTgyLjcwNyA2MzcuNSwxNDEuNTA3IDc5OCwxMDAuMzA3IiBmaWxsPSJub25lIiBzdHJva2U9IiM2MGE1ZmEiIHN0cm9rZS13aWR0aD0iMi41IiBzdHJva2UtZGFzaGFycmF5PSIxMCA0Ii8+CjxjaXJjbGUgZGF0YS1zZXJpZXM9Im5hdGl2ZSIgZGF0YS1heGlzPSIwIiBjeD0iODQiIGN5PSIyOTAiIHI9IjQiIGZpbGw9IiMxMTE4MjciIHN0cm9rZT0iIzYwYTVmYSIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtZGFzaGFycmF5PSIxMCA0Ii8+CjxjaXJjbGUgZGF0YS1zZXJpZXM9Im5hdGl2ZSIgZGF0YS1heGlzPSIxIiBjeD0iMTU2IiBjeT0iMjY1LjEwNyIgcj0iNCIgZmlsbD0iIzExMTgyNyIgc3Ryb2tlPSIjNjBhNWZhIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1kYXNoYXJyYXk9IjEwIDQiLz4KPGNpcmNsZSBkYXRhLXNlcmllcz0ibmF0aXZlIiBkYXRhLWF4aXM9IjEwIiBjeD0iMzE2LjUiIGN5PSIyMjMuOTA3IiByPSI0IiBmaWxsPSIjMTExODI3IiBzdHJva2U9IiM2MGE1ZmEiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWRhc2hhcnJheT0iMTAgNCIvPgo8Y2lyY2xlIGRhdGEtc2VyaWVzPSJuYXRpdmUiIGRhdGEtYXhpcz0iMTAwIiBjeD0iNDc3IiBjeT0iMTgyLjcwNyIgcj0iNCIgZmlsbD0iIzExMTgyNyIgc3Ryb2tlPSIjNjBhNWZhIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1kYXNoYXJyYXk9IjEwIDQiLz4KPGNpcmNsZSBkYXRhLXNlcmllcz0ibmF0aXZlIiBkYXRhLWF4aXM9IjEwMDAiIGN4PSI2MzcuNSIgY3k9IjE0MS41MDciIHI9IjQiIGZpbGw9IiMxMTE4MjciIHN0cm9rZT0iIzYwYTVmYSIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtZGFzaGFycmF5PSIxMCA0Ii8+CjxjaXJjbGUgZGF0YS1zZXJpZXM9Im5hdGl2ZSIgZGF0YS1heGlzPSIxMDAwMCIgY3g9Ijc5OCIgY3k9IjEwMC4zMDciIHI9IjQiIGZpbGw9IiMxMTE4MjciIHN0cm9rZT0iIzYwYTVmYSIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtZGFzaGFycmF5PSIxMCA0Ii8+CjxsaW5lIHgxPSI4NCIgeDI9IjExNCIgeTE9IjQwMiIgeTI9IjQwMiIgc3Ryb2tlPSIjNjBhNWZhIiBzdHJva2Utd2lkdGg9IjIuNSIgc3Ryb2tlLWRhc2hhcnJheT0iMTAgNCIvPgo8dGV4dCB4PSIxMjMiIHk9IjQwNiI+UGxhbm5pbmcgbmF0aXZlIGJhY2tlbmQ8L3RleHQ+CjwvZz48L3N2Zz4K" alt="Google Cloud Storage · Object reads: monthly service charges by Object reads. Exact values are in the following table." />
</div>

Exact sampled model outputs in USD/month. Difference means target minus origin; a positive difference means the target costs more.

| Object reads (per second) | Origin | Target scenario | Target | Difference |
| -: | -: | - | -: | -: |
| 0 | 0 | Planning native backend | 0 | 0 |
| 1 | 1.0512 | Planning native backend | 1.0512 | 0 |
| 10 | 10.512 | Planning native backend | 10.512 | 0 |
| 100 | 105.12 | Planning native backend | 105.12 | 0 |
| 1000 | 1051.2 | Planning native backend | 1051.2 | 0 |
| 10000 | 10512 | Planning native backend | 10512 | 0 |

**Curve assumptions**

| Target scenario | Assumption | Value | Unit |
| - | - | -: | - |
| Planning native backend | Origin price guess · Stored object data | 0.02 | USD/GiB-month |
| Planning native backend | Origin price guess · Object writes | 0.000005 | USD/requests |
| Planning native backend | Origin price guess · Object reads | 0.0000004 | USD/requests |
| Planning native backend | Origin price guess · Billable origin network transfer | 0.09 | USD/GiB |
| Planning native backend | Representative transferred object size | 1048576 | bytes |
| Planning native backend | Target requests per write | 1 | requests |
| Planning native backend | Target requests per read | 1 | requests |
| Planning native backend | Target price guess · read | 0.0000004 | USD/read |
| Planning native backend | Target price guess · write | 0.000005 | USD/write |
| Planning native backend | Target price guess · provider operation | 0 | USD/provider operation |
| Planning native backend | Target price guess · GiB-month | 0.02 | USD/GiB-month |
| Planning native backend | Target price guess · published GiB | 0 | USD/published GiB |
| Planning native backend | Target price guess · delivered GiB | 0 | USD/delivered GiB |
| Planning native backend | Target price guess · network GiB | 0.09 | USD/network GiB |
| Planning native backend | Target price guess · replica GiB-month | 0 | USD/replica GiB-month |
| Planning native backend | Target price guess · vCPU-hour | 0 | USD/vCPU-hour |
| Planning native backend | Target price guess · GiB-hour | 0 | USD/GiB-hour |
| Planning native backend | Target price guess · resource-hour | 0 | USD/resource-hour |
| Planning native backend | Target price guess · resource-month | 0 | USD/resource-month |
| Planning native backend | Target price guess · input token | 0 | USD/input token |
| Planning native backend | Target price guess · output token | 0 | USD/output token |
| Planning native backend | Approximate target service minimum | 0 | USD/month |
| Planning native backend | Minimum primary CPU | 2 | vCPU |
| Planning native backend | Minimum primary RAM | 8 | GiB |
| Planning native backend | Minimum primary disk | 100 | GiB |
| Planning native backend | Additional full-price standby copy | 0 | 0 or 1 |
| Planning native backend | Allocated share of provisioned cost | 1 | fraction |
| Planning native backend | Planning read/write work per vCPU-second | 1000 | operations/vCPU-second |
| Planning native backend | Planning peak / mean work | 2 | multiplier |
| Planning native backend | Planning primary CPU utilization | 0.7 | fraction |
| Planning native backend | Resident state reserved in RAM | 0.1 | fraction |
| Planning native backend | Planning disk utilization | 0.7 | fraction |
| Planning native backend | Maintenance and log disk reserve | 20 | GiB |
| Planning native backend | Staging database CPU unit-price guess | 0.0413 | USD/vCPU-hour |
| Planning native backend | Staging database RAM unit-price guess | 0.007 | USD/GiB-hour |
| Planning native backend | Staging database disk unit-price guess | 0.17 | USD/GiB-month |
| Planning native backend | Dependent object sink storage price guess | 0.023 | USD/GiB-month |
| Planning native backend | Dependent object sink write price guess | 0.000005 | USD/write |

* Stored GiB and writes stay at independent defaults. 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-18; not verified provider prices. Explicit source planning region → Explicit target planning region, 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.
* Editable authored planning guesses, not verified provider tariffs, 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 exact directed mapping has a design profile. Cost modeling does not establish an implemented or deployable adapter.
* Authored planning assumptions, not measured adapter capacity. Editable origin rates are illustrative tariff profiles, before free allowances and discounts.
* A cost scenario does not establish backend availability, protocol fidelity or production readiness. Registry serving status remains independent.
* Storage, request throughput and network are independent dimensions; a storage-only curve does not estimate a request mix.
* All target rates are editable authored planning guesses, not verified current list prices, customer discounts or benchmark evidence.
* Object storage prices logical GiB-month, actual target read/write operations and explicitly selected network transfer.

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.
* Replication beyond the selected target policy; archive classes and their minimum-duration/retrieval tariffs need a separate profile.
* 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.

Planning assumptions authored: 2026-10-18. Model: `plan-7a6353b5166007242df339326a7e6bc8b09067c8` / `2026-10-18.planning.1`. Curve: `workload-3`.

See the [service catalog](/cloud-adapter/service-catalog/aws/catalog) for operation coverage, supported directions and backend limitations.


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