I am happy to be part of the announcement that the excellent batch processing service in the Azure Platform Microsoft Azure WebJobs is now Generally Available (GA).
What are WebJobs
The purpose of WebJobs is to provide a really easy way for you to host and execute batch processing jobs in the Cloud. There are of course very many reasons you would want to run batch processing including file management, worker queue processing an many more. The fact that WebJobs are hosted in Azure as part of your Azure Websites provides WebJobs with all the benefits and powers of that hosting environment including such things as scaling, access to on-premises data using virtual networks, friction-free deployment, auto back up, monitoring and alerting, testing and staging environments and more. WebJobs also comes with powerful diagnostics and statistics that show you exactly what WebJobs have executed, with what parameters and what the results of those executions were. Running WebJobs that fail repeatedly, say for instance as a result of bad input data, are also handled with so called poison message queues that take the faulty data and put it in queues in Azure Storage which you can then handle to ensure that you do not loose any data even though faulty. The WebJobs SDK makes it super easy to author WebJobs and gives developers a straight forward simple model when writing your own batch processing code. The tooling in Visual Studio for WebJobs allows you to easily deploy, mange and debug your WebJobs without ever leaving Visual Studio. WebJobs may be run and debugged on your local PC and also you can attach the debugger to your WebJobs running live in Azure!
Some suitable tunes
I always include some music in my blog posts. WebJobs is all about working in the background so I kind of tend to think of the old Lee Dorsey song “Working in the Coal Mine!” from –66:
I want to say it has been a privilege to work with the excellent guys at Microsoft involved with building WebJobs. Thanks Mike Stall, Pranav Rastogi and Brady Gaster for allowing me to work closely with you over these many months!
The GA announcement!
Here is a podcast interview by Swedish Technical Evangelist Dag König and myself where we had the opportunity to sit down and talk to the Great Brady Gaster about WebJobs, it’s history, the reason for it’s existence, it’s functionality and much more. At the end of the show I am proud to be the one who officially announces that
MICROSOFT AZURE WEBJOBS IS NOW GA AS OF TODAY!
Some videos to get you started
I have recorded a few videos to show off WebJobs and the features it brings to developers who want to run batch processing code in the Cloud!
- Fundamentals of WebJobs
- How WebJobs works with Microsoft Azure Storage (blobs, tables and queues)
- A customer case where a WebJob is used as a blob mirroring machine
- How to make your web sites FASTER using an Azure WebJob.
- How to debug WebJobs locally on your box an remotely in Azure.
- How to run WebJobs on a Schedule and On-Demand.
- I show how to do advanced custom Blob Bindings to Azure Storage Blobs.
Listen to them below at the bottom of this post or on the YouTube playlist for WebJobs. Please enjoy and if you have any questions please feel free to contact me!
WebJobs Fundamentals How To Start to finish
This video walks through creating a WebJob from scratch, configuring it, deploying it to Azure and seeing it run in the Cloud. After having seen this video you will know exactly how to create your very own WebJobs!
WebJobs using Azure Storage How To
This video shows you how to use Azure Storage in combination with WebJobs including using queues, blobs and tables.
WebJobs Blob Mirror
This is a real customer case where WebJobs was used to provide a very easy and powerful batch process that copies blobs in Azure Storage between Storage Accounts. This is in production with a customer who wanted to do release management in a simple way to show download links on their customer facing web site.
Make your web sites FASTER using a WebJob
This video will show you how to give your customers a much faster end-user experience by removing slow code such as order processing and sending emails from the UX code replacing it with an order processing queue. In the other end of the queue a WebJob instead processes the orders including built in poison message handling. You can also deploy your WebJob along side with your web site when deploying them to Microsoft Azure Websites so that there is no extra hosting cost for your WebJob.
Here is how you debug your WebJobs both locally on your development machine as well as attach the debugger in Visual Studio to WebJobs running in the Cloud!
Scheduled and Manually triggered WebJobs
This is how you run you WebJobs on a Microsoft Azure Schedule as well as how you trigger them manually when ever you wish. (Compare to using automatic triggers.)
WebJobs advanced blob bindings
It is possible to bind your blobs in Microsoft Azure Storage to a specific type inside your WebJobs simply by doing a small custom implementation of a binding blob transformation interface. Here is how:
No comments yet. Be the first!