We\'re creating a multi-tenant application that must segregate data between tenants. Each tenant will save various documents, each of which can fall into several different docum
Not really an answer but think of it as "food for thought" :). Basically your architecture should be based on the fact that each storage account has some scalability targets and your design should be such that you don't exceed those to maintain high availability of storage for your application.
Some recommendations:
Pods
.PartitionKey
became free and you can assign some other value if needed.Now coming on to storing files:
Pod
concept wherein files for each tenant reside in the pod
storage account for that tenant.pod
storage account and put the file there and store the blob URL in the Files
table.tenant-files
) or separate blob containers for each tenant.pod
is commissioned. However the downside is that you can't logically separate files by tenant so if you want to provide direct access to the files (using Shared Access Signature), it would be problematic.Hope this gives you some idea about how you can go about architecting your solution. We're using some of these concepts in our solution (which explicitly uses Azure Storage as data store). It would be really interesting to see what architecture you come up with.