The gap: shared volumes were mispriced
Azure gives Kubernetes two very different storage backends, and both show up as PersistentVolumes:
- Managed Disk — a block device, one pod at a time (
ReadWriteOnce). CSI driverdisk.csi.azure.com. - Azure Files — a network file share over SMB/NFS, many pods at once (
ReadWriteMany). CSI driverfile.csi.azure.com.
We had disks priced. Azure Files had no price, so any shared (RWX) PV fell back to the wrong static rate — quietly skewing storage costs for anyone using file shares.
Why Files Premium is priceable (and EFS wasn't)
Azure Files Premium is provisioned: you declare the share size in GiB and Azure bills a flat $/GiB-month on that provisioned size, regardless of how many bytes you actually store. That provisioned size is exactly the Kubernetes PVC capacity — so:
monthly cost = rate ($/GiB-month) × PVC capacity (GiB)
That's an exact answer. It's also why we skipped AWS EFS: EFS is elastic, billed on the bytes you actually store, and the Kubernetes capacity number is essentially fictional — there's no honest way to multiply it into a cost. Azure Files Premium is the opposite, so we can price it precisely.
What we changed
- Fetcher. The pricing fetcher now also pulls Azure file-share prices (Premium only) and stores them under
AzureFiles_Premium_LRSandAzureFiles_Premium_ZRS. - Consumer routing. A shared file-share PV is routed to those rows by looking at its CSI driver (
file.csi.azure.com), not theskuNamealone — because the SKU name collides with managed disks.
What's covered
| Backend | Access mode | CSI driver | Priced? |
|---|---|---|---|
| Managed Disk | ReadWriteOnce | disk.csi.azure.com | Yes |
| Azure Files Premium | ReadWriteMany | file.csi.azure.com | Yes (new) |
| Azure Files Standard | ReadWriteMany | file.csi.azure.com | No — usage-based |
<!-- callout:note -->Standard Files stays unpriced
Standard Azure Files is pay-as-you-use (billed on stored bytes, not provisioned size), so like EFS it has no reliable per-GiB provisioned rate. We leave it unpriced rather than guess.
What you'll see
If you run RWX workloads on Azure Files Premium, those volumes now carry a real monthly cost across the dashboard — storage totals, orphaned-volume detection, and namespace/team rollups all reflect the correct rate. No configuration needed; pricing updates automatically on the next fetch.
