I'm moving a cloud application to Azure cloud and need to decide which storage type to use. The stored files will mostly be images and occasionally a .pdf file. The only operations to be done, are basically putting and getting files, and sometimes also retrieving the metadata. By that profile, it seems that the Blob storage is more suitable for my needs.
However, I'm not sure, if using Azure File Service would give me the edge performance-wise. The throughput is supposed to be the same for both storage types.
So, I was wondering, if mounting the File Service and directly storing the files would be faster than using REST calls to communicate with a blob. And if it was, how big of a difference would that be?
I tried to look for the answer to that in this thread: Azure Blob Storage vs. File Service but it seems that the subject of performance has been omitted there.
In summary, the difference between the two storage services is that Azure Blob Storage is a store for objects capable of storing large amounts of unstructured data. On the other hand, Azure File Storage is a distributed, cloud-based file system.
Performance Azure Files offers limited throughput of 60MB/s, and various other performance-related limitations.
Azure Storage offers two different performance options for block blobs: premium and standard. Premium block blobs offer significantly lower and more consistent latency than standard block blobs via high-performance SSD disks.
The limits for standard file shares apply to all three of the tiers available for standard file shares: transaction optimized, hot, and cool.
Which you choose is likely going to be a combination of performance and app architecture, since some legacy apps must rely on file I/O.
From a purely performance-related perspective:
So from a throughput perspective, File shares are going to be limited compared with an entire Storage Account, since file share throughput is 60MB/sec regardless of the number of files in the share.
From a capacity perspective:
You should look at Azure Storage scalability and performance targets here for more specifics, but TL;DR working with blobs directly will provide much greater bandwidth.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With