HPC Using Azure VMs
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.


There are specific VM workloads that are well-suited to HPC. You can also take advantage of unique graphics processors, memory and network resources. Remote Direct Memory Access allows very memory intensive processes to be spread across many compute nodes connected on high-speed internal networks on Azure. Choosing RDMA-capable VMs can minimize CPU bottlenecks and increase efficiency. 

This video will give you an overview of HPC in action but more importantly, we will see how related Azure services can support or compliment HPC. 

Azure Batch provides job scheduling as a service. You can create hundreds to tens of thousands of compute nodes on demand and delete them when your computation is complete. As an example, Azure Media Service uses Azure Batch under the hood. 

If you do it yourself with HPC, the plumbing becomes prohibitive as you start to scale and coordinate results from parallel workloads. Azure Batch addresses some of the administrative headache that comes from having to manage hundreds or thousands of VMs in an HPC application. 

Batch service has been around since the early days of the Microsoft Azure offering. It is deployed by region with an addressing format of Batch Explorer can help you visually keep an eye on batch components. 

Later we will mention API calls in Batch which can be used to maximize utilization of the VM workloads. 

Batch supports both Linux and Windows. As far as pricing goes, you pay per minute as with Azure compute. You also have the option to include low-priority VMs with a dedicated minimum. 

As a developer, you could warm up the VMs in the background, add workloads to VMs and scale up or down. Batch provides administration of fails, bad actors and executables. Also, retries can be handled for you.

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.