Overview of Batch APIs and tools

Processing parallel workloads with Azure Batch is typically done programmatically by using one of the Batch APIs. Your client application or service can use the Batch APIs to communicate with the Batch service. With the Batch APIs, you can create and manage pools of compute nodes, either virtual machines or cloud services. You can then schedule jobs and tasks to run on those nodes.

You can efficiently process large-scale workloads for your organization, or provide a service front end to your customers so that they can run jobs and tasks--on demand, or on a schedule--on one, hundreds, or even thousands of nodes. You can also use Azure Batch as part of a larger workflow, managed by tools such as Azure Data Factory.

Tip

When you're ready to dig in to the Batch API for a more in-depth understanding of the features it provides, check out the Batch feature overview for developers.

Azure accounts for Batch development

When you develop Batch solutions, you use the following accounts in your Azure subscription:

  • Batch account - Azure Batch resources, including pools, compute nodes, jobs, and tasks, are associated with an Azure Batch account. When your application makes a request against the Batch service, it authenticates the request using the Azure Batch account name, the URL of the account, and either an access key or an Azure Active Directory token. You can create a Batch account in the Azure portal, or programmatically.
  • Storage account - Batch includes built-in support for working with files in Azure Storage. Nearly every Batch scenario uses Azure Blob storage for staging the programs that your tasks run and the data that they process, and for the storage of output data that they generate. For storage account options in Batch, see the Batch feature overview.

Batch service APIs

Your applications and services can issue direct REST API calls or use one or more of the following client libraries to run and manage your Azure Batch workloads.

API API reference Download Tutorial Code samples More Info
Batch REST docs.microsoft.com N/A - - Supported Versions
Batch .NET docs.microsoft.com NuGet Tutorial GitHub Release Notes
Batch Python docs.microsoft.com PyPI Tutorial GitHub Readme
Batch Node.js docs.microsoft.com npm Tutorial - Readme
Batch Java docs.microsoft.com Maven - Readme Readme

Batch Management APIs

The Azure Resource Manager APIs for Batch provide programmatic access to Batch accounts. Using these APIs, you can programmatically manage Batch accounts, quotas, application packages, and other resources through the Microsoft.Batch provider.

API API reference Download Tutorial Code samples
Batch Management REST docs.microsoft.com N/A - GitHub
Batch Management .NET docs.microsoft.com NuGet Tutorial GitHub
Batch Management Python docs.microsoft.com PyPI - -
Batch Management Node.js docs.microsoft.com npm - -
Batch Management Java - Maven - -

Batch command-line tools

These command-line tools provide the same functionality as the Batch service and Batch Management APIs:

Other tools for application development

Here are some additional tools that may be helpful for building and debugging your Batch applications and services:

  • Azure portal: You can create, monitor, and delete Batch pools, jobs, and tasks in the Azure portal. You can view the status information for these and other resources while you run your jobs, and even download files from the compute nodes in your pools. For example, you can download a failed task's stderr.txt while troubleshooting. You can also download Remote Desktop (RDP) files that you can use to log in to compute nodes.
  • Azure Batch Explorer: Batch Explorer (formerly called BatchLabs) is a free, rich-featured, standalone client tool to help create, debug, and monitor Azure Batch applications. Download an installation package for Mac, Linux, or Windows.
  • Microsoft Azure Storage Explorer: While not strictly an Azure Batch tool, the Storage Explorer is another valuable tool to have while you are developing and debugging your Batch solutions.

Additional resources

Next steps