AlexanderJ
AlexanderJ

Reputation: 105

Is an Azure Web App, WebJob or Function most suited for my project?

I want to create a user portal for one of our departments, which will display certain metrics (stored in an Azure SQL database) and allow their users to submit new metrics to this database using a series of input elements (these aren't tech-savvy users).

I have some familiarity with Azure Functions, and using an HTTP trigger could see this being (at least partially) feasible. However, I'm wondering whether this the right way to go. Particularly, I've been looking into Azure Web Apps and WebJobs and while they appear similarly suited I have some difficulty understanding the differences and overlap between them and Functions.

Considering I'm looking for the following things in my project, which type of App should I consider first?

Also, are WebJobs and Functions actually different from WebApps or are they considered to be WebApps? Information on this is slightly confusing.

Upvotes: 0

Views: 1100

Answers (1)

Rajdeep D
Rajdeep D

Reputation: 3900

There are several options:

  • Simple HTML + Jquery + Azure Function (you can use other ui libraries vue/react etc.)
  • Simple HTML + Jquery + Azure Web app
  • Azure web app

Web jobs: You cannot use azure web jobs as it is mostly used for running background jobs.

Azure function: It cannot support UI, only can work as api and emit data. The obvious benefit is 1m requests is free very month and highly scalable. But downside is you have to code for managing authentication/authorization. You can build the UI in HTML+Jquery or HTML+vue etc. and then host them at cheap in Azure Blob as static website and let the UI call you function api.

Web app: It can serve as full blown website. If your usage are sporadic you can use free tier, but in free tier you wont get ssl and custom domain. To use SSL and custom domain you need to upgrade to paid tier and the lowest paid tier is £7/month. But managing authentication/authorization will be comparatively simpler depending of your choice of implementation. Web app best suited for application where backend is built in asp.net or nodejs. I faced issues while trying to host applications where backend is built with python or ruby-on-rails.

I suggest you can keep things simple as the users are not very techno-savy and they will use it sporadically. So they would be more interested just to save their metrics properly. So you can focus on that and implement which easier to manage for you. :)

Upvotes: 2

Related Questions