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

# Container Registry (ACR) costs

> Compare Container Registry (ACR) backend choices using explicit service-adapter planning assumptions.

Tensor9 Cloud Adapter planning comparisons for `azure::1.0.0::container-registry`, 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).

## Azure Container Registry image storage and transfer → Artifact Registry

Origin API: `azure::1.0.0::container-registry`. Target backend: `google::1.0.0::artifact-registry`.

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

### Azure Container Registry image storage and transfer · Retained image 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+Cjx0aXRsZSBpZD0idGl0bGUiPkF6dXJlIENvbnRhaW5lciBSZWdpc3RyeSBpbWFnZSBzdG9yYWdlIGFuZCB0cmFuc2ZlciDCtyBSZXRhaW5lZCBpbWFnZSBkYXRhPC90aXRsZT4KPGRlc2MgaWQ9ImRlc2MiPlBsYW5uaW5nIGVzdGltYXRlcyBpbiBVU0QgYnkgUmV0YWluZWQgaW1hZ2UgZGF0YS4gV29ya2xvYWQgYXhpczogbG9nYXJpdGhtaWMgcG9zaXRpdmUgdmFsdWVzOyB6ZXJvIHNob3duIHNlcGFyYXRlbHkuIENvc3QgYXhpczogbG9nYXJpdGhtaWMgcG9zaXRpdmUgdmFsdWVzLiBFeGFjdCB2YWx1ZXMsIGFzc3VtcHRpb25zIGFuZCBleGNsdXNpb25zIGFwcGVhciBpbiB0aGUgYWRqYWNlbnQgdGFibGUgYW5kIHRleHQuIEFkYXB0ZXIgaG9zdGluZyBhbmQgVGVuc29yOSBmZWVzIGFyZSBleGNsdWRlZC48L2Rlc2M+CjxyZWN0IHdpZHRoPSI4NjAiIGhlaWdodD0iMTAwJSIgZmlsbD0iI2ZmZmZmZiIvPgo8ZyBmb250LWZhbWlseT0ic3lzdGVtLXVpLHNhbnMtc2VyaWYiIGZvbnQtc2l6ZT0iMTMiIGZpbGw9IiMxZjI5MzciPgo8dGV4dCB4PSI4NCIgeT0iMjYiIGZvbnQtc2l6ZT0iMTciIGZvbnQtd2VpZ2h0PSI2MDAiPkF6dXJlIENvbnRhaW5lciBSZWdpc3RyeSBpbWFnZSBzdG9yYWdlIGFuZCB0cmFuc2ZlciDCtyBSZXRhaW5lZCBpbWFnZSBkYXRhPC90ZXh0Pgo8dGV4dCB4PSI4NCIgeT0iNDciPk1vbnRobHkgc2VydmljZSBjaGFyZ2VzIChVU0Q7IGxvZ2FyaXRobWljIGNvc3QgYXhpcyk8L3RleHQ+CjxsaW5lIHgxPSI4NCIgeDI9Ijc5OCIgeTE9IjI5MC4wIiB5Mj0iMjkwLjAiIHN0cm9rZT0iI2U1ZTdlYiIvPgo8dGV4dCB4PSI3NiIgeT0iMjk0LjAiIHRleHQtYW5jaG9yPSJlbmQiPjEwPC90ZXh0Pgo8bGluZSB4MT0iODQiIHgyPSI3OTgiIHkxPSIyMzIuNSIgeTI9IjIzMi41IiBzdHJva2U9IiNlNWU3ZWIiLz4KPHRleHQgeD0iNzYiIHk9IjIzNi41IiB0ZXh0LWFuY2hvcj0iZW5kIj4xMDA8L3RleHQ+CjxsaW5lIHgxPSI4NCIgeDI9Ijc5OCIgeTE9IjE3NS4wIiB5Mj0iMTc1LjAiIHN0cm9rZT0iI2U1ZTdlYiIvPgo8dGV4dCB4PSI3NiIgeT0iMTc5LjAiIHRleHQtYW5jaG9yPSJlbmQiPjEwMDA8L3RleHQ+CjxsaW5lIHgxPSI4NCIgeDI9Ijc5OCIgeTE9IjExNy41IiB5Mj0iMTE3LjUiIHN0cm9rZT0iI2U1ZTdlYiIvPgo8dGV4dCB4PSI3NiIgeT0iMTIxLjUiIHRleHQtYW5jaG9yPSJlbmQiPjEwMDAwPC90ZXh0Pgo8bGluZSB4MT0iODQiIHgyPSI3OTgiIHkxPSI2MC4wIiB5Mj0iNjAuMCIgc3Ryb2tlPSIjZTVlN2ViIi8+Cjx0ZXh0IHg9Ijc2IiB5PSI2NC4wIiB0ZXh0LWFuY2hvcj0iZW5kIj4xMDAwMDA8L3RleHQ+CjxsaW5lIHgxPSI4NCIgeDI9Ijg0IiB5MT0iNjAiIHkyPSIyOTAiIHN0cm9rZT0iIzFmMjkzNyIvPgo8bGluZSB4MT0iODQiIHgyPSI4NCIgeTE9IjI5MCIgeTI9IjI5NSIgc3Ryb2tlPSIjMWYyOTM3Ii8+Cjx0ZXh0IHg9Ijg0IiB5PSIzMTEiIHRleHQtYW5jaG9yPSJtaWRkbGUiIGRhdGEtYXhpcy1sYWJlbD0idHJ1ZSI+MDwvdGV4dD4KPGxpbmUgeDE9IjE1NiIgeDI9IjE1NiIgeTE9IjI5MCIgeTI9IjI5NSIgc3Ryb2tlPSIjMWYyOTM3Ii8+Cjx0ZXh0IHg9IjE1NiIgeT0iMzExIiB0ZXh0LWFuY2hvcj0ibWlkZGxlIiBkYXRhLWF4aXMtbGFiZWw9InRydWUiPjEwPC90ZXh0Pgo8bGluZSB4MT0iMzE2LjUiIHgyPSIzMTYuNSIgeTE9IjI5MCIgeTI9IjI5NSIgc3Ryb2tlPSIjMWYyOTM3Ii8+Cjx0ZXh0IHg9IjMxNi41IiB5PSIzMTEiIHRleHQtYW5jaG9yPSJtaWRkbGUiIGRhdGEtYXhpcy1sYWJlbD0idHJ1ZSI+MTAwPC90ZXh0Pgo8bGluZSB4MT0iNDc3IiB4Mj0iNDc3IiB5MT0iMjkwIiB5Mj0iMjk1IiBzdHJva2U9IiMxZjI5MzciLz4KPHRleHQgeD0iNDc3IiB5PSIzMTEiIHRleHQtYW5jaG9yPSJtaWRkbGUiIGRhdGEtYXhpcy1sYWJlbD0idHJ1ZSI+MTAwMDwvdGV4dD4KPGxpbmUgeDE9IjYzNy41IiB4Mj0iNjM3LjUiIHkxPSIyOTAiIHkyPSIyOTUiIHN0cm9rZT0iIzFmMjkzNyIvPgo8dGV4dCB4PSI2MzcuNSIgeT0iMzExIiB0ZXh0LWFuY2hvcj0ibWlkZGxlIiBkYXRhLWF4aXMtbGFiZWw9InRydWUiPjEwMDAwPC90ZXh0Pgo8bGluZSB4MT0iNzk4IiB4Mj0iNzk4IiB5MT0iMjkwIiB5Mj0iMjk1IiBzdHJva2U9IiMxZjI5MzciLz4KPHRleHQgeD0iNzk4IiB5PSIzMTEiIHRleHQtYW5jaG9yPSJtaWRkbGUiIGRhdGEtYXhpcy1sYWJlbD0idHJ1ZSI+MTAwMDAwPC90ZXh0Pgo8cGF0aCBkPSJNMTE2IDI4NyBsNSA2IG0yIC02IGw1IDYiIHN0cm9rZT0iIzFmMjkzNyIgZmlsbD0ibm9uZSIvPgo8dGV4dCB4PSI0NDEiIHk9IjMzNiIgdGV4dC1hbmNob3I9Im1pZGRsZSI+UmV0YWluZWQgaW1hZ2UgZGF0YSAoR2lCLW1vbnRoKTwvdGV4dD4KPHRleHQgeD0iODQiIHk9IjM1OCI+V29ya2xvYWQgYXhpczogbG9nYXJpdGhtaWMgcG9zaXRpdmUgdmFsdWVzOyB6ZXJvIHNob3duIHNlcGFyYXRlbHkuPC90ZXh0Pgo8cG9seWxpbmUgcG9pbnRzPSI4NCwyMzEuMzc3IDE1NiwyMzEuMTM5IDMxNi41LDIyOS4wOTcgNDc3LDIxNC42MjMgNjM3LjUsMTcyLjUxNiA3OTgsMTE3LjI0IiBmaWxsPSJub25lIiBzdHJva2U9IiMxZjI5MzciIHN0cm9rZS13aWR0aD0iMi41IiBzdHJva2UtZGFzaGFycmF5PSI2IDQiLz4KPGNpcmNsZSBkYXRhLXNlcmllcz0ib3JpZ2luIiBkYXRhLWF4aXM9IjAiIGN4PSI4NCIgY3k9IjIzMS4zNzciIHI9IjMuNSIgZmlsbD0iI2ZmZmZmZiIgc3Ryb2tlPSIjMWYyOTM3IiBzdHJva2Utd2lkdGg9IjIiLz4KPGNpcmNsZSBkYXRhLXNlcmllcz0ib3JpZ2luIiBkYXRhLWF4aXM9IjEwIiBjeD0iMTU2IiBjeT0iMjMxLjEzOSIgcj0iMy41IiBmaWxsPSIjZmZmZmZmIiBzdHJva2U9IiMxZjI5MzciIHN0cm9rZS13aWR0aD0iMiIvPgo8Y2lyY2xlIGRhdGEtc2VyaWVzPSJvcmlnaW4iIGRhdGEtYXhpcz0iMTAwIiBjeD0iMzE2LjUiIGN5PSIyMjkuMDk3IiByPSIzLjUiIGZpbGw9IiNmZmZmZmYiIHN0cm9rZT0iIzFmMjkzNyIgc3Ryb2tlLXdpZHRoPSIyIi8+CjxjaXJjbGUgZGF0YS1zZXJpZXM9Im9yaWdpbiIgZGF0YS1heGlzPSIxMDAwIiBjeD0iNDc3IiBjeT0iMjE0LjYyMyIgcj0iMy41IiBmaWxsPSIjZmZmZmZmIiBzdHJva2U9IiMxZjI5MzciIHN0cm9rZS13aWR0aD0iMiIvPgo8Y2lyY2xlIGRhdGEtc2VyaWVzPSJvcmlnaW4iIGRhdGEtYXhpcz0iMTAwMDAiIGN4PSI2MzcuNSIgY3k9IjE3Mi41MTYiIHI9IjMuNSIgZmlsbD0iI2ZmZmZmZiIgc3Ryb2tlPSIjMWYyOTM3IiBzdHJva2Utd2lkdGg9IjIiLz4KPGNpcmNsZSBkYXRhLXNlcmllcz0ib3JpZ2luIiBkYXRhLWF4aXM9IjEwMDAwMCIgY3g9Ijc5OCIgY3k9IjExNy4yNCIgcj0iMy41IiBmaWxsPSIjZmZmZmZmIiBzdHJva2U9IiMxZjI5MzciIHN0cm9rZS13aWR0aD0iMiIvPgo8bGluZSB4MT0iODQiIHgyPSIxMTQiIHkxPSIzODAiIHkyPSIzODAiIHN0cm9rZT0iIzFmMjkzNyIgc3Ryb2tlLXdpZHRoPSIyLjUiIHN0cm9rZS1kYXNoYXJyYXk9IjYgNCIvPgo8dGV4dCB4PSIxMjMiIHk9IjM4NCI+T3JpZ2luIHNlcnZpY2U8L3RleHQ+Cjxwb2x5bGluZSBkYXRhLXNlcmllcz0ibmF0aXZlIiBwb2ludHM9Ijg0LDIzNS4xMzEgMTU2LDIzNC44MjggMzE2LjUsMjMyLjI1MiA0NzcsMjE1LjE5MSA2MzcuNSwxNzAuNjU2IDc5OCwxMTQuOTE2IiBmaWxsPSJub25lIiBzdHJva2U9IiMxZDRlZDgiIHN0cm9rZS13aWR0aD0iMi41IiBzdHJva2UtZGFzaGFycmF5PSIxMCA0Ii8+CjxjaXJjbGUgZGF0YS1zZXJpZXM9Im5hdGl2ZSIgZGF0YS1heGlzPSIwIiBjeD0iODQiIGN5PSIyMzUuMTMxIiByPSI0IiBmaWxsPSIjZmZmZmZmIiBzdHJva2U9IiMxZDRlZDgiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWRhc2hhcnJheT0iMTAgNCIvPgo8Y2lyY2xlIGRhdGEtc2VyaWVzPSJuYXRpdmUiIGRhdGEtYXhpcz0iMTAiIGN4PSIxNTYiIGN5PSIyMzQuODI4IiByPSI0IiBmaWxsPSIjZmZmZmZmIiBzdHJva2U9IiMxZDRlZDgiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWRhc2hhcnJheT0iMTAgNCIvPgo8Y2lyY2xlIGRhdGEtc2VyaWVzPSJuYXRpdmUiIGRhdGEtYXhpcz0iMTAwIiBjeD0iMzE2LjUiIGN5PSIyMzIuMjUyIiByPSI0IiBmaWxsPSIjZmZmZmZmIiBzdHJva2U9IiMxZDRlZDgiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWRhc2hhcnJheT0iMTAgNCIvPgo8Y2lyY2xlIGRhdGEtc2VyaWVzPSJuYXRpdmUiIGRhdGEtYXhpcz0iMTAwMCIgY3g9IjQ3NyIgY3k9IjIxNS4xOTEiIHI9IjQiIGZpbGw9IiNmZmZmZmYiIHN0cm9rZT0iIzFkNGVkOCIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtZGFzaGFycmF5PSIxMCA0Ii8+CjxjaXJjbGUgZGF0YS1zZXJpZXM9Im5hdGl2ZSIgZGF0YS1heGlzPSIxMDAwMCIgY3g9IjYzNy41IiBjeT0iMTcwLjY1NiIgcj0iNCIgZmlsbD0iI2ZmZmZmZiIgc3Ryb2tlPSIjMWQ0ZWQ4IiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1kYXNoYXJyYXk9IjEwIDQiLz4KPGNpcmNsZSBkYXRhLXNlcmllcz0ibmF0aXZlIiBkYXRhLWF4aXM9IjEwMDAwMCIgY3g9Ijc5OCIgY3k9IjExNC45MTYiIHI9IjQiIGZpbGw9IiNmZmZmZmYiIHN0cm9rZT0iIzFkNGVkOCIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtZGFzaGFycmF5PSIxMCA0Ii8+CjxsaW5lIHgxPSI4NCIgeDI9IjExNCIgeTE9IjQwMiIgeTI9IjQwMiIgc3Ryb2tlPSIjMWQ0ZWQ4IiBzdHJva2Utd2lkdGg9IjIuNSIgc3Ryb2tlLWRhc2hhcnJheT0iMTAgNCIvPgo8dGV4dCB4PSIxMjMiIHk9IjQwNiI+UGxhbm5pbmcgbmF0aXZlIGJhY2tlbmQ8L3RleHQ+CjwvZz48L3N2Zz4K" alt="Azure Container Registry image storage and transfer · Retained image data: monthly service charges by Retained image data. Exact values are in the following table." />

  <img className="t9-diagram-dark" src="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA4NjAgNDI2IiByb2xlPSJpbWciIGFyaWEtbGFiZWxsZWRieT0idGl0bGUgZGVzYyI+Cjx0aXRsZSBpZD0idGl0bGUiPkF6dXJlIENvbnRhaW5lciBSZWdpc3RyeSBpbWFnZSBzdG9yYWdlIGFuZCB0cmFuc2ZlciDCtyBSZXRhaW5lZCBpbWFnZSBkYXRhPC90aXRsZT4KPGRlc2MgaWQ9ImRlc2MiPlBsYW5uaW5nIGVzdGltYXRlcyBpbiBVU0QgYnkgUmV0YWluZWQgaW1hZ2UgZGF0YS4gV29ya2xvYWQgYXhpczogbG9nYXJpdGhtaWMgcG9zaXRpdmUgdmFsdWVzOyB6ZXJvIHNob3duIHNlcGFyYXRlbHkuIENvc3QgYXhpczogbG9nYXJpdGhtaWMgcG9zaXRpdmUgdmFsdWVzLiBFeGFjdCB2YWx1ZXMsIGFzc3VtcHRpb25zIGFuZCBleGNsdXNpb25zIGFwcGVhciBpbiB0aGUgYWRqYWNlbnQgdGFibGUgYW5kIHRleHQuIEFkYXB0ZXIgaG9zdGluZyBhbmQgVGVuc29yOSBmZWVzIGFyZSBleGNsdWRlZC48L2Rlc2M+CjxyZWN0IHdpZHRoPSI4NjAiIGhlaWdodD0iMTAwJSIgZmlsbD0iIzExMTgyNyIvPgo8ZyBmb250LWZhbWlseT0ic3lzdGVtLXVpLHNhbnMtc2VyaWYiIGZvbnQtc2l6ZT0iMTMiIGZpbGw9IiNlNWU3ZWIiPgo8dGV4dCB4PSI4NCIgeT0iMjYiIGZvbnQtc2l6ZT0iMTciIGZvbnQtd2VpZ2h0PSI2MDAiPkF6dXJlIENvbnRhaW5lciBSZWdpc3RyeSBpbWFnZSBzdG9yYWdlIGFuZCB0cmFuc2ZlciDCtyBSZXRhaW5lZCBpbWFnZSBkYXRhPC90ZXh0Pgo8dGV4dCB4PSI4NCIgeT0iNDciPk1vbnRobHkgc2VydmljZSBjaGFyZ2VzIChVU0Q7IGxvZ2FyaXRobWljIGNvc3QgYXhpcyk8L3RleHQ+CjxsaW5lIHgxPSI4NCIgeDI9Ijc5OCIgeTE9IjI5MC4wIiB5Mj0iMjkwLjAiIHN0cm9rZT0iIzM3NDE1MSIvPgo8dGV4dCB4PSI3NiIgeT0iMjk0LjAiIHRleHQtYW5jaG9yPSJlbmQiPjEwPC90ZXh0Pgo8bGluZSB4MT0iODQiIHgyPSI3OTgiIHkxPSIyMzIuNSIgeTI9IjIzMi41IiBzdHJva2U9IiMzNzQxNTEiLz4KPHRleHQgeD0iNzYiIHk9IjIzNi41IiB0ZXh0LWFuY2hvcj0iZW5kIj4xMDA8L3RleHQ+CjxsaW5lIHgxPSI4NCIgeDI9Ijc5OCIgeTE9IjE3NS4wIiB5Mj0iMTc1LjAiIHN0cm9rZT0iIzM3NDE1MSIvPgo8dGV4dCB4PSI3NiIgeT0iMTc5LjAiIHRleHQtYW5jaG9yPSJlbmQiPjEwMDA8L3RleHQ+CjxsaW5lIHgxPSI4NCIgeDI9Ijc5OCIgeTE9IjExNy41IiB5Mj0iMTE3LjUiIHN0cm9rZT0iIzM3NDE1MSIvPgo8dGV4dCB4PSI3NiIgeT0iMTIxLjUiIHRleHQtYW5jaG9yPSJlbmQiPjEwMDAwPC90ZXh0Pgo8bGluZSB4MT0iODQiIHgyPSI3OTgiIHkxPSI2MC4wIiB5Mj0iNjAuMCIgc3Ryb2tlPSIjMzc0MTUxIi8+Cjx0ZXh0IHg9Ijc2IiB5PSI2NC4wIiB0ZXh0LWFuY2hvcj0iZW5kIj4xMDAwMDA8L3RleHQ+CjxsaW5lIHgxPSI4NCIgeDI9Ijg0IiB5MT0iNjAiIHkyPSIyOTAiIHN0cm9rZT0iI2U1ZTdlYiIvPgo8bGluZSB4MT0iODQiIHgyPSI4NCIgeTE9IjI5MCIgeTI9IjI5NSIgc3Ryb2tlPSIjZTVlN2ViIi8+Cjx0ZXh0IHg9Ijg0IiB5PSIzMTEiIHRleHQtYW5jaG9yPSJtaWRkbGUiIGRhdGEtYXhpcy1sYWJlbD0idHJ1ZSI+MDwvdGV4dD4KPGxpbmUgeDE9IjE1NiIgeDI9IjE1NiIgeTE9IjI5MCIgeTI9IjI5NSIgc3Ryb2tlPSIjZTVlN2ViIi8+Cjx0ZXh0IHg9IjE1NiIgeT0iMzExIiB0ZXh0LWFuY2hvcj0ibWlkZGxlIiBkYXRhLWF4aXMtbGFiZWw9InRydWUiPjEwPC90ZXh0Pgo8bGluZSB4MT0iMzE2LjUiIHgyPSIzMTYuNSIgeTE9IjI5MCIgeTI9IjI5NSIgc3Ryb2tlPSIjZTVlN2ViIi8+Cjx0ZXh0IHg9IjMxNi41IiB5PSIzMTEiIHRleHQtYW5jaG9yPSJtaWRkbGUiIGRhdGEtYXhpcy1sYWJlbD0idHJ1ZSI+MTAwPC90ZXh0Pgo8bGluZSB4MT0iNDc3IiB4Mj0iNDc3IiB5MT0iMjkwIiB5Mj0iMjk1IiBzdHJva2U9IiNlNWU3ZWIiLz4KPHRleHQgeD0iNDc3IiB5PSIzMTEiIHRleHQtYW5jaG9yPSJtaWRkbGUiIGRhdGEtYXhpcy1sYWJlbD0idHJ1ZSI+MTAwMDwvdGV4dD4KPGxpbmUgeDE9IjYzNy41IiB4Mj0iNjM3LjUiIHkxPSIyOTAiIHkyPSIyOTUiIHN0cm9rZT0iI2U1ZTdlYiIvPgo8dGV4dCB4PSI2MzcuNSIgeT0iMzExIiB0ZXh0LWFuY2hvcj0ibWlkZGxlIiBkYXRhLWF4aXMtbGFiZWw9InRydWUiPjEwMDAwPC90ZXh0Pgo8bGluZSB4MT0iNzk4IiB4Mj0iNzk4IiB5MT0iMjkwIiB5Mj0iMjk1IiBzdHJva2U9IiNlNWU3ZWIiLz4KPHRleHQgeD0iNzk4IiB5PSIzMTEiIHRleHQtYW5jaG9yPSJtaWRkbGUiIGRhdGEtYXhpcy1sYWJlbD0idHJ1ZSI+MTAwMDAwPC90ZXh0Pgo8cGF0aCBkPSJNMTE2IDI4NyBsNSA2IG0yIC02IGw1IDYiIHN0cm9rZT0iI2U1ZTdlYiIgZmlsbD0ibm9uZSIvPgo8dGV4dCB4PSI0NDEiIHk9IjMzNiIgdGV4dC1hbmNob3I9Im1pZGRsZSI+UmV0YWluZWQgaW1hZ2UgZGF0YSAoR2lCLW1vbnRoKTwvdGV4dD4KPHRleHQgeD0iODQiIHk9IjM1OCI+V29ya2xvYWQgYXhpczogbG9nYXJpdGhtaWMgcG9zaXRpdmUgdmFsdWVzOyB6ZXJvIHNob3duIHNlcGFyYXRlbHkuPC90ZXh0Pgo8cG9seWxpbmUgcG9pbnRzPSI4NCwyMzEuMzc3IDE1NiwyMzEuMTM5IDMxNi41LDIyOS4wOTcgNDc3LDIxNC42MjMgNjM3LjUsMTcyLjUxNiA3OTgsMTE3LjI0IiBmaWxsPSJub25lIiBzdHJva2U9IiNlNWU3ZWIiIHN0cm9rZS13aWR0aD0iMi41IiBzdHJva2UtZGFzaGFycmF5PSI2IDQiLz4KPGNpcmNsZSBkYXRhLXNlcmllcz0ib3JpZ2luIiBkYXRhLWF4aXM9IjAiIGN4PSI4NCIgY3k9IjIzMS4zNzciIHI9IjMuNSIgZmlsbD0iIzExMTgyNyIgc3Ryb2tlPSIjZTVlN2ViIiBzdHJva2Utd2lkdGg9IjIiLz4KPGNpcmNsZSBkYXRhLXNlcmllcz0ib3JpZ2luIiBkYXRhLWF4aXM9IjEwIiBjeD0iMTU2IiBjeT0iMjMxLjEzOSIgcj0iMy41IiBmaWxsPSIjMTExODI3IiBzdHJva2U9IiNlNWU3ZWIiIHN0cm9rZS13aWR0aD0iMiIvPgo8Y2lyY2xlIGRhdGEtc2VyaWVzPSJvcmlnaW4iIGRhdGEtYXhpcz0iMTAwIiBjeD0iMzE2LjUiIGN5PSIyMjkuMDk3IiByPSIzLjUiIGZpbGw9IiMxMTE4MjciIHN0cm9rZT0iI2U1ZTdlYiIgc3Ryb2tlLXdpZHRoPSIyIi8+CjxjaXJjbGUgZGF0YS1zZXJpZXM9Im9yaWdpbiIgZGF0YS1heGlzPSIxMDAwIiBjeD0iNDc3IiBjeT0iMjE0LjYyMyIgcj0iMy41IiBmaWxsPSIjMTExODI3IiBzdHJva2U9IiNlNWU3ZWIiIHN0cm9rZS13aWR0aD0iMiIvPgo8Y2lyY2xlIGRhdGEtc2VyaWVzPSJvcmlnaW4iIGRhdGEtYXhpcz0iMTAwMDAiIGN4PSI2MzcuNSIgY3k9IjE3Mi41MTYiIHI9IjMuNSIgZmlsbD0iIzExMTgyNyIgc3Ryb2tlPSIjZTVlN2ViIiBzdHJva2Utd2lkdGg9IjIiLz4KPGNpcmNsZSBkYXRhLXNlcmllcz0ib3JpZ2luIiBkYXRhLWF4aXM9IjEwMDAwMCIgY3g9Ijc5OCIgY3k9IjExNy4yNCIgcj0iMy41IiBmaWxsPSIjMTExODI3IiBzdHJva2U9IiNlNWU3ZWIiIHN0cm9rZS13aWR0aD0iMiIvPgo8bGluZSB4MT0iODQiIHgyPSIxMTQiIHkxPSIzODAiIHkyPSIzODAiIHN0cm9rZT0iI2U1ZTdlYiIgc3Ryb2tlLXdpZHRoPSIyLjUiIHN0cm9rZS1kYXNoYXJyYXk9IjYgNCIvPgo8dGV4dCB4PSIxMjMiIHk9IjM4NCI+T3JpZ2luIHNlcnZpY2U8L3RleHQ+Cjxwb2x5bGluZSBkYXRhLXNlcmllcz0ibmF0aXZlIiBwb2ludHM9Ijg0LDIzNS4xMzEgMTU2LDIzNC44MjggMzE2LjUsMjMyLjI1MiA0NzcsMjE1LjE5MSA2MzcuNSwxNzAuNjU2IDc5OCwxMTQuOTE2IiBmaWxsPSJub25lIiBzdHJva2U9IiM2MGE1ZmEiIHN0cm9rZS13aWR0aD0iMi41IiBzdHJva2UtZGFzaGFycmF5PSIxMCA0Ii8+CjxjaXJjbGUgZGF0YS1zZXJpZXM9Im5hdGl2ZSIgZGF0YS1heGlzPSIwIiBjeD0iODQiIGN5PSIyMzUuMTMxIiByPSI0IiBmaWxsPSIjMTExODI3IiBzdHJva2U9IiM2MGE1ZmEiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWRhc2hhcnJheT0iMTAgNCIvPgo8Y2lyY2xlIGRhdGEtc2VyaWVzPSJuYXRpdmUiIGRhdGEtYXhpcz0iMTAiIGN4PSIxNTYiIGN5PSIyMzQuODI4IiByPSI0IiBmaWxsPSIjMTExODI3IiBzdHJva2U9IiM2MGE1ZmEiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWRhc2hhcnJheT0iMTAgNCIvPgo8Y2lyY2xlIGRhdGEtc2VyaWVzPSJuYXRpdmUiIGRhdGEtYXhpcz0iMTAwIiBjeD0iMzE2LjUiIGN5PSIyMzIuMjUyIiByPSI0IiBmaWxsPSIjMTExODI3IiBzdHJva2U9IiM2MGE1ZmEiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWRhc2hhcnJheT0iMTAgNCIvPgo8Y2lyY2xlIGRhdGEtc2VyaWVzPSJuYXRpdmUiIGRhdGEtYXhpcz0iMTAwMCIgY3g9IjQ3NyIgY3k9IjIxNS4xOTEiIHI9IjQiIGZpbGw9IiMxMTE4MjciIHN0cm9rZT0iIzYwYTVmYSIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtZGFzaGFycmF5PSIxMCA0Ii8+CjxjaXJjbGUgZGF0YS1zZXJpZXM9Im5hdGl2ZSIgZGF0YS1heGlzPSIxMDAwMCIgY3g9IjYzNy41IiBjeT0iMTcwLjY1NiIgcj0iNCIgZmlsbD0iIzExMTgyNyIgc3Ryb2tlPSIjNjBhNWZhIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1kYXNoYXJyYXk9IjEwIDQiLz4KPGNpcmNsZSBkYXRhLXNlcmllcz0ibmF0aXZlIiBkYXRhLWF4aXM9IjEwMDAwMCIgY3g9Ijc5OCIgY3k9IjExNC45MTYiIHI9IjQiIGZpbGw9IiMxMTE4MjciIHN0cm9rZT0iIzYwYTVmYSIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtZGFzaGFycmF5PSIxMCA0Ii8+CjxsaW5lIHgxPSI4NCIgeDI9IjExNCIgeTE9IjQwMiIgeTI9IjQwMiIgc3Ryb2tlPSIjNjBhNWZhIiBzdHJva2Utd2lkdGg9IjIuNSIgc3Ryb2tlLWRhc2hhcnJheT0iMTAgNCIvPgo8dGV4dCB4PSIxMjMiIHk9IjQwNiI+UGxhbm5pbmcgbmF0aXZlIGJhY2tlbmQ8L3RleHQ+CjwvZz48L3N2Zz4K" alt="Azure Container Registry image storage and transfer · Retained image data: monthly service charges by Retained image 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.

| Retained image data (GiB-month) | Origin | Target scenario | Target | Difference |
| -: | -: | - | -: | -: |
| 0 | 104.6 | Planning native backend | 90 | -14.6 |
| 10 | 105.6 | Planning native backend | 91.1 | -14.5 |
| 100 | 114.6 | Planning native backend | 101 | -13.6 |
| 1000 | 204.6 | Planning native backend | 200 | -4.6 |
| 10000 | 1104.6 | Planning native backend | 1190 | 85.4 |
| 100000 | 10104.6 | Planning native backend | 11090 | 985.4 |

**Curve assumptions**

| Target scenario | Assumption | Value | Unit |
| - | - | -: | - |
| Planning native backend | Origin price guess · Retained container image data | 0.1 | USD/GiB-month |
| Planning native backend | Origin price guess · Selected billable image transfer | 0.09 | USD/GiB |
| Planning native backend | Origin price guess · Image manifest and layer read requests | 0 | USD/Requests |
| Planning native backend | Origin price guess · Image upload and manifest write requests | 0 | USD/Requests |
| Planning native backend | Origin price guess · Allocated registry service tier | 0.02 | USD/registry-hour |
| Planning native backend | Target / origin retained image bytes | 1.1 | multiplier |
| Planning native backend | Target reads per source read | 1 | operations/read |
| Planning native backend | Target writes per source write | 1.1 | operations/write |
| Planning native backend | Target / origin billable image transfer | 1 | multiplier |
| Planning native backend | Target price guess · read | 0 | USD/read |
| Planning native backend | Target price guess · write | 0 | USD/write |
| Planning native backend | Target price guess · provider operation | 0 | USD/provider operation |
| Planning native backend | Target price guess · GiB-month | 0.1 | 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 |

* Only the selected native meter varies; other usage quantities and assumptions retain their displayed 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.
* Unit prices and capacity coefficients are editable authored planning guesses, not verified provider tariffs or measured capacity.
* The origin is the exact registered azure::1.0.0::container-registry identity. Future aliases and renamed provider products require explicit registry and model updates.
* Stored image data, selected transfer bytes and read/write requests are independent source meters. Requests never create inferred image bytes or registry instances.
* Zero-rate API meters retain physical request quantities; they do not establish that all provider features are free.
* These reverse-cloud directions can be designed rather than delivered. A cost comparison does not establish an implemented adapter.
* The source registry tier is independently allocated in registry-hours. The target tariff must declare whether it has its own tier minimum.
* All target rates are editable authored planning guesses, not verified current list prices, customer discounts or benchmark evidence.
* Artifact storage and selected transferred bytes are priced independently; registry API calls are not image-pull bytes. Fixed premium registry tiers require separate allocation.

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

Excluded costs and workload features:

* Image scanning, signing, build minutes, vulnerability feeds, geo-replication, regional cache services, private endpoints and network routes outside the selected scope.
* Provider free storage, included tier allowances, volume discounts, architecture-specific image inflation and one-time cross-cloud migration.
* 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-3054e044891d70f213cc5452ee12aa5351510ade` / `2026-10-18.planning.1`. Curve: `workload-1`.

### Azure Container Registry image storage and transfer · Selected image transfer per month

**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+Cjx0aXRsZSBpZD0idGl0bGUiPkF6dXJlIENvbnRhaW5lciBSZWdpc3RyeSBpbWFnZSBzdG9yYWdlIGFuZCB0cmFuc2ZlciDCtyBTZWxlY3RlZCBpbWFnZSB0cmFuc2ZlciBwZXIgbW9udGg8L3RpdGxlPgo8ZGVzYyBpZD0iZGVzYyI+UGxhbm5pbmcgZXN0aW1hdGVzIGluIFVTRCBieSBTZWxlY3RlZCBpbWFnZSB0cmFuc2ZlciBwZXIgbW9udGguIFdvcmtsb2FkIGF4aXM6IGxvZ2FyaXRobWljIHBvc2l0aXZlIHZhbHVlczsgemVybyBzaG93biBzZXBhcmF0ZWx5LiBDb3N0IGF4aXM6IGxvZ2FyaXRobWljIHBvc2l0aXZlIHZhbHVlcy4gRXhhY3QgdmFsdWVzLCBhc3N1bXB0aW9ucyBhbmQgZXhjbHVzaW9ucyBhcHBlYXIgaW4gdGhlIGFkamFjZW50IHRhYmxlIGFuZCB0ZXh0LiBBZGFwdGVyIGhvc3RpbmcgYW5kIFRlbnNvcjkgZmVlcyBhcmUgZXhjbHVkZWQuPC9kZXNjPgo8cmVjdCB3aWR0aD0iODYwIiBoZWlnaHQ9IjEwMCUiIGZpbGw9IiNmZmZmZmYiLz4KPGcgZm9udC1mYW1pbHk9InN5c3RlbS11aSxzYW5zLXNlcmlmIiBmb250LXNpemU9IjEzIiBmaWxsPSIjMWYyOTM3Ij4KPHRleHQgeD0iODQiIHk9IjI2IiBmb250LXNpemU9IjE3IiBmb250LXdlaWdodD0iNjAwIj5BenVyZSBDb250YWluZXIgUmVnaXN0cnkgaW1hZ2Ugc3RvcmFnZSBhbmQgdHJhbnNmZXIgwrcgU2VsZWN0ZWQgaW1hZ2UgdHJhbnNmZXIgcGVyIG1vbnRoPC90ZXh0Pgo8dGV4dCB4PSI4NCIgeT0iNDciPk1vbnRobHkgc2VydmljZSBjaGFyZ2VzIChVU0Q7IGxvZ2FyaXRobWljIGNvc3QgYXhpcyk8L3RleHQ+CjxsaW5lIHgxPSI4NCIgeDI9Ijc5OCIgeTE9IjI5MC4wIiB5Mj0iMjkwLjAiIHN0cm9rZT0iI2U1ZTdlYiIvPgo8dGV4dCB4PSI3NiIgeT0iMjk0LjAiIHRleHQtYW5jaG9yPSJlbmQiPjEwPC90ZXh0Pgo8bGluZSB4MT0iODQiIHgyPSI3OTgiIHkxPSIyMzIuNSIgeTI9IjIzMi41IiBzdHJva2U9IiNlNWU3ZWIiLz4KPHRleHQgeD0iNzYiIHk9IjIzNi41IiB0ZXh0LWFuY2hvcj0iZW5kIj4xMDA8L3RleHQ+CjxsaW5lIHgxPSI4NCIgeDI9Ijc5OCIgeTE9IjE3NS4wIiB5Mj0iMTc1LjAiIHN0cm9rZT0iI2U1ZTdlYiIvPgo8dGV4dCB4PSI3NiIgeT0iMTc5LjAiIHRleHQtYW5jaG9yPSJlbmQiPjEwMDA8L3RleHQ+CjxsaW5lIHgxPSI4NCIgeDI9Ijc5OCIgeTE9IjExNy41IiB5Mj0iMTE3LjUiIHN0cm9rZT0iI2U1ZTdlYiIvPgo8dGV4dCB4PSI3NiIgeT0iMTIxLjUiIHRleHQtYW5jaG9yPSJlbmQiPjEwMDAwPC90ZXh0Pgo8bGluZSB4MT0iODQiIHgyPSI3OTgiIHkxPSI2MC4wIiB5Mj0iNjAuMCIgc3Ryb2tlPSIjZTVlN2ViIi8+Cjx0ZXh0IHg9Ijc2IiB5PSI2NC4wIiB0ZXh0LWFuY2hvcj0iZW5kIj4xMDAwMDA8L3RleHQ+CjxsaW5lIHgxPSI4NCIgeDI9Ijg0IiB5MT0iNjAiIHkyPSIyOTAiIHN0cm9rZT0iIzFmMjkzNyIvPgo8bGluZSB4MT0iODQiIHgyPSI4NCIgeTE9IjI5MCIgeTI9IjI5NSIgc3Ryb2tlPSIjMWYyOTM3Ii8+Cjx0ZXh0IHg9Ijg0IiB5PSIzMTEiIHRleHQtYW5jaG9yPSJtaWRkbGUiIGRhdGEtYXhpcy1sYWJlbD0idHJ1ZSI+MDwvdGV4dD4KPGxpbmUgeDE9IjE1NiIgeDI9IjE1NiIgeTE9IjI5MCIgeTI9IjI5NSIgc3Ryb2tlPSIjMWYyOTM3Ii8+Cjx0ZXh0IHg9IjE1NiIgeT0iMzExIiB0ZXh0LWFuY2hvcj0ibWlkZGxlIiBkYXRhLWF4aXMtbGFiZWw9InRydWUiPjEwMDwvdGV4dD4KPGxpbmUgeDE9IjMxNi41IiB4Mj0iMzE2LjUiIHkxPSIyOTAiIHkyPSIyOTUiIHN0cm9rZT0iIzFmMjkzNyIvPgo8dGV4dCB4PSIzMTYuNSIgeT0iMzExIiB0ZXh0LWFuY2hvcj0ibWlkZGxlIiBkYXRhLWF4aXMtbGFiZWw9InRydWUiPjEwMDA8L3RleHQ+CjxsaW5lIHgxPSI0NzciIHgyPSI0NzciIHkxPSIyOTAiIHkyPSIyOTUiIHN0cm9rZT0iIzFmMjkzNyIvPgo8dGV4dCB4PSI0NzciIHk9IjMxMSIgdGV4dC1hbmNob3I9Im1pZGRsZSIgZGF0YS1heGlzLWxhYmVsPSJ0cnVlIj4xMDAwMDwvdGV4dD4KPGxpbmUgeDE9IjYzNy41IiB4Mj0iNjM3LjUiIHkxPSIyOTAiIHkyPSIyOTUiIHN0cm9rZT0iIzFmMjkzNyIvPgo8dGV4dCB4PSI2MzcuNSIgeT0iMzExIiB0ZXh0LWFuY2hvcj0ibWlkZGxlIiBkYXRhLWF4aXMtbGFiZWw9InRydWUiPjEwMDAwMDwvdGV4dD4KPGxpbmUgeDE9Ijc5OCIgeDI9Ijc5OCIgeTE9IjI5MCIgeTI9IjI5NSIgc3Ryb2tlPSIjMWYyOTM3Ii8+Cjx0ZXh0IHg9Ijc5OCIgeT0iMzExIiB0ZXh0LWFuY2hvcj0ibWlkZGxlIiBkYXRhLWF4aXMtbGFiZWw9InRydWUiPjEwMDAwMDA8L3RleHQ+CjxwYXRoIGQ9Ik0xMTYgMjg3IGw1IDYgbTIgLTYgbDUgNiIgc3Ryb2tlPSIjMWYyOTM3IiBmaWxsPSJub25lIi8+Cjx0ZXh0IHg9IjQ0MSIgeT0iMzM2IiB0ZXh0LWFuY2hvcj0ibWlkZGxlIj5TZWxlY3RlZCBpbWFnZSB0cmFuc2ZlciBwZXIgbW9udGggKEdpQi9tb250aCk8L3RleHQ+Cjx0ZXh0IHg9Ijg0IiB5PSIzNTgiPldvcmtsb2FkIGF4aXM6IGxvZ2FyaXRobWljIHBvc2l0aXZlIHZhbHVlczsgemVybyBzaG93biBzZXBhcmF0ZWx5LjwvdGV4dD4KPHBvbHlsaW5lIHBvaW50cz0iODQsMjY3LjUyMSAxNTYsMjU5LjczNSAzMTYuNSwyMjkuMDk3IDQ3NywxNzYuOTU4IDYzNy41LDEyMC4wNjMgNzk4LDYyLjYyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMWYyOTM3IiBzdHJva2Utd2lkdGg9IjIuNSIgc3Ryb2tlLWRhc2hhcnJheT0iNiA0Ii8+CjxjaXJjbGUgZGF0YS1zZXJpZXM9Im9yaWdpbiIgZGF0YS1heGlzPSIwIiBjeD0iODQiIGN5PSIyNjcuNTIxIiByPSIzLjUiIGZpbGw9IiNmZmZmZmYiIHN0cm9rZT0iIzFmMjkzNyIgc3Ryb2tlLXdpZHRoPSIyIi8+CjxjaXJjbGUgZGF0YS1zZXJpZXM9Im9yaWdpbiIgZGF0YS1heGlzPSIxMDAiIGN4PSIxNTYiIGN5PSIyNTkuNzM1IiByPSIzLjUiIGZpbGw9IiNmZmZmZmYiIHN0cm9rZT0iIzFmMjkzNyIgc3Ryb2tlLXdpZHRoPSIyIi8+CjxjaXJjbGUgZGF0YS1zZXJpZXM9Im9yaWdpbiIgZGF0YS1heGlzPSIxMDAwIiBjeD0iMzE2LjUiIGN5PSIyMjkuMDk3IiByPSIzLjUiIGZpbGw9IiNmZmZmZmYiIHN0cm9rZT0iIzFmMjkzNyIgc3Ryb2tlLXdpZHRoPSIyIi8+CjxjaXJjbGUgZGF0YS1zZXJpZXM9Im9yaWdpbiIgZGF0YS1heGlzPSIxMDAwMCIgY3g9IjQ3NyIgY3k9IjE3Ni45NTgiIHI9IjMuNSIgZmlsbD0iI2ZmZmZmZiIgc3Ryb2tlPSIjMWYyOTM3IiBzdHJva2Utd2lkdGg9IjIiLz4KPGNpcmNsZSBkYXRhLXNlcmllcz0ib3JpZ2luIiBkYXRhLWF4aXM9IjEwMDAwMCIgY3g9IjYzNy41IiBjeT0iMTIwLjA2MyIgcj0iMy41IiBmaWxsPSIjZmZmZmZmIiBzdHJva2U9IiMxZjI5MzciIHN0cm9rZS13aWR0aD0iMiIvPgo8Y2lyY2xlIGRhdGEtc2VyaWVzPSJvcmlnaW4iIGRhdGEtYXhpcz0iMTAwMDAwMCIgY3g9Ijc5OCIgY3k9IjYyLjYyNCIgcj0iMy41IiBmaWxsPSIjZmZmZmZmIiBzdHJva2U9IiMxZjI5MzciIHN0cm9rZS13aWR0aD0iMiIvPgo8bGluZSB4MT0iODQiIHgyPSIxMTQiIHkxPSIzODAiIHkyPSIzODAiIHN0cm9rZT0iIzFmMjkzNyIgc3Ryb2tlLXdpZHRoPSIyLjUiIHN0cm9rZS1kYXNoYXJyYXk9IjYgNCIvPgo8dGV4dCB4PSIxMjMiIHk9IjM4NCI+T3JpZ2luIHNlcnZpY2U8L3RleHQ+Cjxwb2x5bGluZSBkYXRhLXNlcmllcz0ibmF0aXZlIiBwb2ludHM9Ijg0LDI4Ny42MiAxNTYsMjcyLjY5MSAzMTYuNSwyMzIuMjUyIDQ3NywxNzcuMzI4IDYzNy41LDEyMC4xMDEgNzk4LDYyLjYyOCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMWQ0ZWQ4IiBzdHJva2Utd2lkdGg9IjIuNSIgc3Ryb2tlLWRhc2hhcnJheT0iMTAgNCIvPgo8Y2lyY2xlIGRhdGEtc2VyaWVzPSJuYXRpdmUiIGRhdGEtYXhpcz0iMCIgY3g9Ijg0IiBjeT0iMjg3LjYyIiByPSI0IiBmaWxsPSIjZmZmZmZmIiBzdHJva2U9IiMxZDRlZDgiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWRhc2hhcnJheT0iMTAgNCIvPgo8Y2lyY2xlIGRhdGEtc2VyaWVzPSJuYXRpdmUiIGRhdGEtYXhpcz0iMTAwIiBjeD0iMTU2IiBjeT0iMjcyLjY5MSIgcj0iNCIgZmlsbD0iI2ZmZmZmZiIgc3Ryb2tlPSIjMWQ0ZWQ4IiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1kYXNoYXJyYXk9IjEwIDQiLz4KPGNpcmNsZSBkYXRhLXNlcmllcz0ibmF0aXZlIiBkYXRhLWF4aXM9IjEwMDAiIGN4PSIzMTYuNSIgY3k9IjIzMi4yNTIiIHI9IjQiIGZpbGw9IiNmZmZmZmYiIHN0cm9rZT0iIzFkNGVkOCIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtZGFzaGFycmF5PSIxMCA0Ii8+CjxjaXJjbGUgZGF0YS1zZXJpZXM9Im5hdGl2ZSIgZGF0YS1heGlzPSIxMDAwMCIgY3g9IjQ3NyIgY3k9IjE3Ny4zMjgiIHI9IjQiIGZpbGw9IiNmZmZmZmYiIHN0cm9rZT0iIzFkNGVkOCIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtZGFzaGFycmF5PSIxMCA0Ii8+CjxjaXJjbGUgZGF0YS1zZXJpZXM9Im5hdGl2ZSIgZGF0YS1heGlzPSIxMDAwMDAiIGN4PSI2MzcuNSIgY3k9IjEyMC4xMDEiIHI9IjQiIGZpbGw9IiNmZmZmZmYiIHN0cm9rZT0iIzFkNGVkOCIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtZGFzaGFycmF5PSIxMCA0Ii8+CjxjaXJjbGUgZGF0YS1zZXJpZXM9Im5hdGl2ZSIgZGF0YS1heGlzPSIxMDAwMDAwIiBjeD0iNzk4IiBjeT0iNjIuNjI4IiByPSI0IiBmaWxsPSIjZmZmZmZmIiBzdHJva2U9IiMxZDRlZDgiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWRhc2hhcnJheT0iMTAgNCIvPgo8bGluZSB4MT0iODQiIHgyPSIxMTQiIHkxPSI0MDIiIHkyPSI0MDIiIHN0cm9rZT0iIzFkNGVkOCIgc3Ryb2tlLXdpZHRoPSIyLjUiIHN0cm9rZS1kYXNoYXJyYXk9IjEwIDQiLz4KPHRleHQgeD0iMTIzIiB5PSI0MDYiPlBsYW5uaW5nIG5hdGl2ZSBiYWNrZW5kPC90ZXh0Pgo8L2c+PC9zdmc+Cg==" alt="Azure Container Registry image storage and transfer · Selected image transfer per month: monthly service charges by Selected image transfer per month. Exact values are in the following table." />

  <img className="t9-diagram-dark" src="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA4NjAgNDI2IiByb2xlPSJpbWciIGFyaWEtbGFiZWxsZWRieT0idGl0bGUgZGVzYyI+Cjx0aXRsZSBpZD0idGl0bGUiPkF6dXJlIENvbnRhaW5lciBSZWdpc3RyeSBpbWFnZSBzdG9yYWdlIGFuZCB0cmFuc2ZlciDCtyBTZWxlY3RlZCBpbWFnZSB0cmFuc2ZlciBwZXIgbW9udGg8L3RpdGxlPgo8ZGVzYyBpZD0iZGVzYyI+UGxhbm5pbmcgZXN0aW1hdGVzIGluIFVTRCBieSBTZWxlY3RlZCBpbWFnZSB0cmFuc2ZlciBwZXIgbW9udGguIFdvcmtsb2FkIGF4aXM6IGxvZ2FyaXRobWljIHBvc2l0aXZlIHZhbHVlczsgemVybyBzaG93biBzZXBhcmF0ZWx5LiBDb3N0IGF4aXM6IGxvZ2FyaXRobWljIHBvc2l0aXZlIHZhbHVlcy4gRXhhY3QgdmFsdWVzLCBhc3N1bXB0aW9ucyBhbmQgZXhjbHVzaW9ucyBhcHBlYXIgaW4gdGhlIGFkamFjZW50IHRhYmxlIGFuZCB0ZXh0LiBBZGFwdGVyIGhvc3RpbmcgYW5kIFRlbnNvcjkgZmVlcyBhcmUgZXhjbHVkZWQuPC9kZXNjPgo8cmVjdCB3aWR0aD0iODYwIiBoZWlnaHQ9IjEwMCUiIGZpbGw9IiMxMTE4MjciLz4KPGcgZm9udC1mYW1pbHk9InN5c3RlbS11aSxzYW5zLXNlcmlmIiBmb250LXNpemU9IjEzIiBmaWxsPSIjZTVlN2ViIj4KPHRleHQgeD0iODQiIHk9IjI2IiBmb250LXNpemU9IjE3IiBmb250LXdlaWdodD0iNjAwIj5BenVyZSBDb250YWluZXIgUmVnaXN0cnkgaW1hZ2Ugc3RvcmFnZSBhbmQgdHJhbnNmZXIgwrcgU2VsZWN0ZWQgaW1hZ2UgdHJhbnNmZXIgcGVyIG1vbnRoPC90ZXh0Pgo8dGV4dCB4PSI4NCIgeT0iNDciPk1vbnRobHkgc2VydmljZSBjaGFyZ2VzIChVU0Q7IGxvZ2FyaXRobWljIGNvc3QgYXhpcyk8L3RleHQ+CjxsaW5lIHgxPSI4NCIgeDI9Ijc5OCIgeTE9IjI5MC4wIiB5Mj0iMjkwLjAiIHN0cm9rZT0iIzM3NDE1MSIvPgo8dGV4dCB4PSI3NiIgeT0iMjk0LjAiIHRleHQtYW5jaG9yPSJlbmQiPjEwPC90ZXh0Pgo8bGluZSB4MT0iODQiIHgyPSI3OTgiIHkxPSIyMzIuNSIgeTI9IjIzMi41IiBzdHJva2U9IiMzNzQxNTEiLz4KPHRleHQgeD0iNzYiIHk9IjIzNi41IiB0ZXh0LWFuY2hvcj0iZW5kIj4xMDA8L3RleHQ+CjxsaW5lIHgxPSI4NCIgeDI9Ijc5OCIgeTE9IjE3NS4wIiB5Mj0iMTc1LjAiIHN0cm9rZT0iIzM3NDE1MSIvPgo8dGV4dCB4PSI3NiIgeT0iMTc5LjAiIHRleHQtYW5jaG9yPSJlbmQiPjEwMDA8L3RleHQ+CjxsaW5lIHgxPSI4NCIgeDI9Ijc5OCIgeTE9IjExNy41IiB5Mj0iMTE3LjUiIHN0cm9rZT0iIzM3NDE1MSIvPgo8dGV4dCB4PSI3NiIgeT0iMTIxLjUiIHRleHQtYW5jaG9yPSJlbmQiPjEwMDAwPC90ZXh0Pgo8bGluZSB4MT0iODQiIHgyPSI3OTgiIHkxPSI2MC4wIiB5Mj0iNjAuMCIgc3Ryb2tlPSIjMzc0MTUxIi8+Cjx0ZXh0IHg9Ijc2IiB5PSI2NC4wIiB0ZXh0LWFuY2hvcj0iZW5kIj4xMDAwMDA8L3RleHQ+CjxsaW5lIHgxPSI4NCIgeDI9Ijg0IiB5MT0iNjAiIHkyPSIyOTAiIHN0cm9rZT0iI2U1ZTdlYiIvPgo8bGluZSB4MT0iODQiIHgyPSI4NCIgeTE9IjI5MCIgeTI9IjI5NSIgc3Ryb2tlPSIjZTVlN2ViIi8+Cjx0ZXh0IHg9Ijg0IiB5PSIzMTEiIHRleHQtYW5jaG9yPSJtaWRkbGUiIGRhdGEtYXhpcy1sYWJlbD0idHJ1ZSI+MDwvdGV4dD4KPGxpbmUgeDE9IjE1NiIgeDI9IjE1NiIgeTE9IjI5MCIgeTI9IjI5NSIgc3Ryb2tlPSIjZTVlN2ViIi8+Cjx0ZXh0IHg9IjE1NiIgeT0iMzExIiB0ZXh0LWFuY2hvcj0ibWlkZGxlIiBkYXRhLWF4aXMtbGFiZWw9InRydWUiPjEwMDwvdGV4dD4KPGxpbmUgeDE9IjMxNi41IiB4Mj0iMzE2LjUiIHkxPSIyOTAiIHkyPSIyOTUiIHN0cm9rZT0iI2U1ZTdlYiIvPgo8dGV4dCB4PSIzMTYuNSIgeT0iMzExIiB0ZXh0LWFuY2hvcj0ibWlkZGxlIiBkYXRhLWF4aXMtbGFiZWw9InRydWUiPjEwMDA8L3RleHQ+CjxsaW5lIHgxPSI0NzciIHgyPSI0NzciIHkxPSIyOTAiIHkyPSIyOTUiIHN0cm9rZT0iI2U1ZTdlYiIvPgo8dGV4dCB4PSI0NzciIHk9IjMxMSIgdGV4dC1hbmNob3I9Im1pZGRsZSIgZGF0YS1heGlzLWxhYmVsPSJ0cnVlIj4xMDAwMDwvdGV4dD4KPGxpbmUgeDE9IjYzNy41IiB4Mj0iNjM3LjUiIHkxPSIyOTAiIHkyPSIyOTUiIHN0cm9rZT0iI2U1ZTdlYiIvPgo8dGV4dCB4PSI2MzcuNSIgeT0iMzExIiB0ZXh0LWFuY2hvcj0ibWlkZGxlIiBkYXRhLWF4aXMtbGFiZWw9InRydWUiPjEwMDAwMDwvdGV4dD4KPGxpbmUgeDE9Ijc5OCIgeDI9Ijc5OCIgeTE9IjI5MCIgeTI9IjI5NSIgc3Ryb2tlPSIjZTVlN2ViIi8+Cjx0ZXh0IHg9Ijc5OCIgeT0iMzExIiB0ZXh0LWFuY2hvcj0ibWlkZGxlIiBkYXRhLWF4aXMtbGFiZWw9InRydWUiPjEwMDAwMDA8L3RleHQ+CjxwYXRoIGQ9Ik0xMTYgMjg3IGw1IDYgbTIgLTYgbDUgNiIgc3Ryb2tlPSIjZTVlN2ViIiBmaWxsPSJub25lIi8+Cjx0ZXh0IHg9IjQ0MSIgeT0iMzM2IiB0ZXh0LWFuY2hvcj0ibWlkZGxlIj5TZWxlY3RlZCBpbWFnZSB0cmFuc2ZlciBwZXIgbW9udGggKEdpQi9tb250aCk8L3RleHQ+Cjx0ZXh0IHg9Ijg0IiB5PSIzNTgiPldvcmtsb2FkIGF4aXM6IGxvZ2FyaXRobWljIHBvc2l0aXZlIHZhbHVlczsgemVybyBzaG93biBzZXBhcmF0ZWx5LjwvdGV4dD4KPHBvbHlsaW5lIHBvaW50cz0iODQsMjY3LjUyMSAxNTYsMjU5LjczNSAzMTYuNSwyMjkuMDk3IDQ3NywxNzYuOTU4IDYzNy41LDEyMC4wNjMgNzk4LDYyLjYyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjZTVlN2ViIiBzdHJva2Utd2lkdGg9IjIuNSIgc3Ryb2tlLWRhc2hhcnJheT0iNiA0Ii8+CjxjaXJjbGUgZGF0YS1zZXJpZXM9Im9yaWdpbiIgZGF0YS1heGlzPSIwIiBjeD0iODQiIGN5PSIyNjcuNTIxIiByPSIzLjUiIGZpbGw9IiMxMTE4MjciIHN0cm9rZT0iI2U1ZTdlYiIgc3Ryb2tlLXdpZHRoPSIyIi8+CjxjaXJjbGUgZGF0YS1zZXJpZXM9Im9yaWdpbiIgZGF0YS1heGlzPSIxMDAiIGN4PSIxNTYiIGN5PSIyNTkuNzM1IiByPSIzLjUiIGZpbGw9IiMxMTE4MjciIHN0cm9rZT0iI2U1ZTdlYiIgc3Ryb2tlLXdpZHRoPSIyIi8+CjxjaXJjbGUgZGF0YS1zZXJpZXM9Im9yaWdpbiIgZGF0YS1heGlzPSIxMDAwIiBjeD0iMzE2LjUiIGN5PSIyMjkuMDk3IiByPSIzLjUiIGZpbGw9IiMxMTE4MjciIHN0cm9rZT0iI2U1ZTdlYiIgc3Ryb2tlLXdpZHRoPSIyIi8+CjxjaXJjbGUgZGF0YS1zZXJpZXM9Im9yaWdpbiIgZGF0YS1heGlzPSIxMDAwMCIgY3g9IjQ3NyIgY3k9IjE3Ni45NTgiIHI9IjMuNSIgZmlsbD0iIzExMTgyNyIgc3Ryb2tlPSIjZTVlN2ViIiBzdHJva2Utd2lkdGg9IjIiLz4KPGNpcmNsZSBkYXRhLXNlcmllcz0ib3JpZ2luIiBkYXRhLWF4aXM9IjEwMDAwMCIgY3g9IjYzNy41IiBjeT0iMTIwLjA2MyIgcj0iMy41IiBmaWxsPSIjMTExODI3IiBzdHJva2U9IiNlNWU3ZWIiIHN0cm9rZS13aWR0aD0iMiIvPgo8Y2lyY2xlIGRhdGEtc2VyaWVzPSJvcmlnaW4iIGRhdGEtYXhpcz0iMTAwMDAwMCIgY3g9Ijc5OCIgY3k9IjYyLjYyNCIgcj0iMy41IiBmaWxsPSIjMTExODI3IiBzdHJva2U9IiNlNWU3ZWIiIHN0cm9rZS13aWR0aD0iMiIvPgo8bGluZSB4MT0iODQiIHgyPSIxMTQiIHkxPSIzODAiIHkyPSIzODAiIHN0cm9rZT0iI2U1ZTdlYiIgc3Ryb2tlLXdpZHRoPSIyLjUiIHN0cm9rZS1kYXNoYXJyYXk9IjYgNCIvPgo8dGV4dCB4PSIxMjMiIHk9IjM4NCI+T3JpZ2luIHNlcnZpY2U8L3RleHQ+Cjxwb2x5bGluZSBkYXRhLXNlcmllcz0ibmF0aXZlIiBwb2ludHM9Ijg0LDI4Ny42MiAxNTYsMjcyLjY5MSAzMTYuNSwyMzIuMjUyIDQ3NywxNzcuMzI4IDYzNy41LDEyMC4xMDEgNzk4LDYyLjYyOCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjNjBhNWZhIiBzdHJva2Utd2lkdGg9IjIuNSIgc3Ryb2tlLWRhc2hhcnJheT0iMTAgNCIvPgo8Y2lyY2xlIGRhdGEtc2VyaWVzPSJuYXRpdmUiIGRhdGEtYXhpcz0iMCIgY3g9Ijg0IiBjeT0iMjg3LjYyIiByPSI0IiBmaWxsPSIjMTExODI3IiBzdHJva2U9IiM2MGE1ZmEiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWRhc2hhcnJheT0iMTAgNCIvPgo8Y2lyY2xlIGRhdGEtc2VyaWVzPSJuYXRpdmUiIGRhdGEtYXhpcz0iMTAwIiBjeD0iMTU2IiBjeT0iMjcyLjY5MSIgcj0iNCIgZmlsbD0iIzExMTgyNyIgc3Ryb2tlPSIjNjBhNWZhIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1kYXNoYXJyYXk9IjEwIDQiLz4KPGNpcmNsZSBkYXRhLXNlcmllcz0ibmF0aXZlIiBkYXRhLWF4aXM9IjEwMDAiIGN4PSIzMTYuNSIgY3k9IjIzMi4yNTIiIHI9IjQiIGZpbGw9IiMxMTE4MjciIHN0cm9rZT0iIzYwYTVmYSIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtZGFzaGFycmF5PSIxMCA0Ii8+CjxjaXJjbGUgZGF0YS1zZXJpZXM9Im5hdGl2ZSIgZGF0YS1heGlzPSIxMDAwMCIgY3g9IjQ3NyIgY3k9IjE3Ny4zMjgiIHI9IjQiIGZpbGw9IiMxMTE4MjciIHN0cm9rZT0iIzYwYTVmYSIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtZGFzaGFycmF5PSIxMCA0Ii8+CjxjaXJjbGUgZGF0YS1zZXJpZXM9Im5hdGl2ZSIgZGF0YS1heGlzPSIxMDAwMDAiIGN4PSI2MzcuNSIgY3k9IjEyMC4xMDEiIHI9IjQiIGZpbGw9IiMxMTE4MjciIHN0cm9rZT0iIzYwYTVmYSIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtZGFzaGFycmF5PSIxMCA0Ii8+CjxjaXJjbGUgZGF0YS1zZXJpZXM9Im5hdGl2ZSIgZGF0YS1heGlzPSIxMDAwMDAwIiBjeD0iNzk4IiBjeT0iNjIuNjI4IiByPSI0IiBmaWxsPSIjMTExODI3IiBzdHJva2U9IiM2MGE1ZmEiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWRhc2hhcnJheT0iMTAgNCIvPgo8bGluZSB4MT0iODQiIHgyPSIxMTQiIHkxPSI0MDIiIHkyPSI0MDIiIHN0cm9rZT0iIzYwYTVmYSIgc3Ryb2tlLXdpZHRoPSIyLjUiIHN0cm9rZS1kYXNoYXJyYXk9IjEwIDQiLz4KPHRleHQgeD0iMTIzIiB5PSI0MDYiPlBsYW5uaW5nIG5hdGl2ZSBiYWNrZW5kPC90ZXh0Pgo8L2c+PC9zdmc+Cg==" alt="Azure Container Registry image storage and transfer · Selected image transfer per month: monthly service charges by Selected image transfer per month. 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.

| Selected image transfer per month (GiB/month) | Origin | Target scenario | Target | Difference |
| -: | -: | - | -: | -: |
| 0 | 24.6 | Planning native backend | 11 | -13.6 |
| 100 | 33.6 | Planning native backend | 20 | -13.6 |
| 1000 | 114.6 | Planning native backend | 101 | -13.6 |
| 10000 | 924.6 | Planning native backend | 911 | -13.6 |
| 100000 | 9024.6 | Planning native backend | 9011 | -13.6 |
| 1000000 | 90024.6 | Planning native backend | 90011 | -13.6 |

**Curve assumptions**

| Target scenario | Assumption | Value | Unit |
| - | - | -: | - |
| Planning native backend | Origin price guess · Retained container image data | 0.1 | USD/GiB-month |
| Planning native backend | Origin price guess · Selected billable image transfer | 0.09 | USD/GiB |
| Planning native backend | Origin price guess · Image manifest and layer read requests | 0 | USD/Requests |
| Planning native backend | Origin price guess · Image upload and manifest write requests | 0 | USD/Requests |
| Planning native backend | Origin price guess · Allocated registry service tier | 0.02 | USD/registry-hour |
| Planning native backend | Target / origin retained image bytes | 1.1 | multiplier |
| Planning native backend | Target reads per source read | 1 | operations/read |
| Planning native backend | Target writes per source write | 1.1 | operations/write |
| Planning native backend | Target / origin billable image transfer | 1 | multiplier |
| Planning native backend | Target price guess · read | 0 | USD/read |
| Planning native backend | Target price guess · write | 0 | USD/write |
| Planning native backend | Target price guess · provider operation | 0 | USD/provider operation |
| Planning native backend | Target price guess · GiB-month | 0.1 | 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 |

* Only the selected native meter varies; other usage quantities and assumptions retain their displayed 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.
* Unit prices and capacity coefficients are editable authored planning guesses, not verified provider tariffs or measured capacity.
* The origin is the exact registered azure::1.0.0::container-registry identity. Future aliases and renamed provider products require explicit registry and model updates.
* Stored image data, selected transfer bytes and read/write requests are independent source meters. Requests never create inferred image bytes or registry instances.
* Zero-rate API meters retain physical request quantities; they do not establish that all provider features are free.
* These reverse-cloud directions can be designed rather than delivered. A cost comparison does not establish an implemented adapter.
* The source registry tier is independently allocated in registry-hours. The target tariff must declare whether it has its own tier minimum.
* All target rates are editable authored planning guesses, not verified current list prices, customer discounts or benchmark evidence.
* Artifact storage and selected transferred bytes are priced independently; registry API calls are not image-pull bytes. Fixed premium registry tiers require separate allocation.

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

Excluded costs and workload features:

* Image scanning, signing, build minutes, vulnerability feeds, geo-replication, regional cache services, private endpoints and network routes outside the selected scope.
* Provider free storage, included tier allowances, volume discounts, architecture-specific image inflation and one-time cross-cloud migration.
* 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-3054e044891d70f213cc5452ee12aa5351510ade` / `2026-10-18.planning.1`. Curve: `workload-2`.

### Azure Container Registry image storage and transfer · Image read requests per second

**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+Cjx0aXRsZSBpZD0idGl0bGUiPkF6dXJlIENvbnRhaW5lciBSZWdpc3RyeSBpbWFnZSBzdG9yYWdlIGFuZCB0cmFuc2ZlciDCtyBJbWFnZSByZWFkIHJlcXVlc3RzIHBlciBzZWNvbmQ8L3RpdGxlPgo8ZGVzYyBpZD0iZGVzYyI+UGxhbm5pbmcgZXN0aW1hdGVzIGluIFVTRCBieSBJbWFnZSByZWFkIHJlcXVlc3RzIHBlciBzZWNvbmQuIFdvcmtsb2FkIGF4aXM6IGxvZ2FyaXRobWljIHBvc2l0aXZlIHZhbHVlczsgemVybyBzaG93biBzZXBhcmF0ZWx5LiBDb3N0IGF4aXM6IGxvZ2FyaXRobWljIHBvc2l0aXZlIHZhbHVlcy4gRXhhY3QgdmFsdWVzLCBhc3N1bXB0aW9ucyBhbmQgZXhjbHVzaW9ucyBhcHBlYXIgaW4gdGhlIGFkamFjZW50IHRhYmxlIGFuZCB0ZXh0LiBBZGFwdGVyIGhvc3RpbmcgYW5kIFRlbnNvcjkgZmVlcyBhcmUgZXhjbHVkZWQuPC9kZXNjPgo8cmVjdCB3aWR0aD0iODYwIiBoZWlnaHQ9IjEwMCUiIGZpbGw9IiNmZmZmZmYiLz4KPGcgZm9udC1mYW1pbHk9InN5c3RlbS11aSxzYW5zLXNlcmlmIiBmb250LXNpemU9IjEzIiBmaWxsPSIjMWYyOTM3Ij4KPHRleHQgeD0iODQiIHk9IjI2IiBmb250LXNpemU9IjE3IiBmb250LXdlaWdodD0iNjAwIj5BenVyZSBDb250YWluZXIgUmVnaXN0cnkgaW1hZ2Ugc3RvcmFnZSBhbmQgdHJhbnNmZXIgwrcgSW1hZ2UgcmVhZCByZXF1ZXN0cyBwZXIgc2Vjb25kPC90ZXh0Pgo8dGV4dCB4PSI4NCIgeT0iNDciPk1vbnRobHkgc2VydmljZSBjaGFyZ2VzIChVU0Q7IGxvZ2FyaXRobWljIGNvc3QgYXhpcyk8L3RleHQ+CjxsaW5lIHgxPSI4NCIgeDI9Ijc5OCIgeTE9IjI5MC4wIiB5Mj0iMjkwLjAiIHN0cm9rZT0iI2U1ZTdlYiIvPgo8dGV4dCB4PSI3NiIgeT0iMjk0LjAiIHRleHQtYW5jaG9yPSJlbmQiPjEwMDwvdGV4dD4KPGxpbmUgeDE9Ijg0IiB4Mj0iNzk4IiB5MT0iNjAuMCIgeTI9IjYwLjAiIHN0cm9rZT0iI2U1ZTdlYiIvPgo8dGV4dCB4PSI3NiIgeT0iNjQuMCIgdGV4dC1hbmNob3I9ImVuZCI+MTAwMDwvdGV4dD4KPGxpbmUgeDE9Ijg0IiB4Mj0iODQiIHkxPSI2MCIgeTI9IjI5MCIgc3Ryb2tlPSIjMWYyOTM3Ii8+CjxsaW5lIHgxPSI4NCIgeDI9Ijg0IiB5MT0iMjkwIiB5Mj0iMjk1IiBzdHJva2U9IiMxZjI5MzciLz4KPHRleHQgeD0iODQiIHk9IjMxMSIgdGV4dC1hbmNob3I9Im1pZGRsZSIgZGF0YS1heGlzLWxhYmVsPSJ0cnVlIj4wPC90ZXh0Pgo8bGluZSB4MT0iMTU2IiB4Mj0iMTU2IiB5MT0iMjkwIiB5Mj0iMjk1IiBzdHJva2U9IiMxZjI5MzciLz4KPHRleHQgeD0iMTU2IiB5PSIzMTEiIHRleHQtYW5jaG9yPSJtaWRkbGUiIGRhdGEtYXhpcy1sYWJlbD0idHJ1ZSI+MTwvdGV4dD4KPGxpbmUgeDE9IjMxNi41IiB4Mj0iMzE2LjUiIHkxPSIyOTAiIHkyPSIyOTUiIHN0cm9rZT0iIzFmMjkzNyIvPgo8dGV4dCB4PSIzMTYuNSIgeT0iMzExIiB0ZXh0LWFuY2hvcj0ibWlkZGxlIiBkYXRhLWF4aXMtbGFiZWw9InRydWUiPjEwPC90ZXh0Pgo8bGluZSB4MT0iNDc3IiB4Mj0iNDc3IiB5MT0iMjkwIiB5Mj0iMjk1IiBzdHJva2U9IiMxZjI5MzciLz4KPHRleHQgeD0iNDc3IiB5PSIzMTEiIHRleHQtYW5jaG9yPSJtaWRkbGUiIGRhdGEtYXhpcy1sYWJlbD0idHJ1ZSI+MTAwPC90ZXh0Pgo8bGluZSB4MT0iNjM3LjUiIHgyPSI2MzcuNSIgeTE9IjI5MCIgeTI9IjI5NSIgc3Ryb2tlPSIjMWYyOTM3Ii8+Cjx0ZXh0IHg9IjYzNy41IiB5PSIzMTEiIHRleHQtYW5jaG9yPSJtaWRkbGUiIGRhdGEtYXhpcy1sYWJlbD0idHJ1ZSI+MTAwMDwvdGV4dD4KPGxpbmUgeDE9Ijc5OCIgeDI9Ijc5OCIgeTE9IjI5MCIgeTI9IjI5NSIgc3Ryb2tlPSIjMWYyOTM3Ii8+Cjx0ZXh0IHg9Ijc5OCIgeT0iMzExIiB0ZXh0LWFuY2hvcj0ibWlkZGxlIiBkYXRhLWF4aXMtbGFiZWw9InRydWUiPjEwMDAwPC90ZXh0Pgo8cGF0aCBkPSJNMTE2IDI4NyBsNSA2IG0yIC02IGw1IDYiIHN0cm9rZT0iIzFmMjkzNyIgZmlsbD0ibm9uZSIvPgo8dGV4dCB4PSI0NDEiIHk9IjMzNiIgdGV4dC1hbmNob3I9Im1pZGRsZSI+SW1hZ2UgcmVhZCByZXF1ZXN0cyBwZXIgc2Vjb25kIChyZXF1ZXN0cy9zKTwvdGV4dD4KPHRleHQgeD0iODQiIHk9IjM1OCI+V29ya2xvYWQgYXhpczogbG9nYXJpdGhtaWMgcG9zaXRpdmUgdmFsdWVzOyB6ZXJvIHNob3duIHNlcGFyYXRlbHkuPC90ZXh0Pgo8cG9seWxpbmUgcG9pbnRzPSI4NCwyNzYuMzg4IDE1NiwyNzYuMzg4IDMxNi41LDI3Ni4zODggNDc3LDI3Ni4zODggNjM3LjUsMjc2LjM4OCA3OTgsMjc2LjM4OCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMWYyOTM3IiBzdHJva2Utd2lkdGg9IjIuNSIgc3Ryb2tlLWRhc2hhcnJheT0iNiA0Ii8+CjxjaXJjbGUgZGF0YS1zZXJpZXM9Im9yaWdpbiIgZGF0YS1heGlzPSIwIiBjeD0iODQiIGN5PSIyNzYuMzg4IiByPSIzLjUiIGZpbGw9IiNmZmZmZmYiIHN0cm9rZT0iIzFmMjkzNyIgc3Ryb2tlLXdpZHRoPSIyIi8+CjxjaXJjbGUgZGF0YS1zZXJpZXM9Im9yaWdpbiIgZGF0YS1heGlzPSIxIiBjeD0iMTU2IiBjeT0iMjc2LjM4OCIgcj0iMy41IiBmaWxsPSIjZmZmZmZmIiBzdHJva2U9IiMxZjI5MzciIHN0cm9rZS13aWR0aD0iMiIvPgo8Y2lyY2xlIGRhdGEtc2VyaWVzPSJvcmlnaW4iIGRhdGEtYXhpcz0iMTAiIGN4PSIzMTYuNSIgY3k9IjI3Ni4zODgiIHI9IjMuNSIgZmlsbD0iI2ZmZmZmZiIgc3Ryb2tlPSIjMWYyOTM3IiBzdHJva2Utd2lkdGg9IjIiLz4KPGNpcmNsZSBkYXRhLXNlcmllcz0ib3JpZ2luIiBkYXRhLWF4aXM9IjEwMCIgY3g9IjQ3NyIgY3k9IjI3Ni4zODgiIHI9IjMuNSIgZmlsbD0iI2ZmZmZmZiIgc3Ryb2tlPSIjMWYyOTM3IiBzdHJva2Utd2lkdGg9IjIiLz4KPGNpcmNsZSBkYXRhLXNlcmllcz0ib3JpZ2luIiBkYXRhLWF4aXM9IjEwMDAiIGN4PSI2MzcuNSIgY3k9IjI3Ni4zODgiIHI9IjMuNSIgZmlsbD0iI2ZmZmZmZiIgc3Ryb2tlPSIjMWYyOTM3IiBzdHJva2Utd2lkdGg9IjIiLz4KPGNpcmNsZSBkYXRhLXNlcmllcz0ib3JpZ2luIiBkYXRhLWF4aXM9IjEwMDAwIiBjeD0iNzk4IiBjeT0iMjc2LjM4OCIgcj0iMy41IiBmaWxsPSIjZmZmZmZmIiBzdHJva2U9IiMxZjI5MzciIHN0cm9rZS13aWR0aD0iMiIvPgo8bGluZSB4MT0iODQiIHgyPSIxMTQiIHkxPSIzODAiIHkyPSIzODAiIHN0cm9rZT0iIzFmMjkzNyIgc3Ryb2tlLXdpZHRoPSIyLjUiIHN0cm9rZS1kYXNoYXJyYXk9IjYgNCIvPgo8dGV4dCB4PSIxMjMiIHk9IjM4NCI+T3JpZ2luIHNlcnZpY2U8L3RleHQ+Cjxwb2x5bGluZSBkYXRhLXNlcmllcz0ibmF0aXZlIiBwb2ludHM9Ijg0LDI4OS4wMDYgMTU2LDI4OS4wMDYgMzE2LjUsMjg5LjAwNiA0NzcsMjg5LjAwNiA2MzcuNSwyODkuMDA2IDc5OCwyODkuMDA2IiBmaWxsPSJub25lIiBzdHJva2U9IiMxZDRlZDgiIHN0cm9rZS13aWR0aD0iMi41IiBzdHJva2UtZGFzaGFycmF5PSIxMCA0Ii8+CjxjaXJjbGUgZGF0YS1zZXJpZXM9Im5hdGl2ZSIgZGF0YS1heGlzPSIwIiBjeD0iODQiIGN5PSIyODkuMDA2IiByPSI0IiBmaWxsPSIjZmZmZmZmIiBzdHJva2U9IiMxZDRlZDgiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWRhc2hhcnJheT0iMTAgNCIvPgo8Y2lyY2xlIGRhdGEtc2VyaWVzPSJuYXRpdmUiIGRhdGEtYXhpcz0iMSIgY3g9IjE1NiIgY3k9IjI4OS4wMDYiIHI9IjQiIGZpbGw9IiNmZmZmZmYiIHN0cm9rZT0iIzFkNGVkOCIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtZGFzaGFycmF5PSIxMCA0Ii8+CjxjaXJjbGUgZGF0YS1zZXJpZXM9Im5hdGl2ZSIgZGF0YS1heGlzPSIxMCIgY3g9IjMxNi41IiBjeT0iMjg5LjAwNiIgcj0iNCIgZmlsbD0iI2ZmZmZmZiIgc3Ryb2tlPSIjMWQ0ZWQ4IiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1kYXNoYXJyYXk9IjEwIDQiLz4KPGNpcmNsZSBkYXRhLXNlcmllcz0ibmF0aXZlIiBkYXRhLWF4aXM9IjEwMCIgY3g9IjQ3NyIgY3k9IjI4OS4wMDYiIHI9IjQiIGZpbGw9IiNmZmZmZmYiIHN0cm9rZT0iIzFkNGVkOCIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtZGFzaGFycmF5PSIxMCA0Ii8+CjxjaXJjbGUgZGF0YS1zZXJpZXM9Im5hdGl2ZSIgZGF0YS1heGlzPSIxMDAwIiBjeD0iNjM3LjUiIGN5PSIyODkuMDA2IiByPSI0IiBmaWxsPSIjZmZmZmZmIiBzdHJva2U9IiMxZDRlZDgiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWRhc2hhcnJheT0iMTAgNCIvPgo8Y2lyY2xlIGRhdGEtc2VyaWVzPSJuYXRpdmUiIGRhdGEtYXhpcz0iMTAwMDAiIGN4PSI3OTgiIGN5PSIyODkuMDA2IiByPSI0IiBmaWxsPSIjZmZmZmZmIiBzdHJva2U9IiMxZDRlZDgiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWRhc2hhcnJheT0iMTAgNCIvPgo8bGluZSB4MT0iODQiIHgyPSIxMTQiIHkxPSI0MDIiIHkyPSI0MDIiIHN0cm9rZT0iIzFkNGVkOCIgc3Ryb2tlLXdpZHRoPSIyLjUiIHN0cm9rZS1kYXNoYXJyYXk9IjEwIDQiLz4KPHRleHQgeD0iMTIzIiB5PSI0MDYiPlBsYW5uaW5nIG5hdGl2ZSBiYWNrZW5kPC90ZXh0Pgo8L2c+PC9zdmc+Cg==" alt="Azure Container Registry image storage and transfer · Image read requests per second: monthly service charges by Image read requests per second. Exact values are in the following table." />

  <img className="t9-diagram-dark" src="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA4NjAgNDI2IiByb2xlPSJpbWciIGFyaWEtbGFiZWxsZWRieT0idGl0bGUgZGVzYyI+Cjx0aXRsZSBpZD0idGl0bGUiPkF6dXJlIENvbnRhaW5lciBSZWdpc3RyeSBpbWFnZSBzdG9yYWdlIGFuZCB0cmFuc2ZlciDCtyBJbWFnZSByZWFkIHJlcXVlc3RzIHBlciBzZWNvbmQ8L3RpdGxlPgo8ZGVzYyBpZD0iZGVzYyI+UGxhbm5pbmcgZXN0aW1hdGVzIGluIFVTRCBieSBJbWFnZSByZWFkIHJlcXVlc3RzIHBlciBzZWNvbmQuIFdvcmtsb2FkIGF4aXM6IGxvZ2FyaXRobWljIHBvc2l0aXZlIHZhbHVlczsgemVybyBzaG93biBzZXBhcmF0ZWx5LiBDb3N0IGF4aXM6IGxvZ2FyaXRobWljIHBvc2l0aXZlIHZhbHVlcy4gRXhhY3QgdmFsdWVzLCBhc3N1bXB0aW9ucyBhbmQgZXhjbHVzaW9ucyBhcHBlYXIgaW4gdGhlIGFkamFjZW50IHRhYmxlIGFuZCB0ZXh0LiBBZGFwdGVyIGhvc3RpbmcgYW5kIFRlbnNvcjkgZmVlcyBhcmUgZXhjbHVkZWQuPC9kZXNjPgo8cmVjdCB3aWR0aD0iODYwIiBoZWlnaHQ9IjEwMCUiIGZpbGw9IiMxMTE4MjciLz4KPGcgZm9udC1mYW1pbHk9InN5c3RlbS11aSxzYW5zLXNlcmlmIiBmb250LXNpemU9IjEzIiBmaWxsPSIjZTVlN2ViIj4KPHRleHQgeD0iODQiIHk9IjI2IiBmb250LXNpemU9IjE3IiBmb250LXdlaWdodD0iNjAwIj5BenVyZSBDb250YWluZXIgUmVnaXN0cnkgaW1hZ2Ugc3RvcmFnZSBhbmQgdHJhbnNmZXIgwrcgSW1hZ2UgcmVhZCByZXF1ZXN0cyBwZXIgc2Vjb25kPC90ZXh0Pgo8dGV4dCB4PSI4NCIgeT0iNDciPk1vbnRobHkgc2VydmljZSBjaGFyZ2VzIChVU0Q7IGxvZ2FyaXRobWljIGNvc3QgYXhpcyk8L3RleHQ+CjxsaW5lIHgxPSI4NCIgeDI9Ijc5OCIgeTE9IjI5MC4wIiB5Mj0iMjkwLjAiIHN0cm9rZT0iIzM3NDE1MSIvPgo8dGV4dCB4PSI3NiIgeT0iMjk0LjAiIHRleHQtYW5jaG9yPSJlbmQiPjEwMDwvdGV4dD4KPGxpbmUgeDE9Ijg0IiB4Mj0iNzk4IiB5MT0iNjAuMCIgeTI9IjYwLjAiIHN0cm9rZT0iIzM3NDE1MSIvPgo8dGV4dCB4PSI3NiIgeT0iNjQuMCIgdGV4dC1hbmNob3I9ImVuZCI+MTAwMDwvdGV4dD4KPGxpbmUgeDE9Ijg0IiB4Mj0iODQiIHkxPSI2MCIgeTI9IjI5MCIgc3Ryb2tlPSIjZTVlN2ViIi8+CjxsaW5lIHgxPSI4NCIgeDI9Ijg0IiB5MT0iMjkwIiB5Mj0iMjk1IiBzdHJva2U9IiNlNWU3ZWIiLz4KPHRleHQgeD0iODQiIHk9IjMxMSIgdGV4dC1hbmNob3I9Im1pZGRsZSIgZGF0YS1heGlzLWxhYmVsPSJ0cnVlIj4wPC90ZXh0Pgo8bGluZSB4MT0iMTU2IiB4Mj0iMTU2IiB5MT0iMjkwIiB5Mj0iMjk1IiBzdHJva2U9IiNlNWU3ZWIiLz4KPHRleHQgeD0iMTU2IiB5PSIzMTEiIHRleHQtYW5jaG9yPSJtaWRkbGUiIGRhdGEtYXhpcy1sYWJlbD0idHJ1ZSI+MTwvdGV4dD4KPGxpbmUgeDE9IjMxNi41IiB4Mj0iMzE2LjUiIHkxPSIyOTAiIHkyPSIyOTUiIHN0cm9rZT0iI2U1ZTdlYiIvPgo8dGV4dCB4PSIzMTYuNSIgeT0iMzExIiB0ZXh0LWFuY2hvcj0ibWlkZGxlIiBkYXRhLWF4aXMtbGFiZWw9InRydWUiPjEwPC90ZXh0Pgo8bGluZSB4MT0iNDc3IiB4Mj0iNDc3IiB5MT0iMjkwIiB5Mj0iMjk1IiBzdHJva2U9IiNlNWU3ZWIiLz4KPHRleHQgeD0iNDc3IiB5PSIzMTEiIHRleHQtYW5jaG9yPSJtaWRkbGUiIGRhdGEtYXhpcy1sYWJlbD0idHJ1ZSI+MTAwPC90ZXh0Pgo8bGluZSB4MT0iNjM3LjUiIHgyPSI2MzcuNSIgeTE9IjI5MCIgeTI9IjI5NSIgc3Ryb2tlPSIjZTVlN2ViIi8+Cjx0ZXh0IHg9IjYzNy41IiB5PSIzMTEiIHRleHQtYW5jaG9yPSJtaWRkbGUiIGRhdGEtYXhpcy1sYWJlbD0idHJ1ZSI+MTAwMDwvdGV4dD4KPGxpbmUgeDE9Ijc5OCIgeDI9Ijc5OCIgeTE9IjI5MCIgeTI9IjI5NSIgc3Ryb2tlPSIjZTVlN2ViIi8+Cjx0ZXh0IHg9Ijc5OCIgeT0iMzExIiB0ZXh0LWFuY2hvcj0ibWlkZGxlIiBkYXRhLWF4aXMtbGFiZWw9InRydWUiPjEwMDAwPC90ZXh0Pgo8cGF0aCBkPSJNMTE2IDI4NyBsNSA2IG0yIC02IGw1IDYiIHN0cm9rZT0iI2U1ZTdlYiIgZmlsbD0ibm9uZSIvPgo8dGV4dCB4PSI0NDEiIHk9IjMzNiIgdGV4dC1hbmNob3I9Im1pZGRsZSI+SW1hZ2UgcmVhZCByZXF1ZXN0cyBwZXIgc2Vjb25kIChyZXF1ZXN0cy9zKTwvdGV4dD4KPHRleHQgeD0iODQiIHk9IjM1OCI+V29ya2xvYWQgYXhpczogbG9nYXJpdGhtaWMgcG9zaXRpdmUgdmFsdWVzOyB6ZXJvIHNob3duIHNlcGFyYXRlbHkuPC90ZXh0Pgo8cG9seWxpbmUgcG9pbnRzPSI4NCwyNzYuMzg4IDE1NiwyNzYuMzg4IDMxNi41LDI3Ni4zODggNDc3LDI3Ni4zODggNjM3LjUsMjc2LjM4OCA3OTgsMjc2LjM4OCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjZTVlN2ViIiBzdHJva2Utd2lkdGg9IjIuNSIgc3Ryb2tlLWRhc2hhcnJheT0iNiA0Ii8+CjxjaXJjbGUgZGF0YS1zZXJpZXM9Im9yaWdpbiIgZGF0YS1heGlzPSIwIiBjeD0iODQiIGN5PSIyNzYuMzg4IiByPSIzLjUiIGZpbGw9IiMxMTE4MjciIHN0cm9rZT0iI2U1ZTdlYiIgc3Ryb2tlLXdpZHRoPSIyIi8+CjxjaXJjbGUgZGF0YS1zZXJpZXM9Im9yaWdpbiIgZGF0YS1heGlzPSIxIiBjeD0iMTU2IiBjeT0iMjc2LjM4OCIgcj0iMy41IiBmaWxsPSIjMTExODI3IiBzdHJva2U9IiNlNWU3ZWIiIHN0cm9rZS13aWR0aD0iMiIvPgo8Y2lyY2xlIGRhdGEtc2VyaWVzPSJvcmlnaW4iIGRhdGEtYXhpcz0iMTAiIGN4PSIzMTYuNSIgY3k9IjI3Ni4zODgiIHI9IjMuNSIgZmlsbD0iIzExMTgyNyIgc3Ryb2tlPSIjZTVlN2ViIiBzdHJva2Utd2lkdGg9IjIiLz4KPGNpcmNsZSBkYXRhLXNlcmllcz0ib3JpZ2luIiBkYXRhLWF4aXM9IjEwMCIgY3g9IjQ3NyIgY3k9IjI3Ni4zODgiIHI9IjMuNSIgZmlsbD0iIzExMTgyNyIgc3Ryb2tlPSIjZTVlN2ViIiBzdHJva2Utd2lkdGg9IjIiLz4KPGNpcmNsZSBkYXRhLXNlcmllcz0ib3JpZ2luIiBkYXRhLWF4aXM9IjEwMDAiIGN4PSI2MzcuNSIgY3k9IjI3Ni4zODgiIHI9IjMuNSIgZmlsbD0iIzExMTgyNyIgc3Ryb2tlPSIjZTVlN2ViIiBzdHJva2Utd2lkdGg9IjIiLz4KPGNpcmNsZSBkYXRhLXNlcmllcz0ib3JpZ2luIiBkYXRhLWF4aXM9IjEwMDAwIiBjeD0iNzk4IiBjeT0iMjc2LjM4OCIgcj0iMy41IiBmaWxsPSIjMTExODI3IiBzdHJva2U9IiNlNWU3ZWIiIHN0cm9rZS13aWR0aD0iMiIvPgo8bGluZSB4MT0iODQiIHgyPSIxMTQiIHkxPSIzODAiIHkyPSIzODAiIHN0cm9rZT0iI2U1ZTdlYiIgc3Ryb2tlLXdpZHRoPSIyLjUiIHN0cm9rZS1kYXNoYXJyYXk9IjYgNCIvPgo8dGV4dCB4PSIxMjMiIHk9IjM4NCI+T3JpZ2luIHNlcnZpY2U8L3RleHQ+Cjxwb2x5bGluZSBkYXRhLXNlcmllcz0ibmF0aXZlIiBwb2ludHM9Ijg0LDI4OS4wMDYgMTU2LDI4OS4wMDYgMzE2LjUsMjg5LjAwNiA0NzcsMjg5LjAwNiA2MzcuNSwyODkuMDA2IDc5OCwyODkuMDA2IiBmaWxsPSJub25lIiBzdHJva2U9IiM2MGE1ZmEiIHN0cm9rZS13aWR0aD0iMi41IiBzdHJva2UtZGFzaGFycmF5PSIxMCA0Ii8+CjxjaXJjbGUgZGF0YS1zZXJpZXM9Im5hdGl2ZSIgZGF0YS1heGlzPSIwIiBjeD0iODQiIGN5PSIyODkuMDA2IiByPSI0IiBmaWxsPSIjMTExODI3IiBzdHJva2U9IiM2MGE1ZmEiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWRhc2hhcnJheT0iMTAgNCIvPgo8Y2lyY2xlIGRhdGEtc2VyaWVzPSJuYXRpdmUiIGRhdGEtYXhpcz0iMSIgY3g9IjE1NiIgY3k9IjI4OS4wMDYiIHI9IjQiIGZpbGw9IiMxMTE4MjciIHN0cm9rZT0iIzYwYTVmYSIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtZGFzaGFycmF5PSIxMCA0Ii8+CjxjaXJjbGUgZGF0YS1zZXJpZXM9Im5hdGl2ZSIgZGF0YS1heGlzPSIxMCIgY3g9IjMxNi41IiBjeT0iMjg5LjAwNiIgcj0iNCIgZmlsbD0iIzExMTgyNyIgc3Ryb2tlPSIjNjBhNWZhIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1kYXNoYXJyYXk9IjEwIDQiLz4KPGNpcmNsZSBkYXRhLXNlcmllcz0ibmF0aXZlIiBkYXRhLWF4aXM9IjEwMCIgY3g9IjQ3NyIgY3k9IjI4OS4wMDYiIHI9IjQiIGZpbGw9IiMxMTE4MjciIHN0cm9rZT0iIzYwYTVmYSIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtZGFzaGFycmF5PSIxMCA0Ii8+CjxjaXJjbGUgZGF0YS1zZXJpZXM9Im5hdGl2ZSIgZGF0YS1heGlzPSIxMDAwIiBjeD0iNjM3LjUiIGN5PSIyODkuMDA2IiByPSI0IiBmaWxsPSIjMTExODI3IiBzdHJva2U9IiM2MGE1ZmEiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWRhc2hhcnJheT0iMTAgNCIvPgo8Y2lyY2xlIGRhdGEtc2VyaWVzPSJuYXRpdmUiIGRhdGEtYXhpcz0iMTAwMDAiIGN4PSI3OTgiIGN5PSIyODkuMDA2IiByPSI0IiBmaWxsPSIjMTExODI3IiBzdHJva2U9IiM2MGE1ZmEiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWRhc2hhcnJheT0iMTAgNCIvPgo8bGluZSB4MT0iODQiIHgyPSIxMTQiIHkxPSI0MDIiIHkyPSI0MDIiIHN0cm9rZT0iIzYwYTVmYSIgc3Ryb2tlLXdpZHRoPSIyLjUiIHN0cm9rZS1kYXNoYXJyYXk9IjEwIDQiLz4KPHRleHQgeD0iMTIzIiB5PSI0MDYiPlBsYW5uaW5nIG5hdGl2ZSBiYWNrZW5kPC90ZXh0Pgo8L2c+PC9zdmc+Cg==" alt="Azure Container Registry image storage and transfer · Image read requests per second: monthly service charges by Image read requests per second. 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.

| Image read requests per second (requests/s) | Origin | Target scenario | Target | Difference |
| -: | -: | - | -: | -: |
| 0 | 114.6 | Planning native backend | 101 | -13.6 |
| 1 | 114.6 | Planning native backend | 101 | -13.6 |
| 10 | 114.6 | Planning native backend | 101 | -13.6 |
| 100 | 114.6 | Planning native backend | 101 | -13.6 |
| 1000 | 114.6 | Planning native backend | 101 | -13.6 |
| 10000 | 114.6 | Planning native backend | 101 | -13.6 |

**Curve assumptions**

| Target scenario | Assumption | Value | Unit |
| - | - | -: | - |
| Planning native backend | Origin price guess · Retained container image data | 0.1 | USD/GiB-month |
| Planning native backend | Origin price guess · Selected billable image transfer | 0.09 | USD/GiB |
| Planning native backend | Origin price guess · Image manifest and layer read requests | 0 | USD/Requests |
| Planning native backend | Origin price guess · Image upload and manifest write requests | 0 | USD/Requests |
| Planning native backend | Origin price guess · Allocated registry service tier | 0.02 | USD/registry-hour |
| Planning native backend | Target / origin retained image bytes | 1.1 | multiplier |
| Planning native backend | Target reads per source read | 1 | operations/read |
| Planning native backend | Target writes per source write | 1.1 | operations/write |
| Planning native backend | Target / origin billable image transfer | 1 | multiplier |
| Planning native backend | Target price guess · read | 0 | USD/read |
| Planning native backend | Target price guess · write | 0 | USD/write |
| Planning native backend | Target price guess · provider operation | 0 | USD/provider operation |
| Planning native backend | Target price guess · GiB-month | 0.1 | 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 |

* Only the selected native meter varies; other usage quantities and assumptions retain their displayed 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.
* Unit prices and capacity coefficients are editable authored planning guesses, not verified provider tariffs or measured capacity.
* The origin is the exact registered azure::1.0.0::container-registry identity. Future aliases and renamed provider products require explicit registry and model updates.
* Stored image data, selected transfer bytes and read/write requests are independent source meters. Requests never create inferred image bytes or registry instances.
* Zero-rate API meters retain physical request quantities; they do not establish that all provider features are free.
* These reverse-cloud directions can be designed rather than delivered. A cost comparison does not establish an implemented adapter.
* The source registry tier is independently allocated in registry-hours. The target tariff must declare whether it has its own tier minimum.
* All target rates are editable authored planning guesses, not verified current list prices, customer discounts or benchmark evidence.
* Artifact storage and selected transferred bytes are priced independently; registry API calls are not image-pull bytes. Fixed premium registry tiers require separate allocation.

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

Excluded costs and workload features:

* Image scanning, signing, build minutes, vulnerability feeds, geo-replication, regional cache services, private endpoints and network routes outside the selected scope.
* Provider free storage, included tier allowances, volume discounts, architecture-specific image inflation and one-time cross-cloud migration.
* 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-3054e044891d70f213cc5452ee12aa5351510ade` / `2026-10-18.planning.1`. Curve: `workload-3`.

## Azure Container Registry image storage and transfer → ECR (Elastic Container Registry)

Origin API: `azure::1.0.0::container-registry`. Target backend: `aws::1.0.0::ecr`.

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

### Azure Container Registry image storage and transfer · Retained image 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+Cjx0aXRsZSBpZD0idGl0bGUiPkF6dXJlIENvbnRhaW5lciBSZWdpc3RyeSBpbWFnZSBzdG9yYWdlIGFuZCB0cmFuc2ZlciDCtyBSZXRhaW5lZCBpbWFnZSBkYXRhPC90aXRsZT4KPGRlc2MgaWQ9ImRlc2MiPlBsYW5uaW5nIGVzdGltYXRlcyBpbiBVU0QgYnkgUmV0YWluZWQgaW1hZ2UgZGF0YS4gV29ya2xvYWQgYXhpczogbG9nYXJpdGhtaWMgcG9zaXRpdmUgdmFsdWVzOyB6ZXJvIHNob3duIHNlcGFyYXRlbHkuIENvc3QgYXhpczogbG9nYXJpdGhtaWMgcG9zaXRpdmUgdmFsdWVzLiBFeGFjdCB2YWx1ZXMsIGFzc3VtcHRpb25zIGFuZCBleGNsdXNpb25zIGFwcGVhciBpbiB0aGUgYWRqYWNlbnQgdGFibGUgYW5kIHRleHQuIEFkYXB0ZXIgaG9zdGluZyBhbmQgVGVuc29yOSBmZWVzIGFyZSBleGNsdWRlZC48L2Rlc2M+CjxyZWN0IHdpZHRoPSI4NjAiIGhlaWdodD0iMTAwJSIgZmlsbD0iI2ZmZmZmZiIvPgo8ZyBmb250LWZhbWlseT0ic3lzdGVtLXVpLHNhbnMtc2VyaWYiIGZvbnQtc2l6ZT0iMTMiIGZpbGw9IiMxZjI5MzciPgo8dGV4dCB4PSI4NCIgeT0iMjYiIGZvbnQtc2l6ZT0iMTciIGZvbnQtd2VpZ2h0PSI2MDAiPkF6dXJlIENvbnRhaW5lciBSZWdpc3RyeSBpbWFnZSBzdG9yYWdlIGFuZCB0cmFuc2ZlciDCtyBSZXRhaW5lZCBpbWFnZSBkYXRhPC90ZXh0Pgo8dGV4dCB4PSI4NCIgeT0iNDciPk1vbnRobHkgc2VydmljZSBjaGFyZ2VzIChVU0Q7IGxvZ2FyaXRobWljIGNvc3QgYXhpcyk8L3RleHQ+CjxsaW5lIHgxPSI4NCIgeDI9Ijc5OCIgeTE9IjI5MC4wIiB5Mj0iMjkwLjAiIHN0cm9rZT0iI2U1ZTdlYiIvPgo8dGV4dCB4PSI3NiIgeT0iMjk0LjAiIHRleHQtYW5jaG9yPSJlbmQiPjEwPC90ZXh0Pgo8bGluZSB4MT0iODQiIHgyPSI3OTgiIHkxPSIyMzIuNSIgeTI9IjIzMi41IiBzdHJva2U9IiNlNWU3ZWIiLz4KPHRleHQgeD0iNzYiIHk9IjIzNi41IiB0ZXh0LWFuY2hvcj0iZW5kIj4xMDA8L3RleHQ+CjxsaW5lIHgxPSI4NCIgeDI9Ijc5OCIgeTE9IjE3NS4wIiB5Mj0iMTc1LjAiIHN0cm9rZT0iI2U1ZTdlYiIvPgo8dGV4dCB4PSI3NiIgeT0iMTc5LjAiIHRleHQtYW5jaG9yPSJlbmQiPjEwMDA8L3RleHQ+CjxsaW5lIHgxPSI4NCIgeDI9Ijc5OCIgeTE9IjExNy41IiB5Mj0iMTE3LjUiIHN0cm9rZT0iI2U1ZTdlYiIvPgo8dGV4dCB4PSI3NiIgeT0iMTIxLjUiIHRleHQtYW5jaG9yPSJlbmQiPjEwMDAwPC90ZXh0Pgo8bGluZSB4MT0iODQiIHgyPSI3OTgiIHkxPSI2MC4wIiB5Mj0iNjAuMCIgc3Ryb2tlPSIjZTVlN2ViIi8+Cjx0ZXh0IHg9Ijc2IiB5PSI2NC4wIiB0ZXh0LWFuY2hvcj0iZW5kIj4xMDAwMDA8L3RleHQ+CjxsaW5lIHgxPSI4NCIgeDI9Ijg0IiB5MT0iNjAiIHkyPSIyOTAiIHN0cm9rZT0iIzFmMjkzNyIvPgo8bGluZSB4MT0iODQiIHgyPSI4NCIgeTE9IjI5MCIgeTI9IjI5NSIgc3Ryb2tlPSIjMWYyOTM3Ii8+Cjx0ZXh0IHg9Ijg0IiB5PSIzMTEiIHRleHQtYW5jaG9yPSJtaWRkbGUiIGRhdGEtYXhpcy1sYWJlbD0idHJ1ZSI+MDwvdGV4dD4KPGxpbmUgeDE9IjE1NiIgeDI9IjE1NiIgeTE9IjI5MCIgeTI9IjI5NSIgc3Ryb2tlPSIjMWYyOTM3Ii8+Cjx0ZXh0IHg9IjE1NiIgeT0iMzExIiB0ZXh0LWFuY2hvcj0ibWlkZGxlIiBkYXRhLWF4aXMtbGFiZWw9InRydWUiPjEwPC90ZXh0Pgo8bGluZSB4MT0iMzE2LjUiIHgyPSIzMTYuNSIgeTE9IjI5MCIgeTI9IjI5NSIgc3Ryb2tlPSIjMWYyOTM3Ii8+Cjx0ZXh0IHg9IjMxNi41IiB5PSIzMTEiIHRleHQtYW5jaG9yPSJtaWRkbGUiIGRhdGEtYXhpcy1sYWJlbD0idHJ1ZSI+MTAwPC90ZXh0Pgo8bGluZSB4MT0iNDc3IiB4Mj0iNDc3IiB5MT0iMjkwIiB5Mj0iMjk1IiBzdHJva2U9IiMxZjI5MzciLz4KPHRleHQgeD0iNDc3IiB5PSIzMTEiIHRleHQtYW5jaG9yPSJtaWRkbGUiIGRhdGEtYXhpcy1sYWJlbD0idHJ1ZSI+MTAwMDwvdGV4dD4KPGxpbmUgeDE9IjYzNy41IiB4Mj0iNjM3LjUiIHkxPSIyOTAiIHkyPSIyOTUiIHN0cm9rZT0iIzFmMjkzNyIvPgo8dGV4dCB4PSI2MzcuNSIgeT0iMzExIiB0ZXh0LWFuY2hvcj0ibWlkZGxlIiBkYXRhLWF4aXMtbGFiZWw9InRydWUiPjEwMDAwPC90ZXh0Pgo8bGluZSB4MT0iNzk4IiB4Mj0iNzk4IiB5MT0iMjkwIiB5Mj0iMjk1IiBzdHJva2U9IiMxZjI5MzciLz4KPHRleHQgeD0iNzk4IiB5PSIzMTEiIHRleHQtYW5jaG9yPSJtaWRkbGUiIGRhdGEtYXhpcy1sYWJlbD0idHJ1ZSI+MTAwMDAwPC90ZXh0Pgo8cGF0aCBkPSJNMTE2IDI4NyBsNSA2IG0yIC02IGw1IDYiIHN0cm9rZT0iIzFmMjkzNyIgZmlsbD0ibm9uZSIvPgo8dGV4dCB4PSI0NDEiIHk9IjMzNiIgdGV4dC1hbmNob3I9Im1pZGRsZSI+UmV0YWluZWQgaW1hZ2UgZGF0YSAoR2lCLW1vbnRoKTwvdGV4dD4KPHRleHQgeD0iODQiIHk9IjM1OCI+V29ya2xvYWQgYXhpczogbG9nYXJpdGhtaWMgcG9zaXRpdmUgdmFsdWVzOyB6ZXJvIHNob3duIHNlcGFyYXRlbHkuPC90ZXh0Pgo8cG9seWxpbmUgcG9pbnRzPSI4NCwyMzEuMzc3IDE1NiwyMzEuMTM5IDMxNi41LDIyOS4wOTcgNDc3LDIxNC42MjMgNjM3LjUsMTcyLjUxNiA3OTgsMTE3LjI0IiBmaWxsPSJub25lIiBzdHJva2U9IiMxZjI5MzciIHN0cm9rZS13aWR0aD0iMi41IiBzdHJva2UtZGFzaGFycmF5PSI2IDQiLz4KPGNpcmNsZSBkYXRhLXNlcmllcz0ib3JpZ2luIiBkYXRhLWF4aXM9IjAiIGN4PSI4NCIgY3k9IjIzMS4zNzciIHI9IjMuNSIgZmlsbD0iI2ZmZmZmZiIgc3Ryb2tlPSIjMWYyOTM3IiBzdHJva2Utd2lkdGg9IjIiLz4KPGNpcmNsZSBkYXRhLXNlcmllcz0ib3JpZ2luIiBkYXRhLWF4aXM9IjEwIiBjeD0iMTU2IiBjeT0iMjMxLjEzOSIgcj0iMy41IiBmaWxsPSIjZmZmZmZmIiBzdHJva2U9IiMxZjI5MzciIHN0cm9rZS13aWR0aD0iMiIvPgo8Y2lyY2xlIGRhdGEtc2VyaWVzPSJvcmlnaW4iIGRhdGEtYXhpcz0iMTAwIiBjeD0iMzE2LjUiIGN5PSIyMjkuMDk3IiByPSIzLjUiIGZpbGw9IiNmZmZmZmYiIHN0cm9rZT0iIzFmMjkzNyIgc3Ryb2tlLXdpZHRoPSIyIi8+CjxjaXJjbGUgZGF0YS1zZXJpZXM9Im9yaWdpbiIgZGF0YS1heGlzPSIxMDAwIiBjeD0iNDc3IiBjeT0iMjE0LjYyMyIgcj0iMy41IiBmaWxsPSIjZmZmZmZmIiBzdHJva2U9IiMxZjI5MzciIHN0cm9rZS13aWR0aD0iMiIvPgo8Y2lyY2xlIGRhdGEtc2VyaWVzPSJvcmlnaW4iIGRhdGEtYXhpcz0iMTAwMDAiIGN4PSI2MzcuNSIgY3k9IjE3Mi41MTYiIHI9IjMuNSIgZmlsbD0iI2ZmZmZmZiIgc3Ryb2tlPSIjMWYyOTM3IiBzdHJva2Utd2lkdGg9IjIiLz4KPGNpcmNsZSBkYXRhLXNlcmllcz0ib3JpZ2luIiBkYXRhLWF4aXM9IjEwMDAwMCIgY3g9Ijc5OCIgY3k9IjExNy4yNCIgcj0iMy41IiBmaWxsPSIjZmZmZmZmIiBzdHJva2U9IiMxZjI5MzciIHN0cm9rZS13aWR0aD0iMiIvPgo8bGluZSB4MT0iODQiIHgyPSIxMTQiIHkxPSIzODAiIHkyPSIzODAiIHN0cm9rZT0iIzFmMjkzNyIgc3Ryb2tlLXdpZHRoPSIyLjUiIHN0cm9rZS1kYXNoYXJyYXk9IjYgNCIvPgo8dGV4dCB4PSIxMjMiIHk9IjM4NCI+T3JpZ2luIHNlcnZpY2U8L3RleHQ+Cjxwb2x5bGluZSBkYXRhLXNlcmllcz0ibmF0aXZlIiBwb2ludHM9Ijg0LDIzNS4xMzEgMTU2LDIzNC44MjggMzE2LjUsMjMyLjI1MiA0NzcsMjE1LjE5MSA2MzcuNSwxNzAuNjU2IDc5OCwxMTQuOTE2IiBmaWxsPSJub25lIiBzdHJva2U9IiMxZDRlZDgiIHN0cm9rZS13aWR0aD0iMi41IiBzdHJva2UtZGFzaGFycmF5PSIxMCA0Ii8+CjxjaXJjbGUgZGF0YS1zZXJpZXM9Im5hdGl2ZSIgZGF0YS1heGlzPSIwIiBjeD0iODQiIGN5PSIyMzUuMTMxIiByPSI0IiBmaWxsPSIjZmZmZmZmIiBzdHJva2U9IiMxZDRlZDgiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWRhc2hhcnJheT0iMTAgNCIvPgo8Y2lyY2xlIGRhdGEtc2VyaWVzPSJuYXRpdmUiIGRhdGEtYXhpcz0iMTAiIGN4PSIxNTYiIGN5PSIyMzQuODI4IiByPSI0IiBmaWxsPSIjZmZmZmZmIiBzdHJva2U9IiMxZDRlZDgiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWRhc2hhcnJheT0iMTAgNCIvPgo8Y2lyY2xlIGRhdGEtc2VyaWVzPSJuYXRpdmUiIGRhdGEtYXhpcz0iMTAwIiBjeD0iMzE2LjUiIGN5PSIyMzIuMjUyIiByPSI0IiBmaWxsPSIjZmZmZmZmIiBzdHJva2U9IiMxZDRlZDgiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWRhc2hhcnJheT0iMTAgNCIvPgo8Y2lyY2xlIGRhdGEtc2VyaWVzPSJuYXRpdmUiIGRhdGEtYXhpcz0iMTAwMCIgY3g9IjQ3NyIgY3k9IjIxNS4xOTEiIHI9IjQiIGZpbGw9IiNmZmZmZmYiIHN0cm9rZT0iIzFkNGVkOCIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtZGFzaGFycmF5PSIxMCA0Ii8+CjxjaXJjbGUgZGF0YS1zZXJpZXM9Im5hdGl2ZSIgZGF0YS1heGlzPSIxMDAwMCIgY3g9IjYzNy41IiBjeT0iMTcwLjY1NiIgcj0iNCIgZmlsbD0iI2ZmZmZmZiIgc3Ryb2tlPSIjMWQ0ZWQ4IiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1kYXNoYXJyYXk9IjEwIDQiLz4KPGNpcmNsZSBkYXRhLXNlcmllcz0ibmF0aXZlIiBkYXRhLWF4aXM9IjEwMDAwMCIgY3g9Ijc5OCIgY3k9IjExNC45MTYiIHI9IjQiIGZpbGw9IiNmZmZmZmYiIHN0cm9rZT0iIzFkNGVkOCIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtZGFzaGFycmF5PSIxMCA0Ii8+CjxsaW5lIHgxPSI4NCIgeDI9IjExNCIgeTE9IjQwMiIgeTI9IjQwMiIgc3Ryb2tlPSIjMWQ0ZWQ4IiBzdHJva2Utd2lkdGg9IjIuNSIgc3Ryb2tlLWRhc2hhcnJheT0iMTAgNCIvPgo8dGV4dCB4PSIxMjMiIHk9IjQwNiI+UGxhbm5pbmcgbmF0aXZlIGJhY2tlbmQ8L3RleHQ+CjwvZz48L3N2Zz4K" alt="Azure Container Registry image storage and transfer · Retained image data: monthly service charges by Retained image data. Exact values are in the following table." />

  <img className="t9-diagram-dark" src="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA4NjAgNDI2IiByb2xlPSJpbWciIGFyaWEtbGFiZWxsZWRieT0idGl0bGUgZGVzYyI+Cjx0aXRsZSBpZD0idGl0bGUiPkF6dXJlIENvbnRhaW5lciBSZWdpc3RyeSBpbWFnZSBzdG9yYWdlIGFuZCB0cmFuc2ZlciDCtyBSZXRhaW5lZCBpbWFnZSBkYXRhPC90aXRsZT4KPGRlc2MgaWQ9ImRlc2MiPlBsYW5uaW5nIGVzdGltYXRlcyBpbiBVU0QgYnkgUmV0YWluZWQgaW1hZ2UgZGF0YS4gV29ya2xvYWQgYXhpczogbG9nYXJpdGhtaWMgcG9zaXRpdmUgdmFsdWVzOyB6ZXJvIHNob3duIHNlcGFyYXRlbHkuIENvc3QgYXhpczogbG9nYXJpdGhtaWMgcG9zaXRpdmUgdmFsdWVzLiBFeGFjdCB2YWx1ZXMsIGFzc3VtcHRpb25zIGFuZCBleGNsdXNpb25zIGFwcGVhciBpbiB0aGUgYWRqYWNlbnQgdGFibGUgYW5kIHRleHQuIEFkYXB0ZXIgaG9zdGluZyBhbmQgVGVuc29yOSBmZWVzIGFyZSBleGNsdWRlZC48L2Rlc2M+CjxyZWN0IHdpZHRoPSI4NjAiIGhlaWdodD0iMTAwJSIgZmlsbD0iIzExMTgyNyIvPgo8ZyBmb250LWZhbWlseT0ic3lzdGVtLXVpLHNhbnMtc2VyaWYiIGZvbnQtc2l6ZT0iMTMiIGZpbGw9IiNlNWU3ZWIiPgo8dGV4dCB4PSI4NCIgeT0iMjYiIGZvbnQtc2l6ZT0iMTciIGZvbnQtd2VpZ2h0PSI2MDAiPkF6dXJlIENvbnRhaW5lciBSZWdpc3RyeSBpbWFnZSBzdG9yYWdlIGFuZCB0cmFuc2ZlciDCtyBSZXRhaW5lZCBpbWFnZSBkYXRhPC90ZXh0Pgo8dGV4dCB4PSI4NCIgeT0iNDciPk1vbnRobHkgc2VydmljZSBjaGFyZ2VzIChVU0Q7IGxvZ2FyaXRobWljIGNvc3QgYXhpcyk8L3RleHQ+CjxsaW5lIHgxPSI4NCIgeDI9Ijc5OCIgeTE9IjI5MC4wIiB5Mj0iMjkwLjAiIHN0cm9rZT0iIzM3NDE1MSIvPgo8dGV4dCB4PSI3NiIgeT0iMjk0LjAiIHRleHQtYW5jaG9yPSJlbmQiPjEwPC90ZXh0Pgo8bGluZSB4MT0iODQiIHgyPSI3OTgiIHkxPSIyMzIuNSIgeTI9IjIzMi41IiBzdHJva2U9IiMzNzQxNTEiLz4KPHRleHQgeD0iNzYiIHk9IjIzNi41IiB0ZXh0LWFuY2hvcj0iZW5kIj4xMDA8L3RleHQ+CjxsaW5lIHgxPSI4NCIgeDI9Ijc5OCIgeTE9IjE3NS4wIiB5Mj0iMTc1LjAiIHN0cm9rZT0iIzM3NDE1MSIvPgo8dGV4dCB4PSI3NiIgeT0iMTc5LjAiIHRleHQtYW5jaG9yPSJlbmQiPjEwMDA8L3RleHQ+CjxsaW5lIHgxPSI4NCIgeDI9Ijc5OCIgeTE9IjExNy41IiB5Mj0iMTE3LjUiIHN0cm9rZT0iIzM3NDE1MSIvPgo8dGV4dCB4PSI3NiIgeT0iMTIxLjUiIHRleHQtYW5jaG9yPSJlbmQiPjEwMDAwPC90ZXh0Pgo8bGluZSB4MT0iODQiIHgyPSI3OTgiIHkxPSI2MC4wIiB5Mj0iNjAuMCIgc3Ryb2tlPSIjMzc0MTUxIi8+Cjx0ZXh0IHg9Ijc2IiB5PSI2NC4wIiB0ZXh0LWFuY2hvcj0iZW5kIj4xMDAwMDA8L3RleHQ+CjxsaW5lIHgxPSI4NCIgeDI9Ijg0IiB5MT0iNjAiIHkyPSIyOTAiIHN0cm9rZT0iI2U1ZTdlYiIvPgo8bGluZSB4MT0iODQiIHgyPSI4NCIgeTE9IjI5MCIgeTI9IjI5NSIgc3Ryb2tlPSIjZTVlN2ViIi8+Cjx0ZXh0IHg9Ijg0IiB5PSIzMTEiIHRleHQtYW5jaG9yPSJtaWRkbGUiIGRhdGEtYXhpcy1sYWJlbD0idHJ1ZSI+MDwvdGV4dD4KPGxpbmUgeDE9IjE1NiIgeDI9IjE1NiIgeTE9IjI5MCIgeTI9IjI5NSIgc3Ryb2tlPSIjZTVlN2ViIi8+Cjx0ZXh0IHg9IjE1NiIgeT0iMzExIiB0ZXh0LWFuY2hvcj0ibWlkZGxlIiBkYXRhLWF4aXMtbGFiZWw9InRydWUiPjEwPC90ZXh0Pgo8bGluZSB4MT0iMzE2LjUiIHgyPSIzMTYuNSIgeTE9IjI5MCIgeTI9IjI5NSIgc3Ryb2tlPSIjZTVlN2ViIi8+Cjx0ZXh0IHg9IjMxNi41IiB5PSIzMTEiIHRleHQtYW5jaG9yPSJtaWRkbGUiIGRhdGEtYXhpcy1sYWJlbD0idHJ1ZSI+MTAwPC90ZXh0Pgo8bGluZSB4MT0iNDc3IiB4Mj0iNDc3IiB5MT0iMjkwIiB5Mj0iMjk1IiBzdHJva2U9IiNlNWU3ZWIiLz4KPHRleHQgeD0iNDc3IiB5PSIzMTEiIHRleHQtYW5jaG9yPSJtaWRkbGUiIGRhdGEtYXhpcy1sYWJlbD0idHJ1ZSI+MTAwMDwvdGV4dD4KPGxpbmUgeDE9IjYzNy41IiB4Mj0iNjM3LjUiIHkxPSIyOTAiIHkyPSIyOTUiIHN0cm9rZT0iI2U1ZTdlYiIvPgo8dGV4dCB4PSI2MzcuNSIgeT0iMzExIiB0ZXh0LWFuY2hvcj0ibWlkZGxlIiBkYXRhLWF4aXMtbGFiZWw9InRydWUiPjEwMDAwPC90ZXh0Pgo8bGluZSB4MT0iNzk4IiB4Mj0iNzk4IiB5MT0iMjkwIiB5Mj0iMjk1IiBzdHJva2U9IiNlNWU3ZWIiLz4KPHRleHQgeD0iNzk4IiB5PSIzMTEiIHRleHQtYW5jaG9yPSJtaWRkbGUiIGRhdGEtYXhpcy1sYWJlbD0idHJ1ZSI+MTAwMDAwPC90ZXh0Pgo8cGF0aCBkPSJNMTE2IDI4NyBsNSA2IG0yIC02IGw1IDYiIHN0cm9rZT0iI2U1ZTdlYiIgZmlsbD0ibm9uZSIvPgo8dGV4dCB4PSI0NDEiIHk9IjMzNiIgdGV4dC1hbmNob3I9Im1pZGRsZSI+UmV0YWluZWQgaW1hZ2UgZGF0YSAoR2lCLW1vbnRoKTwvdGV4dD4KPHRleHQgeD0iODQiIHk9IjM1OCI+V29ya2xvYWQgYXhpczogbG9nYXJpdGhtaWMgcG9zaXRpdmUgdmFsdWVzOyB6ZXJvIHNob3duIHNlcGFyYXRlbHkuPC90ZXh0Pgo8cG9seWxpbmUgcG9pbnRzPSI4NCwyMzEuMzc3IDE1NiwyMzEuMTM5IDMxNi41LDIyOS4wOTcgNDc3LDIxNC42MjMgNjM3LjUsMTcyLjUxNiA3OTgsMTE3LjI0IiBmaWxsPSJub25lIiBzdHJva2U9IiNlNWU3ZWIiIHN0cm9rZS13aWR0aD0iMi41IiBzdHJva2UtZGFzaGFycmF5PSI2IDQiLz4KPGNpcmNsZSBkYXRhLXNlcmllcz0ib3JpZ2luIiBkYXRhLWF4aXM9IjAiIGN4PSI4NCIgY3k9IjIzMS4zNzciIHI9IjMuNSIgZmlsbD0iIzExMTgyNyIgc3Ryb2tlPSIjZTVlN2ViIiBzdHJva2Utd2lkdGg9IjIiLz4KPGNpcmNsZSBkYXRhLXNlcmllcz0ib3JpZ2luIiBkYXRhLWF4aXM9IjEwIiBjeD0iMTU2IiBjeT0iMjMxLjEzOSIgcj0iMy41IiBmaWxsPSIjMTExODI3IiBzdHJva2U9IiNlNWU3ZWIiIHN0cm9rZS13aWR0aD0iMiIvPgo8Y2lyY2xlIGRhdGEtc2VyaWVzPSJvcmlnaW4iIGRhdGEtYXhpcz0iMTAwIiBjeD0iMzE2LjUiIGN5PSIyMjkuMDk3IiByPSIzLjUiIGZpbGw9IiMxMTE4MjciIHN0cm9rZT0iI2U1ZTdlYiIgc3Ryb2tlLXdpZHRoPSIyIi8+CjxjaXJjbGUgZGF0YS1zZXJpZXM9Im9yaWdpbiIgZGF0YS1heGlzPSIxMDAwIiBjeD0iNDc3IiBjeT0iMjE0LjYyMyIgcj0iMy41IiBmaWxsPSIjMTExODI3IiBzdHJva2U9IiNlNWU3ZWIiIHN0cm9rZS13aWR0aD0iMiIvPgo8Y2lyY2xlIGRhdGEtc2VyaWVzPSJvcmlnaW4iIGRhdGEtYXhpcz0iMTAwMDAiIGN4PSI2MzcuNSIgY3k9IjE3Mi41MTYiIHI9IjMuNSIgZmlsbD0iIzExMTgyNyIgc3Ryb2tlPSIjZTVlN2ViIiBzdHJva2Utd2lkdGg9IjIiLz4KPGNpcmNsZSBkYXRhLXNlcmllcz0ib3JpZ2luIiBkYXRhLWF4aXM9IjEwMDAwMCIgY3g9Ijc5OCIgY3k9IjExNy4yNCIgcj0iMy41IiBmaWxsPSIjMTExODI3IiBzdHJva2U9IiNlNWU3ZWIiIHN0cm9rZS13aWR0aD0iMiIvPgo8bGluZSB4MT0iODQiIHgyPSIxMTQiIHkxPSIzODAiIHkyPSIzODAiIHN0cm9rZT0iI2U1ZTdlYiIgc3Ryb2tlLXdpZHRoPSIyLjUiIHN0cm9rZS1kYXNoYXJyYXk9IjYgNCIvPgo8dGV4dCB4PSIxMjMiIHk9IjM4NCI+T3JpZ2luIHNlcnZpY2U8L3RleHQ+Cjxwb2x5bGluZSBkYXRhLXNlcmllcz0ibmF0aXZlIiBwb2ludHM9Ijg0LDIzNS4xMzEgMTU2LDIzNC44MjggMzE2LjUsMjMyLjI1MiA0NzcsMjE1LjE5MSA2MzcuNSwxNzAuNjU2IDc5OCwxMTQuOTE2IiBmaWxsPSJub25lIiBzdHJva2U9IiM2MGE1ZmEiIHN0cm9rZS13aWR0aD0iMi41IiBzdHJva2UtZGFzaGFycmF5PSIxMCA0Ii8+CjxjaXJjbGUgZGF0YS1zZXJpZXM9Im5hdGl2ZSIgZGF0YS1heGlzPSIwIiBjeD0iODQiIGN5PSIyMzUuMTMxIiByPSI0IiBmaWxsPSIjMTExODI3IiBzdHJva2U9IiM2MGE1ZmEiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWRhc2hhcnJheT0iMTAgNCIvPgo8Y2lyY2xlIGRhdGEtc2VyaWVzPSJuYXRpdmUiIGRhdGEtYXhpcz0iMTAiIGN4PSIxNTYiIGN5PSIyMzQuODI4IiByPSI0IiBmaWxsPSIjMTExODI3IiBzdHJva2U9IiM2MGE1ZmEiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWRhc2hhcnJheT0iMTAgNCIvPgo8Y2lyY2xlIGRhdGEtc2VyaWVzPSJuYXRpdmUiIGRhdGEtYXhpcz0iMTAwIiBjeD0iMzE2LjUiIGN5PSIyMzIuMjUyIiByPSI0IiBmaWxsPSIjMTExODI3IiBzdHJva2U9IiM2MGE1ZmEiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWRhc2hhcnJheT0iMTAgNCIvPgo8Y2lyY2xlIGRhdGEtc2VyaWVzPSJuYXRpdmUiIGRhdGEtYXhpcz0iMTAwMCIgY3g9IjQ3NyIgY3k9IjIxNS4xOTEiIHI9IjQiIGZpbGw9IiMxMTE4MjciIHN0cm9rZT0iIzYwYTVmYSIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtZGFzaGFycmF5PSIxMCA0Ii8+CjxjaXJjbGUgZGF0YS1zZXJpZXM9Im5hdGl2ZSIgZGF0YS1heGlzPSIxMDAwMCIgY3g9IjYzNy41IiBjeT0iMTcwLjY1NiIgcj0iNCIgZmlsbD0iIzExMTgyNyIgc3Ryb2tlPSIjNjBhNWZhIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1kYXNoYXJyYXk9IjEwIDQiLz4KPGNpcmNsZSBkYXRhLXNlcmllcz0ibmF0aXZlIiBkYXRhLWF4aXM9IjEwMDAwMCIgY3g9Ijc5OCIgY3k9IjExNC45MTYiIHI9IjQiIGZpbGw9IiMxMTE4MjciIHN0cm9rZT0iIzYwYTVmYSIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtZGFzaGFycmF5PSIxMCA0Ii8+CjxsaW5lIHgxPSI4NCIgeDI9IjExNCIgeTE9IjQwMiIgeTI9IjQwMiIgc3Ryb2tlPSIjNjBhNWZhIiBzdHJva2Utd2lkdGg9IjIuNSIgc3Ryb2tlLWRhc2hhcnJheT0iMTAgNCIvPgo8dGV4dCB4PSIxMjMiIHk9IjQwNiI+UGxhbm5pbmcgbmF0aXZlIGJhY2tlbmQ8L3RleHQ+CjwvZz48L3N2Zz4K" alt="Azure Container Registry image storage and transfer · Retained image data: monthly service charges by Retained image 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.

| Retained image data (GiB-month) | Origin | Target scenario | Target | Difference |
| -: | -: | - | -: | -: |
| 0 | 104.6 | Planning native backend | 90 | -14.6 |
| 10 | 105.6 | Planning native backend | 91.1 | -14.5 |
| 100 | 114.6 | Planning native backend | 101 | -13.6 |
| 1000 | 204.6 | Planning native backend | 200 | -4.6 |
| 10000 | 1104.6 | Planning native backend | 1190 | 85.4 |
| 100000 | 10104.6 | Planning native backend | 11090 | 985.4 |

**Curve assumptions**

| Target scenario | Assumption | Value | Unit |
| - | - | -: | - |
| Planning native backend | Origin price guess · Retained container image data | 0.1 | USD/GiB-month |
| Planning native backend | Origin price guess · Selected billable image transfer | 0.09 | USD/GiB |
| Planning native backend | Origin price guess · Image manifest and layer read requests | 0 | USD/Requests |
| Planning native backend | Origin price guess · Image upload and manifest write requests | 0 | USD/Requests |
| Planning native backend | Origin price guess · Allocated registry service tier | 0.02 | USD/registry-hour |
| Planning native backend | Target / origin retained image bytes | 1.1 | multiplier |
| Planning native backend | Target reads per source read | 1 | operations/read |
| Planning native backend | Target writes per source write | 1.1 | operations/write |
| Planning native backend | Target / origin billable image transfer | 1 | multiplier |
| Planning native backend | Target price guess · read | 0 | USD/read |
| Planning native backend | Target price guess · write | 0 | USD/write |
| Planning native backend | Target price guess · provider operation | 0 | USD/provider operation |
| Planning native backend | Target price guess · GiB-month | 0.1 | 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 |

* Only the selected native meter varies; other usage quantities and assumptions retain their displayed 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.
* Unit prices and capacity coefficients are editable authored planning guesses, not verified provider tariffs or measured capacity.
* The origin is the exact registered azure::1.0.0::container-registry identity. Future aliases and renamed provider products require explicit registry and model updates.
* Stored image data, selected transfer bytes and read/write requests are independent source meters. Requests never create inferred image bytes or registry instances.
* Zero-rate API meters retain physical request quantities; they do not establish that all provider features are free.
* These reverse-cloud directions can be designed rather than delivered. A cost comparison does not establish an implemented adapter.
* The source registry tier is independently allocated in registry-hours. The target tariff must declare whether it has its own tier minimum.
* All target rates are editable authored planning guesses, not verified current list prices, customer discounts or benchmark evidence.
* Artifact storage and selected transferred bytes are priced independently; registry API calls are not image-pull bytes. Fixed premium registry tiers require separate allocation.

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

Excluded costs and workload features:

* Image scanning, signing, build minutes, vulnerability feeds, geo-replication, regional cache services, private endpoints and network routes outside the selected scope.
* Provider free storage, included tier allowances, volume discounts, architecture-specific image inflation and one-time cross-cloud migration.
* 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-467139ccc3b7867e112f92665e29e6fc37f11022` / `2026-10-18.planning.1`. Curve: `workload-1`.

### Azure Container Registry image storage and transfer · Selected image transfer per month

**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+Cjx0aXRsZSBpZD0idGl0bGUiPkF6dXJlIENvbnRhaW5lciBSZWdpc3RyeSBpbWFnZSBzdG9yYWdlIGFuZCB0cmFuc2ZlciDCtyBTZWxlY3RlZCBpbWFnZSB0cmFuc2ZlciBwZXIgbW9udGg8L3RpdGxlPgo8ZGVzYyBpZD0iZGVzYyI+UGxhbm5pbmcgZXN0aW1hdGVzIGluIFVTRCBieSBTZWxlY3RlZCBpbWFnZSB0cmFuc2ZlciBwZXIgbW9udGguIFdvcmtsb2FkIGF4aXM6IGxvZ2FyaXRobWljIHBvc2l0aXZlIHZhbHVlczsgemVybyBzaG93biBzZXBhcmF0ZWx5LiBDb3N0IGF4aXM6IGxvZ2FyaXRobWljIHBvc2l0aXZlIHZhbHVlcy4gRXhhY3QgdmFsdWVzLCBhc3N1bXB0aW9ucyBhbmQgZXhjbHVzaW9ucyBhcHBlYXIgaW4gdGhlIGFkamFjZW50IHRhYmxlIGFuZCB0ZXh0LiBBZGFwdGVyIGhvc3RpbmcgYW5kIFRlbnNvcjkgZmVlcyBhcmUgZXhjbHVkZWQuPC9kZXNjPgo8cmVjdCB3aWR0aD0iODYwIiBoZWlnaHQ9IjEwMCUiIGZpbGw9IiNmZmZmZmYiLz4KPGcgZm9udC1mYW1pbHk9InN5c3RlbS11aSxzYW5zLXNlcmlmIiBmb250LXNpemU9IjEzIiBmaWxsPSIjMWYyOTM3Ij4KPHRleHQgeD0iODQiIHk9IjI2IiBmb250LXNpemU9IjE3IiBmb250LXdlaWdodD0iNjAwIj5BenVyZSBDb250YWluZXIgUmVnaXN0cnkgaW1hZ2Ugc3RvcmFnZSBhbmQgdHJhbnNmZXIgwrcgU2VsZWN0ZWQgaW1hZ2UgdHJhbnNmZXIgcGVyIG1vbnRoPC90ZXh0Pgo8dGV4dCB4PSI4NCIgeT0iNDciPk1vbnRobHkgc2VydmljZSBjaGFyZ2VzIChVU0Q7IGxvZ2FyaXRobWljIGNvc3QgYXhpcyk8L3RleHQ+CjxsaW5lIHgxPSI4NCIgeDI9Ijc5OCIgeTE9IjI5MC4wIiB5Mj0iMjkwLjAiIHN0cm9rZT0iI2U1ZTdlYiIvPgo8dGV4dCB4PSI3NiIgeT0iMjk0LjAiIHRleHQtYW5jaG9yPSJlbmQiPjEwPC90ZXh0Pgo8bGluZSB4MT0iODQiIHgyPSI3OTgiIHkxPSIyMzIuNSIgeTI9IjIzMi41IiBzdHJva2U9IiNlNWU3ZWIiLz4KPHRleHQgeD0iNzYiIHk9IjIzNi41IiB0ZXh0LWFuY2hvcj0iZW5kIj4xMDA8L3RleHQ+CjxsaW5lIHgxPSI4NCIgeDI9Ijc5OCIgeTE9IjE3NS4wIiB5Mj0iMTc1LjAiIHN0cm9rZT0iI2U1ZTdlYiIvPgo8dGV4dCB4PSI3NiIgeT0iMTc5LjAiIHRleHQtYW5jaG9yPSJlbmQiPjEwMDA8L3RleHQ+CjxsaW5lIHgxPSI4NCIgeDI9Ijc5OCIgeTE9IjExNy41IiB5Mj0iMTE3LjUiIHN0cm9rZT0iI2U1ZTdlYiIvPgo8dGV4dCB4PSI3NiIgeT0iMTIxLjUiIHRleHQtYW5jaG9yPSJlbmQiPjEwMDAwPC90ZXh0Pgo8bGluZSB4MT0iODQiIHgyPSI3OTgiIHkxPSI2MC4wIiB5Mj0iNjAuMCIgc3Ryb2tlPSIjZTVlN2ViIi8+Cjx0ZXh0IHg9Ijc2IiB5PSI2NC4wIiB0ZXh0LWFuY2hvcj0iZW5kIj4xMDAwMDA8L3RleHQ+CjxsaW5lIHgxPSI4NCIgeDI9Ijg0IiB5MT0iNjAiIHkyPSIyOTAiIHN0cm9rZT0iIzFmMjkzNyIvPgo8bGluZSB4MT0iODQiIHgyPSI4NCIgeTE9IjI5MCIgeTI9IjI5NSIgc3Ryb2tlPSIjMWYyOTM3Ii8+Cjx0ZXh0IHg9Ijg0IiB5PSIzMTEiIHRleHQtYW5jaG9yPSJtaWRkbGUiIGRhdGEtYXhpcy1sYWJlbD0idHJ1ZSI+MDwvdGV4dD4KPGxpbmUgeDE9IjE1NiIgeDI9IjE1NiIgeTE9IjI5MCIgeTI9IjI5NSIgc3Ryb2tlPSIjMWYyOTM3Ii8+Cjx0ZXh0IHg9IjE1NiIgeT0iMzExIiB0ZXh0LWFuY2hvcj0ibWlkZGxlIiBkYXRhLWF4aXMtbGFiZWw9InRydWUiPjEwMDwvdGV4dD4KPGxpbmUgeDE9IjMxNi41IiB4Mj0iMzE2LjUiIHkxPSIyOTAiIHkyPSIyOTUiIHN0cm9rZT0iIzFmMjkzNyIvPgo8dGV4dCB4PSIzMTYuNSIgeT0iMzExIiB0ZXh0LWFuY2hvcj0ibWlkZGxlIiBkYXRhLWF4aXMtbGFiZWw9InRydWUiPjEwMDA8L3RleHQ+CjxsaW5lIHgxPSI0NzciIHgyPSI0NzciIHkxPSIyOTAiIHkyPSIyOTUiIHN0cm9rZT0iIzFmMjkzNyIvPgo8dGV4dCB4PSI0NzciIHk9IjMxMSIgdGV4dC1hbmNob3I9Im1pZGRsZSIgZGF0YS1heGlzLWxhYmVsPSJ0cnVlIj4xMDAwMDwvdGV4dD4KPGxpbmUgeDE9IjYzNy41IiB4Mj0iNjM3LjUiIHkxPSIyOTAiIHkyPSIyOTUiIHN0cm9rZT0iIzFmMjkzNyIvPgo8dGV4dCB4PSI2MzcuNSIgeT0iMzExIiB0ZXh0LWFuY2hvcj0ibWlkZGxlIiBkYXRhLWF4aXMtbGFiZWw9InRydWUiPjEwMDAwMDwvdGV4dD4KPGxpbmUgeDE9Ijc5OCIgeDI9Ijc5OCIgeTE9IjI5MCIgeTI9IjI5NSIgc3Ryb2tlPSIjMWYyOTM3Ii8+Cjx0ZXh0IHg9Ijc5OCIgeT0iMzExIiB0ZXh0LWFuY2hvcj0ibWlkZGxlIiBkYXRhLWF4aXMtbGFiZWw9InRydWUiPjEwMDAwMDA8L3RleHQ+CjxwYXRoIGQ9Ik0xMTYgMjg3IGw1IDYgbTIgLTYgbDUgNiIgc3Ryb2tlPSIjMWYyOTM3IiBmaWxsPSJub25lIi8+Cjx0ZXh0IHg9IjQ0MSIgeT0iMzM2IiB0ZXh0LWFuY2hvcj0ibWlkZGxlIj5TZWxlY3RlZCBpbWFnZSB0cmFuc2ZlciBwZXIgbW9udGggKEdpQi9tb250aCk8L3RleHQ+Cjx0ZXh0IHg9Ijg0IiB5PSIzNTgiPldvcmtsb2FkIGF4aXM6IGxvZ2FyaXRobWljIHBvc2l0aXZlIHZhbHVlczsgemVybyBzaG93biBzZXBhcmF0ZWx5LjwvdGV4dD4KPHBvbHlsaW5lIHBvaW50cz0iODQsMjY3LjUyMSAxNTYsMjU5LjczNSAzMTYuNSwyMjkuMDk3IDQ3NywxNzYuOTU4IDYzNy41LDEyMC4wNjMgNzk4LDYyLjYyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMWYyOTM3IiBzdHJva2Utd2lkdGg9IjIuNSIgc3Ryb2tlLWRhc2hhcnJheT0iNiA0Ii8+CjxjaXJjbGUgZGF0YS1zZXJpZXM9Im9yaWdpbiIgZGF0YS1heGlzPSIwIiBjeD0iODQiIGN5PSIyNjcuNTIxIiByPSIzLjUiIGZpbGw9IiNmZmZmZmYiIHN0cm9rZT0iIzFmMjkzNyIgc3Ryb2tlLXdpZHRoPSIyIi8+CjxjaXJjbGUgZGF0YS1zZXJpZXM9Im9yaWdpbiIgZGF0YS1heGlzPSIxMDAiIGN4PSIxNTYiIGN5PSIyNTkuNzM1IiByPSIzLjUiIGZpbGw9IiNmZmZmZmYiIHN0cm9rZT0iIzFmMjkzNyIgc3Ryb2tlLXdpZHRoPSIyIi8+CjxjaXJjbGUgZGF0YS1zZXJpZXM9Im9yaWdpbiIgZGF0YS1heGlzPSIxMDAwIiBjeD0iMzE2LjUiIGN5PSIyMjkuMDk3IiByPSIzLjUiIGZpbGw9IiNmZmZmZmYiIHN0cm9rZT0iIzFmMjkzNyIgc3Ryb2tlLXdpZHRoPSIyIi8+CjxjaXJjbGUgZGF0YS1zZXJpZXM9Im9yaWdpbiIgZGF0YS1heGlzPSIxMDAwMCIgY3g9IjQ3NyIgY3k9IjE3Ni45NTgiIHI9IjMuNSIgZmlsbD0iI2ZmZmZmZiIgc3Ryb2tlPSIjMWYyOTM3IiBzdHJva2Utd2lkdGg9IjIiLz4KPGNpcmNsZSBkYXRhLXNlcmllcz0ib3JpZ2luIiBkYXRhLWF4aXM9IjEwMDAwMCIgY3g9IjYzNy41IiBjeT0iMTIwLjA2MyIgcj0iMy41IiBmaWxsPSIjZmZmZmZmIiBzdHJva2U9IiMxZjI5MzciIHN0cm9rZS13aWR0aD0iMiIvPgo8Y2lyY2xlIGRhdGEtc2VyaWVzPSJvcmlnaW4iIGRhdGEtYXhpcz0iMTAwMDAwMCIgY3g9Ijc5OCIgY3k9IjYyLjYyNCIgcj0iMy41IiBmaWxsPSIjZmZmZmZmIiBzdHJva2U9IiMxZjI5MzciIHN0cm9rZS13aWR0aD0iMiIvPgo8bGluZSB4MT0iODQiIHgyPSIxMTQiIHkxPSIzODAiIHkyPSIzODAiIHN0cm9rZT0iIzFmMjkzNyIgc3Ryb2tlLXdpZHRoPSIyLjUiIHN0cm9rZS1kYXNoYXJyYXk9IjYgNCIvPgo8dGV4dCB4PSIxMjMiIHk9IjM4NCI+T3JpZ2luIHNlcnZpY2U8L3RleHQ+Cjxwb2x5bGluZSBkYXRhLXNlcmllcz0ibmF0aXZlIiBwb2ludHM9Ijg0LDI4Ny42MiAxNTYsMjcyLjY5MSAzMTYuNSwyMzIuMjUyIDQ3NywxNzcuMzI4IDYzNy41LDEyMC4xMDEgNzk4LDYyLjYyOCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMWQ0ZWQ4IiBzdHJva2Utd2lkdGg9IjIuNSIgc3Ryb2tlLWRhc2hhcnJheT0iMTAgNCIvPgo8Y2lyY2xlIGRhdGEtc2VyaWVzPSJuYXRpdmUiIGRhdGEtYXhpcz0iMCIgY3g9Ijg0IiBjeT0iMjg3LjYyIiByPSI0IiBmaWxsPSIjZmZmZmZmIiBzdHJva2U9IiMxZDRlZDgiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWRhc2hhcnJheT0iMTAgNCIvPgo8Y2lyY2xlIGRhdGEtc2VyaWVzPSJuYXRpdmUiIGRhdGEtYXhpcz0iMTAwIiBjeD0iMTU2IiBjeT0iMjcyLjY5MSIgcj0iNCIgZmlsbD0iI2ZmZmZmZiIgc3Ryb2tlPSIjMWQ0ZWQ4IiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1kYXNoYXJyYXk9IjEwIDQiLz4KPGNpcmNsZSBkYXRhLXNlcmllcz0ibmF0aXZlIiBkYXRhLWF4aXM9IjEwMDAiIGN4PSIzMTYuNSIgY3k9IjIzMi4yNTIiIHI9IjQiIGZpbGw9IiNmZmZmZmYiIHN0cm9rZT0iIzFkNGVkOCIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtZGFzaGFycmF5PSIxMCA0Ii8+CjxjaXJjbGUgZGF0YS1zZXJpZXM9Im5hdGl2ZSIgZGF0YS1heGlzPSIxMDAwMCIgY3g9IjQ3NyIgY3k9IjE3Ny4zMjgiIHI9IjQiIGZpbGw9IiNmZmZmZmYiIHN0cm9rZT0iIzFkNGVkOCIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtZGFzaGFycmF5PSIxMCA0Ii8+CjxjaXJjbGUgZGF0YS1zZXJpZXM9Im5hdGl2ZSIgZGF0YS1heGlzPSIxMDAwMDAiIGN4PSI2MzcuNSIgY3k9IjEyMC4xMDEiIHI9IjQiIGZpbGw9IiNmZmZmZmYiIHN0cm9rZT0iIzFkNGVkOCIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtZGFzaGFycmF5PSIxMCA0Ii8+CjxjaXJjbGUgZGF0YS1zZXJpZXM9Im5hdGl2ZSIgZGF0YS1heGlzPSIxMDAwMDAwIiBjeD0iNzk4IiBjeT0iNjIuNjI4IiByPSI0IiBmaWxsPSIjZmZmZmZmIiBzdHJva2U9IiMxZDRlZDgiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWRhc2hhcnJheT0iMTAgNCIvPgo8bGluZSB4MT0iODQiIHgyPSIxMTQiIHkxPSI0MDIiIHkyPSI0MDIiIHN0cm9rZT0iIzFkNGVkOCIgc3Ryb2tlLXdpZHRoPSIyLjUiIHN0cm9rZS1kYXNoYXJyYXk9IjEwIDQiLz4KPHRleHQgeD0iMTIzIiB5PSI0MDYiPlBsYW5uaW5nIG5hdGl2ZSBiYWNrZW5kPC90ZXh0Pgo8L2c+PC9zdmc+Cg==" alt="Azure Container Registry image storage and transfer · Selected image transfer per month: monthly service charges by Selected image transfer per month. Exact values are in the following table." />

  <img className="t9-diagram-dark" src="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA4NjAgNDI2IiByb2xlPSJpbWciIGFyaWEtbGFiZWxsZWRieT0idGl0bGUgZGVzYyI+Cjx0aXRsZSBpZD0idGl0bGUiPkF6dXJlIENvbnRhaW5lciBSZWdpc3RyeSBpbWFnZSBzdG9yYWdlIGFuZCB0cmFuc2ZlciDCtyBTZWxlY3RlZCBpbWFnZSB0cmFuc2ZlciBwZXIgbW9udGg8L3RpdGxlPgo8ZGVzYyBpZD0iZGVzYyI+UGxhbm5pbmcgZXN0aW1hdGVzIGluIFVTRCBieSBTZWxlY3RlZCBpbWFnZSB0cmFuc2ZlciBwZXIgbW9udGguIFdvcmtsb2FkIGF4aXM6IGxvZ2FyaXRobWljIHBvc2l0aXZlIHZhbHVlczsgemVybyBzaG93biBzZXBhcmF0ZWx5LiBDb3N0IGF4aXM6IGxvZ2FyaXRobWljIHBvc2l0aXZlIHZhbHVlcy4gRXhhY3QgdmFsdWVzLCBhc3N1bXB0aW9ucyBhbmQgZXhjbHVzaW9ucyBhcHBlYXIgaW4gdGhlIGFkamFjZW50IHRhYmxlIGFuZCB0ZXh0LiBBZGFwdGVyIGhvc3RpbmcgYW5kIFRlbnNvcjkgZmVlcyBhcmUgZXhjbHVkZWQuPC9kZXNjPgo8cmVjdCB3aWR0aD0iODYwIiBoZWlnaHQ9IjEwMCUiIGZpbGw9IiMxMTE4MjciLz4KPGcgZm9udC1mYW1pbHk9InN5c3RlbS11aSxzYW5zLXNlcmlmIiBmb250LXNpemU9IjEzIiBmaWxsPSIjZTVlN2ViIj4KPHRleHQgeD0iODQiIHk9IjI2IiBmb250LXNpemU9IjE3IiBmb250LXdlaWdodD0iNjAwIj5BenVyZSBDb250YWluZXIgUmVnaXN0cnkgaW1hZ2Ugc3RvcmFnZSBhbmQgdHJhbnNmZXIgwrcgU2VsZWN0ZWQgaW1hZ2UgdHJhbnNmZXIgcGVyIG1vbnRoPC90ZXh0Pgo8dGV4dCB4PSI4NCIgeT0iNDciPk1vbnRobHkgc2VydmljZSBjaGFyZ2VzIChVU0Q7IGxvZ2FyaXRobWljIGNvc3QgYXhpcyk8L3RleHQ+CjxsaW5lIHgxPSI4NCIgeDI9Ijc5OCIgeTE9IjI5MC4wIiB5Mj0iMjkwLjAiIHN0cm9rZT0iIzM3NDE1MSIvPgo8dGV4dCB4PSI3NiIgeT0iMjk0LjAiIHRleHQtYW5jaG9yPSJlbmQiPjEwPC90ZXh0Pgo8bGluZSB4MT0iODQiIHgyPSI3OTgiIHkxPSIyMzIuNSIgeTI9IjIzMi41IiBzdHJva2U9IiMzNzQxNTEiLz4KPHRleHQgeD0iNzYiIHk9IjIzNi41IiB0ZXh0LWFuY2hvcj0iZW5kIj4xMDA8L3RleHQ+CjxsaW5lIHgxPSI4NCIgeDI9Ijc5OCIgeTE9IjE3NS4wIiB5Mj0iMTc1LjAiIHN0cm9rZT0iIzM3NDE1MSIvPgo8dGV4dCB4PSI3NiIgeT0iMTc5LjAiIHRleHQtYW5jaG9yPSJlbmQiPjEwMDA8L3RleHQ+CjxsaW5lIHgxPSI4NCIgeDI9Ijc5OCIgeTE9IjExNy41IiB5Mj0iMTE3LjUiIHN0cm9rZT0iIzM3NDE1MSIvPgo8dGV4dCB4PSI3NiIgeT0iMTIxLjUiIHRleHQtYW5jaG9yPSJlbmQiPjEwMDAwPC90ZXh0Pgo8bGluZSB4MT0iODQiIHgyPSI3OTgiIHkxPSI2MC4wIiB5Mj0iNjAuMCIgc3Ryb2tlPSIjMzc0MTUxIi8+Cjx0ZXh0IHg9Ijc2IiB5PSI2NC4wIiB0ZXh0LWFuY2hvcj0iZW5kIj4xMDAwMDA8L3RleHQ+CjxsaW5lIHgxPSI4NCIgeDI9Ijg0IiB5MT0iNjAiIHkyPSIyOTAiIHN0cm9rZT0iI2U1ZTdlYiIvPgo8bGluZSB4MT0iODQiIHgyPSI4NCIgeTE9IjI5MCIgeTI9IjI5NSIgc3Ryb2tlPSIjZTVlN2ViIi8+Cjx0ZXh0IHg9Ijg0IiB5PSIzMTEiIHRleHQtYW5jaG9yPSJtaWRkbGUiIGRhdGEtYXhpcy1sYWJlbD0idHJ1ZSI+MDwvdGV4dD4KPGxpbmUgeDE9IjE1NiIgeDI9IjE1NiIgeTE9IjI5MCIgeTI9IjI5NSIgc3Ryb2tlPSIjZTVlN2ViIi8+Cjx0ZXh0IHg9IjE1NiIgeT0iMzExIiB0ZXh0LWFuY2hvcj0ibWlkZGxlIiBkYXRhLWF4aXMtbGFiZWw9InRydWUiPjEwMDwvdGV4dD4KPGxpbmUgeDE9IjMxNi41IiB4Mj0iMzE2LjUiIHkxPSIyOTAiIHkyPSIyOTUiIHN0cm9rZT0iI2U1ZTdlYiIvPgo8dGV4dCB4PSIzMTYuNSIgeT0iMzExIiB0ZXh0LWFuY2hvcj0ibWlkZGxlIiBkYXRhLWF4aXMtbGFiZWw9InRydWUiPjEwMDA8L3RleHQ+CjxsaW5lIHgxPSI0NzciIHgyPSI0NzciIHkxPSIyOTAiIHkyPSIyOTUiIHN0cm9rZT0iI2U1ZTdlYiIvPgo8dGV4dCB4PSI0NzciIHk9IjMxMSIgdGV4dC1hbmNob3I9Im1pZGRsZSIgZGF0YS1heGlzLWxhYmVsPSJ0cnVlIj4xMDAwMDwvdGV4dD4KPGxpbmUgeDE9IjYzNy41IiB4Mj0iNjM3LjUiIHkxPSIyOTAiIHkyPSIyOTUiIHN0cm9rZT0iI2U1ZTdlYiIvPgo8dGV4dCB4PSI2MzcuNSIgeT0iMzExIiB0ZXh0LWFuY2hvcj0ibWlkZGxlIiBkYXRhLWF4aXMtbGFiZWw9InRydWUiPjEwMDAwMDwvdGV4dD4KPGxpbmUgeDE9Ijc5OCIgeDI9Ijc5OCIgeTE9IjI5MCIgeTI9IjI5NSIgc3Ryb2tlPSIjZTVlN2ViIi8+Cjx0ZXh0IHg9Ijc5OCIgeT0iMzExIiB0ZXh0LWFuY2hvcj0ibWlkZGxlIiBkYXRhLWF4aXMtbGFiZWw9InRydWUiPjEwMDAwMDA8L3RleHQ+CjxwYXRoIGQ9Ik0xMTYgMjg3IGw1IDYgbTIgLTYgbDUgNiIgc3Ryb2tlPSIjZTVlN2ViIiBmaWxsPSJub25lIi8+Cjx0ZXh0IHg9IjQ0MSIgeT0iMzM2IiB0ZXh0LWFuY2hvcj0ibWlkZGxlIj5TZWxlY3RlZCBpbWFnZSB0cmFuc2ZlciBwZXIgbW9udGggKEdpQi9tb250aCk8L3RleHQ+Cjx0ZXh0IHg9Ijg0IiB5PSIzNTgiPldvcmtsb2FkIGF4aXM6IGxvZ2FyaXRobWljIHBvc2l0aXZlIHZhbHVlczsgemVybyBzaG93biBzZXBhcmF0ZWx5LjwvdGV4dD4KPHBvbHlsaW5lIHBvaW50cz0iODQsMjY3LjUyMSAxNTYsMjU5LjczNSAzMTYuNSwyMjkuMDk3IDQ3NywxNzYuOTU4IDYzNy41LDEyMC4wNjMgNzk4LDYyLjYyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjZTVlN2ViIiBzdHJva2Utd2lkdGg9IjIuNSIgc3Ryb2tlLWRhc2hhcnJheT0iNiA0Ii8+CjxjaXJjbGUgZGF0YS1zZXJpZXM9Im9yaWdpbiIgZGF0YS1heGlzPSIwIiBjeD0iODQiIGN5PSIyNjcuNTIxIiByPSIzLjUiIGZpbGw9IiMxMTE4MjciIHN0cm9rZT0iI2U1ZTdlYiIgc3Ryb2tlLXdpZHRoPSIyIi8+CjxjaXJjbGUgZGF0YS1zZXJpZXM9Im9yaWdpbiIgZGF0YS1heGlzPSIxMDAiIGN4PSIxNTYiIGN5PSIyNTkuNzM1IiByPSIzLjUiIGZpbGw9IiMxMTE4MjciIHN0cm9rZT0iI2U1ZTdlYiIgc3Ryb2tlLXdpZHRoPSIyIi8+CjxjaXJjbGUgZGF0YS1zZXJpZXM9Im9yaWdpbiIgZGF0YS1heGlzPSIxMDAwIiBjeD0iMzE2LjUiIGN5PSIyMjkuMDk3IiByPSIzLjUiIGZpbGw9IiMxMTE4MjciIHN0cm9rZT0iI2U1ZTdlYiIgc3Ryb2tlLXdpZHRoPSIyIi8+CjxjaXJjbGUgZGF0YS1zZXJpZXM9Im9yaWdpbiIgZGF0YS1heGlzPSIxMDAwMCIgY3g9IjQ3NyIgY3k9IjE3Ni45NTgiIHI9IjMuNSIgZmlsbD0iIzExMTgyNyIgc3Ryb2tlPSIjZTVlN2ViIiBzdHJva2Utd2lkdGg9IjIiLz4KPGNpcmNsZSBkYXRhLXNlcmllcz0ib3JpZ2luIiBkYXRhLWF4aXM9IjEwMDAwMCIgY3g9IjYzNy41IiBjeT0iMTIwLjA2MyIgcj0iMy41IiBmaWxsPSIjMTExODI3IiBzdHJva2U9IiNlNWU3ZWIiIHN0cm9rZS13aWR0aD0iMiIvPgo8Y2lyY2xlIGRhdGEtc2VyaWVzPSJvcmlnaW4iIGRhdGEtYXhpcz0iMTAwMDAwMCIgY3g9Ijc5OCIgY3k9IjYyLjYyNCIgcj0iMy41IiBmaWxsPSIjMTExODI3IiBzdHJva2U9IiNlNWU3ZWIiIHN0cm9rZS13aWR0aD0iMiIvPgo8bGluZSB4MT0iODQiIHgyPSIxMTQiIHkxPSIzODAiIHkyPSIzODAiIHN0cm9rZT0iI2U1ZTdlYiIgc3Ryb2tlLXdpZHRoPSIyLjUiIHN0cm9rZS1kYXNoYXJyYXk9IjYgNCIvPgo8dGV4dCB4PSIxMjMiIHk9IjM4NCI+T3JpZ2luIHNlcnZpY2U8L3RleHQ+Cjxwb2x5bGluZSBkYXRhLXNlcmllcz0ibmF0aXZlIiBwb2ludHM9Ijg0LDI4Ny42MiAxNTYsMjcyLjY5MSAzMTYuNSwyMzIuMjUyIDQ3NywxNzcuMzI4IDYzNy41LDEyMC4xMDEgNzk4LDYyLjYyOCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjNjBhNWZhIiBzdHJva2Utd2lkdGg9IjIuNSIgc3Ryb2tlLWRhc2hhcnJheT0iMTAgNCIvPgo8Y2lyY2xlIGRhdGEtc2VyaWVzPSJuYXRpdmUiIGRhdGEtYXhpcz0iMCIgY3g9Ijg0IiBjeT0iMjg3LjYyIiByPSI0IiBmaWxsPSIjMTExODI3IiBzdHJva2U9IiM2MGE1ZmEiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWRhc2hhcnJheT0iMTAgNCIvPgo8Y2lyY2xlIGRhdGEtc2VyaWVzPSJuYXRpdmUiIGRhdGEtYXhpcz0iMTAwIiBjeD0iMTU2IiBjeT0iMjcyLjY5MSIgcj0iNCIgZmlsbD0iIzExMTgyNyIgc3Ryb2tlPSIjNjBhNWZhIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1kYXNoYXJyYXk9IjEwIDQiLz4KPGNpcmNsZSBkYXRhLXNlcmllcz0ibmF0aXZlIiBkYXRhLWF4aXM9IjEwMDAiIGN4PSIzMTYuNSIgY3k9IjIzMi4yNTIiIHI9IjQiIGZpbGw9IiMxMTE4MjciIHN0cm9rZT0iIzYwYTVmYSIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtZGFzaGFycmF5PSIxMCA0Ii8+CjxjaXJjbGUgZGF0YS1zZXJpZXM9Im5hdGl2ZSIgZGF0YS1heGlzPSIxMDAwMCIgY3g9IjQ3NyIgY3k9IjE3Ny4zMjgiIHI9IjQiIGZpbGw9IiMxMTE4MjciIHN0cm9rZT0iIzYwYTVmYSIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtZGFzaGFycmF5PSIxMCA0Ii8+CjxjaXJjbGUgZGF0YS1zZXJpZXM9Im5hdGl2ZSIgZGF0YS1heGlzPSIxMDAwMDAiIGN4PSI2MzcuNSIgY3k9IjEyMC4xMDEiIHI9IjQiIGZpbGw9IiMxMTE4MjciIHN0cm9rZT0iIzYwYTVmYSIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtZGFzaGFycmF5PSIxMCA0Ii8+CjxjaXJjbGUgZGF0YS1zZXJpZXM9Im5hdGl2ZSIgZGF0YS1heGlzPSIxMDAwMDAwIiBjeD0iNzk4IiBjeT0iNjIuNjI4IiByPSI0IiBmaWxsPSIjMTExODI3IiBzdHJva2U9IiM2MGE1ZmEiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWRhc2hhcnJheT0iMTAgNCIvPgo8bGluZSB4MT0iODQiIHgyPSIxMTQiIHkxPSI0MDIiIHkyPSI0MDIiIHN0cm9rZT0iIzYwYTVmYSIgc3Ryb2tlLXdpZHRoPSIyLjUiIHN0cm9rZS1kYXNoYXJyYXk9IjEwIDQiLz4KPHRleHQgeD0iMTIzIiB5PSI0MDYiPlBsYW5uaW5nIG5hdGl2ZSBiYWNrZW5kPC90ZXh0Pgo8L2c+PC9zdmc+Cg==" alt="Azure Container Registry image storage and transfer · Selected image transfer per month: monthly service charges by Selected image transfer per month. 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.

| Selected image transfer per month (GiB/month) | Origin | Target scenario | Target | Difference |
| -: | -: | - | -: | -: |
| 0 | 24.6 | Planning native backend | 11 | -13.6 |
| 100 | 33.6 | Planning native backend | 20 | -13.6 |
| 1000 | 114.6 | Planning native backend | 101 | -13.6 |
| 10000 | 924.6 | Planning native backend | 911 | -13.6 |
| 100000 | 9024.6 | Planning native backend | 9011 | -13.6 |
| 1000000 | 90024.6 | Planning native backend | 90011 | -13.6 |

**Curve assumptions**

| Target scenario | Assumption | Value | Unit |
| - | - | -: | - |
| Planning native backend | Origin price guess · Retained container image data | 0.1 | USD/GiB-month |
| Planning native backend | Origin price guess · Selected billable image transfer | 0.09 | USD/GiB |
| Planning native backend | Origin price guess · Image manifest and layer read requests | 0 | USD/Requests |
| Planning native backend | Origin price guess · Image upload and manifest write requests | 0 | USD/Requests |
| Planning native backend | Origin price guess · Allocated registry service tier | 0.02 | USD/registry-hour |
| Planning native backend | Target / origin retained image bytes | 1.1 | multiplier |
| Planning native backend | Target reads per source read | 1 | operations/read |
| Planning native backend | Target writes per source write | 1.1 | operations/write |
| Planning native backend | Target / origin billable image transfer | 1 | multiplier |
| Planning native backend | Target price guess · read | 0 | USD/read |
| Planning native backend | Target price guess · write | 0 | USD/write |
| Planning native backend | Target price guess · provider operation | 0 | USD/provider operation |
| Planning native backend | Target price guess · GiB-month | 0.1 | 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 |

* Only the selected native meter varies; other usage quantities and assumptions retain their displayed 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.
* Unit prices and capacity coefficients are editable authored planning guesses, not verified provider tariffs or measured capacity.
* The origin is the exact registered azure::1.0.0::container-registry identity. Future aliases and renamed provider products require explicit registry and model updates.
* Stored image data, selected transfer bytes and read/write requests are independent source meters. Requests never create inferred image bytes or registry instances.
* Zero-rate API meters retain physical request quantities; they do not establish that all provider features are free.
* These reverse-cloud directions can be designed rather than delivered. A cost comparison does not establish an implemented adapter.
* The source registry tier is independently allocated in registry-hours. The target tariff must declare whether it has its own tier minimum.
* All target rates are editable authored planning guesses, not verified current list prices, customer discounts or benchmark evidence.
* Artifact storage and selected transferred bytes are priced independently; registry API calls are not image-pull bytes. Fixed premium registry tiers require separate allocation.

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

Excluded costs and workload features:

* Image scanning, signing, build minutes, vulnerability feeds, geo-replication, regional cache services, private endpoints and network routes outside the selected scope.
* Provider free storage, included tier allowances, volume discounts, architecture-specific image inflation and one-time cross-cloud migration.
* 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-467139ccc3b7867e112f92665e29e6fc37f11022` / `2026-10-18.planning.1`. Curve: `workload-2`.

### Azure Container Registry image storage and transfer · Image read requests per second

**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+Cjx0aXRsZSBpZD0idGl0bGUiPkF6dXJlIENvbnRhaW5lciBSZWdpc3RyeSBpbWFnZSBzdG9yYWdlIGFuZCB0cmFuc2ZlciDCtyBJbWFnZSByZWFkIHJlcXVlc3RzIHBlciBzZWNvbmQ8L3RpdGxlPgo8ZGVzYyBpZD0iZGVzYyI+UGxhbm5pbmcgZXN0aW1hdGVzIGluIFVTRCBieSBJbWFnZSByZWFkIHJlcXVlc3RzIHBlciBzZWNvbmQuIFdvcmtsb2FkIGF4aXM6IGxvZ2FyaXRobWljIHBvc2l0aXZlIHZhbHVlczsgemVybyBzaG93biBzZXBhcmF0ZWx5LiBDb3N0IGF4aXM6IGxvZ2FyaXRobWljIHBvc2l0aXZlIHZhbHVlcy4gRXhhY3QgdmFsdWVzLCBhc3N1bXB0aW9ucyBhbmQgZXhjbHVzaW9ucyBhcHBlYXIgaW4gdGhlIGFkamFjZW50IHRhYmxlIGFuZCB0ZXh0LiBBZGFwdGVyIGhvc3RpbmcgYW5kIFRlbnNvcjkgZmVlcyBhcmUgZXhjbHVkZWQuPC9kZXNjPgo8cmVjdCB3aWR0aD0iODYwIiBoZWlnaHQ9IjEwMCUiIGZpbGw9IiNmZmZmZmYiLz4KPGcgZm9udC1mYW1pbHk9InN5c3RlbS11aSxzYW5zLXNlcmlmIiBmb250LXNpemU9IjEzIiBmaWxsPSIjMWYyOTM3Ij4KPHRleHQgeD0iODQiIHk9IjI2IiBmb250LXNpemU9IjE3IiBmb250LXdlaWdodD0iNjAwIj5BenVyZSBDb250YWluZXIgUmVnaXN0cnkgaW1hZ2Ugc3RvcmFnZSBhbmQgdHJhbnNmZXIgwrcgSW1hZ2UgcmVhZCByZXF1ZXN0cyBwZXIgc2Vjb25kPC90ZXh0Pgo8dGV4dCB4PSI4NCIgeT0iNDciPk1vbnRobHkgc2VydmljZSBjaGFyZ2VzIChVU0Q7IGxvZ2FyaXRobWljIGNvc3QgYXhpcyk8L3RleHQ+CjxsaW5lIHgxPSI4NCIgeDI9Ijc5OCIgeTE9IjI5MC4wIiB5Mj0iMjkwLjAiIHN0cm9rZT0iI2U1ZTdlYiIvPgo8dGV4dCB4PSI3NiIgeT0iMjk0LjAiIHRleHQtYW5jaG9yPSJlbmQiPjEwMDwvdGV4dD4KPGxpbmUgeDE9Ijg0IiB4Mj0iNzk4IiB5MT0iNjAuMCIgeTI9IjYwLjAiIHN0cm9rZT0iI2U1ZTdlYiIvPgo8dGV4dCB4PSI3NiIgeT0iNjQuMCIgdGV4dC1hbmNob3I9ImVuZCI+MTAwMDwvdGV4dD4KPGxpbmUgeDE9Ijg0IiB4Mj0iODQiIHkxPSI2MCIgeTI9IjI5MCIgc3Ryb2tlPSIjMWYyOTM3Ii8+CjxsaW5lIHgxPSI4NCIgeDI9Ijg0IiB5MT0iMjkwIiB5Mj0iMjk1IiBzdHJva2U9IiMxZjI5MzciLz4KPHRleHQgeD0iODQiIHk9IjMxMSIgdGV4dC1hbmNob3I9Im1pZGRsZSIgZGF0YS1heGlzLWxhYmVsPSJ0cnVlIj4wPC90ZXh0Pgo8bGluZSB4MT0iMTU2IiB4Mj0iMTU2IiB5MT0iMjkwIiB5Mj0iMjk1IiBzdHJva2U9IiMxZjI5MzciLz4KPHRleHQgeD0iMTU2IiB5PSIzMTEiIHRleHQtYW5jaG9yPSJtaWRkbGUiIGRhdGEtYXhpcy1sYWJlbD0idHJ1ZSI+MTwvdGV4dD4KPGxpbmUgeDE9IjMxNi41IiB4Mj0iMzE2LjUiIHkxPSIyOTAiIHkyPSIyOTUiIHN0cm9rZT0iIzFmMjkzNyIvPgo8dGV4dCB4PSIzMTYuNSIgeT0iMzExIiB0ZXh0LWFuY2hvcj0ibWlkZGxlIiBkYXRhLWF4aXMtbGFiZWw9InRydWUiPjEwPC90ZXh0Pgo8bGluZSB4MT0iNDc3IiB4Mj0iNDc3IiB5MT0iMjkwIiB5Mj0iMjk1IiBzdHJva2U9IiMxZjI5MzciLz4KPHRleHQgeD0iNDc3IiB5PSIzMTEiIHRleHQtYW5jaG9yPSJtaWRkbGUiIGRhdGEtYXhpcy1sYWJlbD0idHJ1ZSI+MTAwPC90ZXh0Pgo8bGluZSB4MT0iNjM3LjUiIHgyPSI2MzcuNSIgeTE9IjI5MCIgeTI9IjI5NSIgc3Ryb2tlPSIjMWYyOTM3Ii8+Cjx0ZXh0IHg9IjYzNy41IiB5PSIzMTEiIHRleHQtYW5jaG9yPSJtaWRkbGUiIGRhdGEtYXhpcy1sYWJlbD0idHJ1ZSI+MTAwMDwvdGV4dD4KPGxpbmUgeDE9Ijc5OCIgeDI9Ijc5OCIgeTE9IjI5MCIgeTI9IjI5NSIgc3Ryb2tlPSIjMWYyOTM3Ii8+Cjx0ZXh0IHg9Ijc5OCIgeT0iMzExIiB0ZXh0LWFuY2hvcj0ibWlkZGxlIiBkYXRhLWF4aXMtbGFiZWw9InRydWUiPjEwMDAwPC90ZXh0Pgo8cGF0aCBkPSJNMTE2IDI4NyBsNSA2IG0yIC02IGw1IDYiIHN0cm9rZT0iIzFmMjkzNyIgZmlsbD0ibm9uZSIvPgo8dGV4dCB4PSI0NDEiIHk9IjMzNiIgdGV4dC1hbmNob3I9Im1pZGRsZSI+SW1hZ2UgcmVhZCByZXF1ZXN0cyBwZXIgc2Vjb25kIChyZXF1ZXN0cy9zKTwvdGV4dD4KPHRleHQgeD0iODQiIHk9IjM1OCI+V29ya2xvYWQgYXhpczogbG9nYXJpdGhtaWMgcG9zaXRpdmUgdmFsdWVzOyB6ZXJvIHNob3duIHNlcGFyYXRlbHkuPC90ZXh0Pgo8cG9seWxpbmUgcG9pbnRzPSI4NCwyNzYuMzg4IDE1NiwyNzYuMzg4IDMxNi41LDI3Ni4zODggNDc3LDI3Ni4zODggNjM3LjUsMjc2LjM4OCA3OTgsMjc2LjM4OCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMWYyOTM3IiBzdHJva2Utd2lkdGg9IjIuNSIgc3Ryb2tlLWRhc2hhcnJheT0iNiA0Ii8+CjxjaXJjbGUgZGF0YS1zZXJpZXM9Im9yaWdpbiIgZGF0YS1heGlzPSIwIiBjeD0iODQiIGN5PSIyNzYuMzg4IiByPSIzLjUiIGZpbGw9IiNmZmZmZmYiIHN0cm9rZT0iIzFmMjkzNyIgc3Ryb2tlLXdpZHRoPSIyIi8+CjxjaXJjbGUgZGF0YS1zZXJpZXM9Im9yaWdpbiIgZGF0YS1heGlzPSIxIiBjeD0iMTU2IiBjeT0iMjc2LjM4OCIgcj0iMy41IiBmaWxsPSIjZmZmZmZmIiBzdHJva2U9IiMxZjI5MzciIHN0cm9rZS13aWR0aD0iMiIvPgo8Y2lyY2xlIGRhdGEtc2VyaWVzPSJvcmlnaW4iIGRhdGEtYXhpcz0iMTAiIGN4PSIzMTYuNSIgY3k9IjI3Ni4zODgiIHI9IjMuNSIgZmlsbD0iI2ZmZmZmZiIgc3Ryb2tlPSIjMWYyOTM3IiBzdHJva2Utd2lkdGg9IjIiLz4KPGNpcmNsZSBkYXRhLXNlcmllcz0ib3JpZ2luIiBkYXRhLWF4aXM9IjEwMCIgY3g9IjQ3NyIgY3k9IjI3Ni4zODgiIHI9IjMuNSIgZmlsbD0iI2ZmZmZmZiIgc3Ryb2tlPSIjMWYyOTM3IiBzdHJva2Utd2lkdGg9IjIiLz4KPGNpcmNsZSBkYXRhLXNlcmllcz0ib3JpZ2luIiBkYXRhLWF4aXM9IjEwMDAiIGN4PSI2MzcuNSIgY3k9IjI3Ni4zODgiIHI9IjMuNSIgZmlsbD0iI2ZmZmZmZiIgc3Ryb2tlPSIjMWYyOTM3IiBzdHJva2Utd2lkdGg9IjIiLz4KPGNpcmNsZSBkYXRhLXNlcmllcz0ib3JpZ2luIiBkYXRhLWF4aXM9IjEwMDAwIiBjeD0iNzk4IiBjeT0iMjc2LjM4OCIgcj0iMy41IiBmaWxsPSIjZmZmZmZmIiBzdHJva2U9IiMxZjI5MzciIHN0cm9rZS13aWR0aD0iMiIvPgo8bGluZSB4MT0iODQiIHgyPSIxMTQiIHkxPSIzODAiIHkyPSIzODAiIHN0cm9rZT0iIzFmMjkzNyIgc3Ryb2tlLXdpZHRoPSIyLjUiIHN0cm9rZS1kYXNoYXJyYXk9IjYgNCIvPgo8dGV4dCB4PSIxMjMiIHk9IjM4NCI+T3JpZ2luIHNlcnZpY2U8L3RleHQ+Cjxwb2x5bGluZSBkYXRhLXNlcmllcz0ibmF0aXZlIiBwb2ludHM9Ijg0LDI4OS4wMDYgMTU2LDI4OS4wMDYgMzE2LjUsMjg5LjAwNiA0NzcsMjg5LjAwNiA2MzcuNSwyODkuMDA2IDc5OCwyODkuMDA2IiBmaWxsPSJub25lIiBzdHJva2U9IiMxZDRlZDgiIHN0cm9rZS13aWR0aD0iMi41IiBzdHJva2UtZGFzaGFycmF5PSIxMCA0Ii8+CjxjaXJjbGUgZGF0YS1zZXJpZXM9Im5hdGl2ZSIgZGF0YS1heGlzPSIwIiBjeD0iODQiIGN5PSIyODkuMDA2IiByPSI0IiBmaWxsPSIjZmZmZmZmIiBzdHJva2U9IiMxZDRlZDgiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWRhc2hhcnJheT0iMTAgNCIvPgo8Y2lyY2xlIGRhdGEtc2VyaWVzPSJuYXRpdmUiIGRhdGEtYXhpcz0iMSIgY3g9IjE1NiIgY3k9IjI4OS4wMDYiIHI9IjQiIGZpbGw9IiNmZmZmZmYiIHN0cm9rZT0iIzFkNGVkOCIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtZGFzaGFycmF5PSIxMCA0Ii8+CjxjaXJjbGUgZGF0YS1zZXJpZXM9Im5hdGl2ZSIgZGF0YS1heGlzPSIxMCIgY3g9IjMxNi41IiBjeT0iMjg5LjAwNiIgcj0iNCIgZmlsbD0iI2ZmZmZmZiIgc3Ryb2tlPSIjMWQ0ZWQ4IiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1kYXNoYXJyYXk9IjEwIDQiLz4KPGNpcmNsZSBkYXRhLXNlcmllcz0ibmF0aXZlIiBkYXRhLWF4aXM9IjEwMCIgY3g9IjQ3NyIgY3k9IjI4OS4wMDYiIHI9IjQiIGZpbGw9IiNmZmZmZmYiIHN0cm9rZT0iIzFkNGVkOCIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtZGFzaGFycmF5PSIxMCA0Ii8+CjxjaXJjbGUgZGF0YS1zZXJpZXM9Im5hdGl2ZSIgZGF0YS1heGlzPSIxMDAwIiBjeD0iNjM3LjUiIGN5PSIyODkuMDA2IiByPSI0IiBmaWxsPSIjZmZmZmZmIiBzdHJva2U9IiMxZDRlZDgiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWRhc2hhcnJheT0iMTAgNCIvPgo8Y2lyY2xlIGRhdGEtc2VyaWVzPSJuYXRpdmUiIGRhdGEtYXhpcz0iMTAwMDAiIGN4PSI3OTgiIGN5PSIyODkuMDA2IiByPSI0IiBmaWxsPSIjZmZmZmZmIiBzdHJva2U9IiMxZDRlZDgiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWRhc2hhcnJheT0iMTAgNCIvPgo8bGluZSB4MT0iODQiIHgyPSIxMTQiIHkxPSI0MDIiIHkyPSI0MDIiIHN0cm9rZT0iIzFkNGVkOCIgc3Ryb2tlLXdpZHRoPSIyLjUiIHN0cm9rZS1kYXNoYXJyYXk9IjEwIDQiLz4KPHRleHQgeD0iMTIzIiB5PSI0MDYiPlBsYW5uaW5nIG5hdGl2ZSBiYWNrZW5kPC90ZXh0Pgo8L2c+PC9zdmc+Cg==" alt="Azure Container Registry image storage and transfer · Image read requests per second: monthly service charges by Image read requests per second. Exact values are in the following table." />

  <img className="t9-diagram-dark" src="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA4NjAgNDI2IiByb2xlPSJpbWciIGFyaWEtbGFiZWxsZWRieT0idGl0bGUgZGVzYyI+Cjx0aXRsZSBpZD0idGl0bGUiPkF6dXJlIENvbnRhaW5lciBSZWdpc3RyeSBpbWFnZSBzdG9yYWdlIGFuZCB0cmFuc2ZlciDCtyBJbWFnZSByZWFkIHJlcXVlc3RzIHBlciBzZWNvbmQ8L3RpdGxlPgo8ZGVzYyBpZD0iZGVzYyI+UGxhbm5pbmcgZXN0aW1hdGVzIGluIFVTRCBieSBJbWFnZSByZWFkIHJlcXVlc3RzIHBlciBzZWNvbmQuIFdvcmtsb2FkIGF4aXM6IGxvZ2FyaXRobWljIHBvc2l0aXZlIHZhbHVlczsgemVybyBzaG93biBzZXBhcmF0ZWx5LiBDb3N0IGF4aXM6IGxvZ2FyaXRobWljIHBvc2l0aXZlIHZhbHVlcy4gRXhhY3QgdmFsdWVzLCBhc3N1bXB0aW9ucyBhbmQgZXhjbHVzaW9ucyBhcHBlYXIgaW4gdGhlIGFkamFjZW50IHRhYmxlIGFuZCB0ZXh0LiBBZGFwdGVyIGhvc3RpbmcgYW5kIFRlbnNvcjkgZmVlcyBhcmUgZXhjbHVkZWQuPC9kZXNjPgo8cmVjdCB3aWR0aD0iODYwIiBoZWlnaHQ9IjEwMCUiIGZpbGw9IiMxMTE4MjciLz4KPGcgZm9udC1mYW1pbHk9InN5c3RlbS11aSxzYW5zLXNlcmlmIiBmb250LXNpemU9IjEzIiBmaWxsPSIjZTVlN2ViIj4KPHRleHQgeD0iODQiIHk9IjI2IiBmb250LXNpemU9IjE3IiBmb250LXdlaWdodD0iNjAwIj5BenVyZSBDb250YWluZXIgUmVnaXN0cnkgaW1hZ2Ugc3RvcmFnZSBhbmQgdHJhbnNmZXIgwrcgSW1hZ2UgcmVhZCByZXF1ZXN0cyBwZXIgc2Vjb25kPC90ZXh0Pgo8dGV4dCB4PSI4NCIgeT0iNDciPk1vbnRobHkgc2VydmljZSBjaGFyZ2VzIChVU0Q7IGxvZ2FyaXRobWljIGNvc3QgYXhpcyk8L3RleHQ+CjxsaW5lIHgxPSI4NCIgeDI9Ijc5OCIgeTE9IjI5MC4wIiB5Mj0iMjkwLjAiIHN0cm9rZT0iIzM3NDE1MSIvPgo8dGV4dCB4PSI3NiIgeT0iMjk0LjAiIHRleHQtYW5jaG9yPSJlbmQiPjEwMDwvdGV4dD4KPGxpbmUgeDE9Ijg0IiB4Mj0iNzk4IiB5MT0iNjAuMCIgeTI9IjYwLjAiIHN0cm9rZT0iIzM3NDE1MSIvPgo8dGV4dCB4PSI3NiIgeT0iNjQuMCIgdGV4dC1hbmNob3I9ImVuZCI+MTAwMDwvdGV4dD4KPGxpbmUgeDE9Ijg0IiB4Mj0iODQiIHkxPSI2MCIgeTI9IjI5MCIgc3Ryb2tlPSIjZTVlN2ViIi8+CjxsaW5lIHgxPSI4NCIgeDI9Ijg0IiB5MT0iMjkwIiB5Mj0iMjk1IiBzdHJva2U9IiNlNWU3ZWIiLz4KPHRleHQgeD0iODQiIHk9IjMxMSIgdGV4dC1hbmNob3I9Im1pZGRsZSIgZGF0YS1heGlzLWxhYmVsPSJ0cnVlIj4wPC90ZXh0Pgo8bGluZSB4MT0iMTU2IiB4Mj0iMTU2IiB5MT0iMjkwIiB5Mj0iMjk1IiBzdHJva2U9IiNlNWU3ZWIiLz4KPHRleHQgeD0iMTU2IiB5PSIzMTEiIHRleHQtYW5jaG9yPSJtaWRkbGUiIGRhdGEtYXhpcy1sYWJlbD0idHJ1ZSI+MTwvdGV4dD4KPGxpbmUgeDE9IjMxNi41IiB4Mj0iMzE2LjUiIHkxPSIyOTAiIHkyPSIyOTUiIHN0cm9rZT0iI2U1ZTdlYiIvPgo8dGV4dCB4PSIzMTYuNSIgeT0iMzExIiB0ZXh0LWFuY2hvcj0ibWlkZGxlIiBkYXRhLWF4aXMtbGFiZWw9InRydWUiPjEwPC90ZXh0Pgo8bGluZSB4MT0iNDc3IiB4Mj0iNDc3IiB5MT0iMjkwIiB5Mj0iMjk1IiBzdHJva2U9IiNlNWU3ZWIiLz4KPHRleHQgeD0iNDc3IiB5PSIzMTEiIHRleHQtYW5jaG9yPSJtaWRkbGUiIGRhdGEtYXhpcy1sYWJlbD0idHJ1ZSI+MTAwPC90ZXh0Pgo8bGluZSB4MT0iNjM3LjUiIHgyPSI2MzcuNSIgeTE9IjI5MCIgeTI9IjI5NSIgc3Ryb2tlPSIjZTVlN2ViIi8+Cjx0ZXh0IHg9IjYzNy41IiB5PSIzMTEiIHRleHQtYW5jaG9yPSJtaWRkbGUiIGRhdGEtYXhpcy1sYWJlbD0idHJ1ZSI+MTAwMDwvdGV4dD4KPGxpbmUgeDE9Ijc5OCIgeDI9Ijc5OCIgeTE9IjI5MCIgeTI9IjI5NSIgc3Ryb2tlPSIjZTVlN2ViIi8+Cjx0ZXh0IHg9Ijc5OCIgeT0iMzExIiB0ZXh0LWFuY2hvcj0ibWlkZGxlIiBkYXRhLWF4aXMtbGFiZWw9InRydWUiPjEwMDAwPC90ZXh0Pgo8cGF0aCBkPSJNMTE2IDI4NyBsNSA2IG0yIC02IGw1IDYiIHN0cm9rZT0iI2U1ZTdlYiIgZmlsbD0ibm9uZSIvPgo8dGV4dCB4PSI0NDEiIHk9IjMzNiIgdGV4dC1hbmNob3I9Im1pZGRsZSI+SW1hZ2UgcmVhZCByZXF1ZXN0cyBwZXIgc2Vjb25kIChyZXF1ZXN0cy9zKTwvdGV4dD4KPHRleHQgeD0iODQiIHk9IjM1OCI+V29ya2xvYWQgYXhpczogbG9nYXJpdGhtaWMgcG9zaXRpdmUgdmFsdWVzOyB6ZXJvIHNob3duIHNlcGFyYXRlbHkuPC90ZXh0Pgo8cG9seWxpbmUgcG9pbnRzPSI4NCwyNzYuMzg4IDE1NiwyNzYuMzg4IDMxNi41LDI3Ni4zODggNDc3LDI3Ni4zODggNjM3LjUsMjc2LjM4OCA3OTgsMjc2LjM4OCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjZTVlN2ViIiBzdHJva2Utd2lkdGg9IjIuNSIgc3Ryb2tlLWRhc2hhcnJheT0iNiA0Ii8+CjxjaXJjbGUgZGF0YS1zZXJpZXM9Im9yaWdpbiIgZGF0YS1heGlzPSIwIiBjeD0iODQiIGN5PSIyNzYuMzg4IiByPSIzLjUiIGZpbGw9IiMxMTE4MjciIHN0cm9rZT0iI2U1ZTdlYiIgc3Ryb2tlLXdpZHRoPSIyIi8+CjxjaXJjbGUgZGF0YS1zZXJpZXM9Im9yaWdpbiIgZGF0YS1heGlzPSIxIiBjeD0iMTU2IiBjeT0iMjc2LjM4OCIgcj0iMy41IiBmaWxsPSIjMTExODI3IiBzdHJva2U9IiNlNWU3ZWIiIHN0cm9rZS13aWR0aD0iMiIvPgo8Y2lyY2xlIGRhdGEtc2VyaWVzPSJvcmlnaW4iIGRhdGEtYXhpcz0iMTAiIGN4PSIzMTYuNSIgY3k9IjI3Ni4zODgiIHI9IjMuNSIgZmlsbD0iIzExMTgyNyIgc3Ryb2tlPSIjZTVlN2ViIiBzdHJva2Utd2lkdGg9IjIiLz4KPGNpcmNsZSBkYXRhLXNlcmllcz0ib3JpZ2luIiBkYXRhLWF4aXM9IjEwMCIgY3g9IjQ3NyIgY3k9IjI3Ni4zODgiIHI9IjMuNSIgZmlsbD0iIzExMTgyNyIgc3Ryb2tlPSIjZTVlN2ViIiBzdHJva2Utd2lkdGg9IjIiLz4KPGNpcmNsZSBkYXRhLXNlcmllcz0ib3JpZ2luIiBkYXRhLWF4aXM9IjEwMDAiIGN4PSI2MzcuNSIgY3k9IjI3Ni4zODgiIHI9IjMuNSIgZmlsbD0iIzExMTgyNyIgc3Ryb2tlPSIjZTVlN2ViIiBzdHJva2Utd2lkdGg9IjIiLz4KPGNpcmNsZSBkYXRhLXNlcmllcz0ib3JpZ2luIiBkYXRhLWF4aXM9IjEwMDAwIiBjeD0iNzk4IiBjeT0iMjc2LjM4OCIgcj0iMy41IiBmaWxsPSIjMTExODI3IiBzdHJva2U9IiNlNWU3ZWIiIHN0cm9rZS13aWR0aD0iMiIvPgo8bGluZSB4MT0iODQiIHgyPSIxMTQiIHkxPSIzODAiIHkyPSIzODAiIHN0cm9rZT0iI2U1ZTdlYiIgc3Ryb2tlLXdpZHRoPSIyLjUiIHN0cm9rZS1kYXNoYXJyYXk9IjYgNCIvPgo8dGV4dCB4PSIxMjMiIHk9IjM4NCI+T3JpZ2luIHNlcnZpY2U8L3RleHQ+Cjxwb2x5bGluZSBkYXRhLXNlcmllcz0ibmF0aXZlIiBwb2ludHM9Ijg0LDI4OS4wMDYgMTU2LDI4OS4wMDYgMzE2LjUsMjg5LjAwNiA0NzcsMjg5LjAwNiA2MzcuNSwyODkuMDA2IDc5OCwyODkuMDA2IiBmaWxsPSJub25lIiBzdHJva2U9IiM2MGE1ZmEiIHN0cm9rZS13aWR0aD0iMi41IiBzdHJva2UtZGFzaGFycmF5PSIxMCA0Ii8+CjxjaXJjbGUgZGF0YS1zZXJpZXM9Im5hdGl2ZSIgZGF0YS1heGlzPSIwIiBjeD0iODQiIGN5PSIyODkuMDA2IiByPSI0IiBmaWxsPSIjMTExODI3IiBzdHJva2U9IiM2MGE1ZmEiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWRhc2hhcnJheT0iMTAgNCIvPgo8Y2lyY2xlIGRhdGEtc2VyaWVzPSJuYXRpdmUiIGRhdGEtYXhpcz0iMSIgY3g9IjE1NiIgY3k9IjI4OS4wMDYiIHI9IjQiIGZpbGw9IiMxMTE4MjciIHN0cm9rZT0iIzYwYTVmYSIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtZGFzaGFycmF5PSIxMCA0Ii8+CjxjaXJjbGUgZGF0YS1zZXJpZXM9Im5hdGl2ZSIgZGF0YS1heGlzPSIxMCIgY3g9IjMxNi41IiBjeT0iMjg5LjAwNiIgcj0iNCIgZmlsbD0iIzExMTgyNyIgc3Ryb2tlPSIjNjBhNWZhIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1kYXNoYXJyYXk9IjEwIDQiLz4KPGNpcmNsZSBkYXRhLXNlcmllcz0ibmF0aXZlIiBkYXRhLWF4aXM9IjEwMCIgY3g9IjQ3NyIgY3k9IjI4OS4wMDYiIHI9IjQiIGZpbGw9IiMxMTE4MjciIHN0cm9rZT0iIzYwYTVmYSIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtZGFzaGFycmF5PSIxMCA0Ii8+CjxjaXJjbGUgZGF0YS1zZXJpZXM9Im5hdGl2ZSIgZGF0YS1heGlzPSIxMDAwIiBjeD0iNjM3LjUiIGN5PSIyODkuMDA2IiByPSI0IiBmaWxsPSIjMTExODI3IiBzdHJva2U9IiM2MGE1ZmEiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWRhc2hhcnJheT0iMTAgNCIvPgo8Y2lyY2xlIGRhdGEtc2VyaWVzPSJuYXRpdmUiIGRhdGEtYXhpcz0iMTAwMDAiIGN4PSI3OTgiIGN5PSIyODkuMDA2IiByPSI0IiBmaWxsPSIjMTExODI3IiBzdHJva2U9IiM2MGE1ZmEiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWRhc2hhcnJheT0iMTAgNCIvPgo8bGluZSB4MT0iODQiIHgyPSIxMTQiIHkxPSI0MDIiIHkyPSI0MDIiIHN0cm9rZT0iIzYwYTVmYSIgc3Ryb2tlLXdpZHRoPSIyLjUiIHN0cm9rZS1kYXNoYXJyYXk9IjEwIDQiLz4KPHRleHQgeD0iMTIzIiB5PSI0MDYiPlBsYW5uaW5nIG5hdGl2ZSBiYWNrZW5kPC90ZXh0Pgo8L2c+PC9zdmc+Cg==" alt="Azure Container Registry image storage and transfer · Image read requests per second: monthly service charges by Image read requests per second. 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.

| Image read requests per second (requests/s) | Origin | Target scenario | Target | Difference |
| -: | -: | - | -: | -: |
| 0 | 114.6 | Planning native backend | 101 | -13.6 |
| 1 | 114.6 | Planning native backend | 101 | -13.6 |
| 10 | 114.6 | Planning native backend | 101 | -13.6 |
| 100 | 114.6 | Planning native backend | 101 | -13.6 |
| 1000 | 114.6 | Planning native backend | 101 | -13.6 |
| 10000 | 114.6 | Planning native backend | 101 | -13.6 |

**Curve assumptions**

| Target scenario | Assumption | Value | Unit |
| - | - | -: | - |
| Planning native backend | Origin price guess · Retained container image data | 0.1 | USD/GiB-month |
| Planning native backend | Origin price guess · Selected billable image transfer | 0.09 | USD/GiB |
| Planning native backend | Origin price guess · Image manifest and layer read requests | 0 | USD/Requests |
| Planning native backend | Origin price guess · Image upload and manifest write requests | 0 | USD/Requests |
| Planning native backend | Origin price guess · Allocated registry service tier | 0.02 | USD/registry-hour |
| Planning native backend | Target / origin retained image bytes | 1.1 | multiplier |
| Planning native backend | Target reads per source read | 1 | operations/read |
| Planning native backend | Target writes per source write | 1.1 | operations/write |
| Planning native backend | Target / origin billable image transfer | 1 | multiplier |
| Planning native backend | Target price guess · read | 0 | USD/read |
| Planning native backend | Target price guess · write | 0 | USD/write |
| Planning native backend | Target price guess · provider operation | 0 | USD/provider operation |
| Planning native backend | Target price guess · GiB-month | 0.1 | 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 |

* Only the selected native meter varies; other usage quantities and assumptions retain their displayed 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.
* Unit prices and capacity coefficients are editable authored planning guesses, not verified provider tariffs or measured capacity.
* The origin is the exact registered azure::1.0.0::container-registry identity. Future aliases and renamed provider products require explicit registry and model updates.
* Stored image data, selected transfer bytes and read/write requests are independent source meters. Requests never create inferred image bytes or registry instances.
* Zero-rate API meters retain physical request quantities; they do not establish that all provider features are free.
* These reverse-cloud directions can be designed rather than delivered. A cost comparison does not establish an implemented adapter.
* The source registry tier is independently allocated in registry-hours. The target tariff must declare whether it has its own tier minimum.
* All target rates are editable authored planning guesses, not verified current list prices, customer discounts or benchmark evidence.
* Artifact storage and selected transferred bytes are priced independently; registry API calls are not image-pull bytes. Fixed premium registry tiers require separate allocation.

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

Excluded costs and workload features:

* Image scanning, signing, build minutes, vulnerability feeds, geo-replication, regional cache services, private endpoints and network routes outside the selected scope.
* Provider free storage, included tier allowances, volume discounts, architecture-specific image inflation and one-time cross-cloud migration.
* 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-467139ccc3b7867e112f92665e29e6fc37f11022` / `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.