Most of the Azure Files horror stories you have heard are billing stories, and most of the billing stories trace to one design decision Microsoft has since walked back: charging for file shares by the transaction. If you evaluate this platform on cost, evaluate the model that exists now, because provisioned v2 is a different product economically, and the difference decides real budgets.
What the transaction era did to people
The legacy pay-as-you-go model bills for the storage you use plus every ten thousand operations against the share, in categories with different prices. That sounds harmless until you remember what enterprise software does to a file share. An antivirus product runs a full scan and touches every file. A search indexer enumerates the tree nightly. A backup agent walks the namespace. None of those are user actions, all of them are billable transactions, and on a share with a few million files the monthly invoice becomes a function of which agents you installed rather than what your users did. Microsoft’s own billing documentation concedes the point, warning that services generate transactions you will be billed for even though you did not perform them. The model still exists, it is still sold, and it is still occasionally the right answer for genuinely cold data. But it is no longer the default, and it should not be yours.
Three dials, priced separately
Provisioned v2 bills a share the way you would spec a server: capacity, IOPS, and throughput, each provisioned independently, each metered hourly at a flat rate, with zero charge per transaction. On HDD media at East US list prices as I write this, storage runs about $0.0073 per GiB-month, IOPS about four cents per provisioned IOPS-month, and throughput about six cents per MiB/s-month. On SSD, storage is about ten cents per GiB-month, and the first 3,000 IOPS and 100 MiB/s are included at no charge. The arithmetic for a one-TiB departmental share lands near $31 a month on HDD at the performance floor, $61 at the recommended defaults, and $134 on SSD. Set against what a file server costs to buy, power, license, back up, and replace every five years, capacity is no longer the argument against the cloud share; the argument, where one exists, lives in the adjacent meters below.
The dials come with rules that reward deliberateness. You can raise any dial at any time and the change takes effect in minutes, but any increase locks all decreases for 24 hours, so treat scale-up as a one-way door for the day and resist the urge to fix a throttling incident with a panic-sized number you will pay for all month. IOPS and throughput are capped at five times the size-based recommendation, which stops the pathological small-share, huge-IOPS config; if you genuinely need that shape, the platform is telling you to buy SSD. Bursting is built in and free: a share accumulates credits while running under its provisioned IOPS and can burst to triple, which absorbs the Monday-morning open storm without provisioning for it. And snapshots are free until the live data plus snapshot deltas outgrow what you provisioned, at which point an overflow meter starts, quietly, which is a thing to alert on rather than discover.
Provisioned billing means the invoice reflects decisions you made, not behaviors your software exhibited. That is the entire upgrade.
Where the old models still earn a place
Provisioned v1, the original premium SSD model with performance derived from capacity, persists for existing estates and offers nothing v2 does not do better; I do not deploy it new. Pay-as-you-go earns its place in exactly one lane: large, genuinely cold data that nothing scans, where cool-tier storage at roughly $0.023 per GiB-month undercuts everything, provided you remember that “cool” charges you to read it back and that one well-meaning AV agent pointed at the share converts your archive into a transaction machine. There is one more wrinkle worth naming because it cuts against intuition: reserved capacity discounts, up to a third off at three years, exist only for the legacy models. Provisioned v2 has no reservations at all. For a stable multi-year estate, a three-year reserved pay-as-you-go hot tier is genuinely cheap capacity, and choosing v2 means trading that discount for lower base rates and the right to right-size. I make that trade almost every time, but I make it on paper, not by default.
The meters around the share
What actually surprises people on mature deployments is rarely the share; it is the scaffolding. A private endpoint bills around seven dollars a month plus a cent per gigabyte processed in each direction, which is noise for one share and a real line item for an estate that sprouted one endpoint per storage account across three regions. Egress to the internet and across your VPN is billed after the first 100 GB monthly. Azure Backup adds a protected-instance fee per 250 GiB plus vault storage for the offsite tier. Defender for Storage, if enabled at the subscription, bills per storage account and, notably, applies its per-transaction meter even to provisioned shares that otherwise have no transaction billing; on a busy file estate that deserves a deliberate include-or-exclude decision per account, not an inherited default. Azure File Sync charges five dollars per server per month with the first server free, and since January 2026 the server fee is waived entirely for servers covered by Software Assurance, connected through Azure Arc, and running a current agent, the same attestation machinery the Arc series covered. None of these breaks a business case; all of them belong in the estimate before the estimate gets approved.
How I actually size a share
Capacity first, honestly: what the current server holds plus two years of the growth rate you can prove. Media tier by latency sensitivity, not prestige: HDD for departmental documents and archives, SSD where humans wait on metadata, profile containers above all, and for anything with hundreds of concurrent handles. Start IOPS and throughput at the platform’s size-based recommendation, run two weeks, then read the metrics and cut toward reality; lowering a dial is a rate change, not a migration, and this ability to descend is the feature the old models never had. Provision the storage dial with snapshot headroom, fifteen or twenty percent above live data, so the overflow meter stays theoretical. Then put alerts on throttling and on capacity against provisioned, which is the operations article’s business. The one mistake I will keep repeating until it stops appearing in inherited environments: nobody should be creating new pay-as-you-go shares in 2026 out of habit, and the account kind, FileStorage, not StorageV2, is where that habit gets caught.
Azure Files
‹ Previous: [AF 3.2] Build Sheet: Azure Files Through Global Secure Access
Next: [AF 5] Azure File Sync: The Cache That Keeps Your Servers ›




