2

What are the available options?

Until now I have been using a folder structure in my web app for the product catalog that I store on disk. I then publish my app to an Azure website and the images are available as if I had uploaded them using FTP.

  • I need the product catalog to scale.
  • I should be able to have a pretty path to the photo images. ex: /pretty/path/to/my-photo.jpg
  • Regarding product catalog: That is a completely separate topic (and has its own broad scope and opinions). – David Makogon Feb 14 '16 at 20:00
3

While there is no single correct answer to "how do I store images in Azure," there are a few things to consider:

  • Any of the Azure 1st-party database services (SQL Database, Redis, DocumentDB, etc) can store binary content, accessible via appropriate queries. None of them will give your client apps direct URL-based access; they will all require you to store/retrieve data via your app. Your web tier would need to provide the appropriate URL routing.
  • Blob storage may be used for binary content, along with direct URL access to individual blobs. Your choice whether end-users (e.g. browsers/mobile apps/etc) would have direct access to these blobs (blobs may be marked as public or private; you may grant direct access to a private blob with a Shared Access Signature). You may also access blobs via your web/app tier and stream content directly to clients (which will now be impacted by the number of VMs handling user load, and their respective bandwidth capacity). This will scale, capacity-wise, to 500TB per storage account. You will be limited to 20,000 transactions/second (REST API transactions) across the entire storage account, so you may need to scale across multiple storage accounts to achieve your scalability goals (which impacts the DNS naming scheme you'll use)
  • Your app may take advantage of an SMB-based file share to store your binary content. A given file share stores up to 5TB and 60MB/s, so you might need to utilize multiple files shares. Further, all content will need to route through your app/web tier, as you cannot provide external access to the file share (without giving access to the entire file share via your own credentials).

As far as storing the product catalog: That is a very broad and opinion-soliciting question, which is off-topic.

2

Just use Azure Blob Storage. It`s the standard for storing unlimited files into the cloud. Your web app can access them directly through https publicly or privately.

https://azure.microsoft.com/en-us/documentation/articles/storage-dotnet-how-to-use-blobs/

Not the answer you're looking for? Browse other questions tagged or ask your own question.