Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Azure webjob vs cloud service

Tags:

azure

What is the difference between WebJob and Cloud Service? I'm trying to get an overview over the two and by definition they seem to be able to accomplish the same goal? Maybe Cloud Service has more features?

like image 562
Jason94 Avatar asked Nov 07 '14 11:11

Jason94


People also ask

What is difference between WebJob and Azure function?

Summary. Azure Functions offers more developer productivity than Azure App Service WebJobs does. It also offers more options for programming languages, development environments, Azure service integration, and pricing. For most scenarios, it's the best choice.

What is an Azure WebJob?

Overview. WebJobs is a feature of Azure App Service that enables you to run a program or script in the same instance as a web app, API app, or mobile app. There is no additional cost to use WebJobs. You can use the Azure WebJobs SDK with WebJobs to simplify many programming tasks.

Is a WebJob a Microservice?

The differences between Azure WebJobs and Azure Functions aren't that big. Both are part of Azure App Service and are meant for running small pieces of code, and they can even be used as microservices.

Are Azure WebJobs deprecated?

Azure WebJobs are deprecated, but still in use. They are being phased out in favor of Azure Functions. Azure Functions is a more up-to-date and feature rich service which offers a greater degree of flexibility and control.


1 Answers

Cloud Services (Web/Worker Role) will give you a full virtual machine (VM). Since you wanted to compare WebJobs with Cloud Service, I am assuming you're interested in Worker Role. Typically you would want to use a Worker Role to process background tasks. You could do the same with WebJobs as well. From what I understand, here are some of the key differences:

  • WebJobs are meant for one purpose only and that is processing jobs. You can do the same through Worker Role as well but since you're getting a full VM, you can do many more things with that (for example, hosting a node.js server).
  • If your objective is to run scheduled jobs, WebJobs make it super easy for you. You essentially take a console application, deploy it as a WebJob and then do the scheduling of job through portal. With WorkerRole, it's not that straight forward. Essentially you would be responsible for scheduling of jobs which you could either do it through in-built .Net libraries (System.Timer etc.) or use 3rd party scheduling libraries like Quartz.net.
  • If your application has dependency on some applications that you would need to install , you can't do through WebJobs. You could however install additional software in Worker Role through startup tasks.
  • I guess in the end both of them are PaaS offering but I consider WebJobs as true PaaS offering as you just come with your task and the platform takes care of scheduling and executing that task.
like image 154
Gaurav Mantri Avatar answered Oct 03 '22 22:10

Gaurav Mantri