Search code examples
asp.net-mvcazureazure-blob-storageazure-storageazure-file-share

What is a good use of Azure FileShare? Can it be a good solution to store the file in Azure vs storing the file in Blob storage


I need to evaluate the use of Azure FileShare and use the Fileshare storage to upload/download the files. The current functionality of the application is where user can upload a file from local machine and can also download the file from ISS root folder.

Now moving into cloud we do not want to create and use a folder in IIS rather want to use one of the service in Azure. So we have Azure Storage. Previously I have used Azure Blob storage to upload and download the files. Now want to try out FileShare but it is seem to me it is like a share folder over the network where Azure FileShare would work as a file server.

So just to make short. My question is if my app is hosting in the Azure and we do have Azure AD and using Azure AD authentication for our apps. I want to upload/download file, would Fileshare be a good option or Blob storage would server the purpose? Let's not consider cost.


Solution

  • The two key differences are that of access protocol and integration. I'd typically use the right storage service to match with the compute for the app I was writing (unless there were big NFR's for the storage capability). There are some other feature differentiators like the fact Blob supports storage tiers (hot, cold, cool, archive) which will be more relevant in high volume, cost conscious scenarios.

    Azure Files operates on NFS and SMB, Blob does not. Blob typically requires a specific client library to broker interactions.

    Azure Files has exclusive integration with Azure Container Instances, Container Apps.

    Azure Blob and Files both integrate well with Web App for Containers

    Azure Blob storage has tight integration with Azure Functions, Azure Files does not.

    Azure Blob and Files both integrate well with the Azure Kubernetes service through CSI drivers.

    In your scenario of your own app brokering upload and download of files, I'd have an initial preference to Azure Blob Storage. However you don't say which compute service you'd be using, any NFR's or additional context on the app. It's the classic architectural "it depends".