user3587624
user3587624

Reputation: 1471

Use Azure Storage on an Azure Web App to run exe command line applications

I am trying to learn about the capabilities available in Azure to run several command line applications in Azure as part of an Azure Web App. The command line applications I want to run are basically .exe apps which also need some dependency files that are required to be there (*.dll) by the time the .exe runs.

I want to write an Azure Web App and part of the logic of the Web Application would be to run the .exe and store the output somewhere else (I am not really concerned about that part yet). However, by searching on the Internet about Azure Storage, mounting/dismounting drives, etc... I got totally confused.

With that being said, I am struggling to figure out how the design of my Web Application will look like using Azure technologies:

  1. What kind of Azure Storage is recommended in this case? (File Storage? Blob Storage?)
  2. In order to access to the different .exe files and all its dependencies, I guess I would need to somehow mount the storage on the web app at run time so I can refer to the path where the .exe is located at. Is that even possible using an Azure Web App since those are Platform as a Service and we don't have control of the machine where code is executed?
  3. Also, since I have three different .exe command line applications (with their dependency files -dlls-) , what is the best way to organize these in Azure Storage?

There are some fundamentals that I am missing and will be great to hear your opinions in this matter as I have developed serveral Azure Web Apps but never integrated Azure Storage in them.

EDIT: Just to clarify, the number of command line tools that I want to run can vary. I will eventually have different versions of the same command line tool and still have a way to run any version hence I thought having an Azure Storage where I can upload my different versions is somehow required.

Upvotes: 1

Views: 1228

Answers (1)

evilSnobu
evilSnobu

Reputation: 26314

Azure App Service has its own storage. That's where you deploy your .exe and .DLLs (preferably with Git, but webdeploy/zipdeploy/FTP are always options).

You invoke it just like you do in any web application (.NET/PHP/whatever stack). Nothing special here. Write to %TEMP% if temporary storage is required.

You should still use Blob storage for your output, if said output looks like a binary blob, else use more suitable storage mechanics (SQL/NoSQL database - Azure SQL and Cosmos DB fit here).

You could probably do away with an Azure Function if you don't really need a full blown Web App.

Upvotes: 1

Related Questions