We host a web-based IDE that runs in a container. I'm using ACI to host the container instances. I need to mount the user's files in the container, and make sure the user cannot access other users' files. An individual user is not expected to go above 1GB usage.
Right now I'm using Azure Files in the Standard/Hot performance tier, w/ ZRS replication. This can be expensive due to per-transaction costs (users saving files often, using git, etc).
I've considered using Azure's premium tier file shares, which are priced on size, not transactions. But premium file shares have a minimum size of 100GB, which would be too expensive if each user had their own share.
I've also considered having one monolithic Premium share for all users, however I would need a way to mount that share while restricting access to other users' files. This can't be done with Samba mounts as they do not support file permissions.
I've also looked into using Azure's new NFS shares, but unfortunately these are not available with ACI.
Are there any other ways I can get around having to pay transaction costs for user storage?
Transactions on a premium file share are not free, they are included in the price, which is offset by the higher cost and minimum size.
Azure Files does offer a "Transaction Optimised" tier, which is designed for high transaction workloads and reduces the transaction cost to $0.015 per 10,000, would this work for your workloads?
Other than that, your not going to be able to avoid paying for transactions, this is a core concept on how MS bill for file usage and will be part of every tier, including premium.