Overview of WebJobs
Start course

This course will show practical applications of key Azure features to meet the programming and configuration challenges introduced by long-running tasks.

We'll start with Azure Batches and how you can use them to create large-scale, parallel, and high-performance apps in the Azure cloud. Then we'll go over Azure Queues and how they can add resiliency to your web applications. Next, you'll look at Webhooks and how they can address events in your cloud apps. Finally, we'll show you WebJobs and how they can deal with continuous processing tasks.

By the end of this course, you should be able to understand and apply these four Azure features to solve some of the challenges you face with long-running tasks, especially in high-performance computing applications.

Learning Objectives

  • Create large-scale, parallel, and high-performance apps by using Azure Batches
  • Build resilient apps by using Azure Queues
  • Implement code to address application events by using Azure Webhooks
  • Address continuous processing tasks by using Azure WebJobs

Intended Audience

  • People pursuing the Microsoft AZ-203 certification
  • IT professionals, web developers, DevOps administrators


  • Basic understanding of cloud concepts
  • Familiarity with web programming
  • Exposure to Azure configuration (Portal, CLI, or PowerShell)

We’d love to get your feedback on this course, so please give it a rating when you’re finished.


When you are developing for the cloud, sometimes it is useful to create tasks that run in the background while your main application remains available for end users or presentation. 

If you had full control over the VM that your web server was running on, then adding a background task as a script would be relatively simple. When you use Azure or other cloud options to host your website, you publish your code to a platform that behaves like a physical web server but you lose administrative control of the servers themselves. How then can you add a background task? Microsoft's answer is to use a WebJob. 

WebJobs allow you to run a program or script as a separate process that is still associated with your web app. This means that your script can run side by side with your web app and can be deployed in the same way at the same time. You can use WebJobs for an API app or a mobile app as well. This gives you the kind of flexibility you would have when using your own on-premises web servers without all the headache that comes with patching and maintaining them as with many other platform-as-a-service offerings. 

Later in this video, we will look at how to deploy a WebJob using the Azure Portal. However, it should be noted that you can also develop WebJobs using Microsoft Visual Studio or use the Azure WebJobs SDK for event-driven background processing in your applications. Using the SDK, you can integrate your web app with more Azure features while simplifying the coding required. 

Remember the scripts would normally run at the command line. The fact that WebJobs are built into your web app means that you can scale easily with the option to include the jobs with each instance. The choice is yours. 

As a convenience, you can always look at the history of your WebJob. That way you can keep an eye on its progress from the Azure Portal in the WebJob details page or programmatically.

About the Author

Derrick is a content contributor and trainer for Microsoft cloud technologies like Azure, Office 365 and Dynamics 365. He works across North America and Europe to help companies and organizations with these technology shifts. Before that he has worn many hats but prefers to wear them one at a time.

When he is not night walking during his travels, you can find him on a bicycle path or performing guitar solos to an imaginary audience in his basement.