Microsoft Azure Documentation

Azure Batch Account Concepts

This article explains the key concepts and terminology associated with an Azure Batch account.

What is an Azure Batch Account?

An Azure Batch account is a resource in Azure that allows you to use the Azure Batch service. When you create a Batch account, you are essentially setting up a management endpoint for your Batch workloads. The Batch account itself doesn't run your applications; instead, it manages the compute resources, pools, jobs, and tasks that execute your computations.

Key Components Managed by a Batch Account:

Batch Account Properties

When you create an Azure Batch account, several properties are configured, which influence how the account operates and is billed:

Account Name

A unique name for your Batch account within the Azure subscription and region. This name is used in resource IDs and REST API calls.

Location/Region

The Azure region where your Batch account is deployed. Compute resources for your Batch jobs will typically be provisioned in the same region.

Key Vault

An optional Azure Key Vault can be associated with your Batch account to securely manage secrets, such as storage account keys or application credentials.

Auto-Storage Account

You can optionally link an Azure Storage account to your Batch account. This is used for storing application packages, input/output files for your jobs, and intermediate data. If not specified, you can link storage accounts to individual jobs or tasks.

Application Packages

You can upload and manage application packages (e.g., ZIP archives of executables and dependencies) directly within the Batch account. This simplifies the deployment of your applications to compute nodes.

Batch Account Types

Azure Batch offers two primary ways to manage your compute resources:

1. With Azure Virtual Machines

This is the traditional and most common approach. You create a Batch account and then provision compute nodes (VMs) by creating pools. These pools can be composed of VMs from various Azure VM images, including Windows Server and Linux distributions. You specify the size and number of VMs, the operating system, and other configurations.

2. With Azure Container Instances (ACI)

Batch also supports running tasks within containers on Azure Container Instances. This allows you to run short-lived, stateless tasks without needing to manage VMs. ACI integration provides a more cost-effective option for certain types of workloads.

Note: The choice between VMs and ACI depends on your workload characteristics, such as the duration of tasks, statefulness, and resource requirements.

Accessing Your Batch Account

You can interact with your Batch account using several methods:

Pricing Considerations

Your Batch account itself is free to create. You are billed for the Azure compute resources (VMs, ACI instances) that your Batch jobs consume, as well as any associated Azure Storage, networking, and data transfer costs. The pricing for compute resources varies based on the VM size, region, and whether you use Spot VMs for cost savings.

Spot VMs

Azure Batch supports the use of Spot virtual machines, which can significantly reduce compute costs for fault-tolerant workloads. Spot VMs are available at a discounted price, but they can be evicted by Azure when capacity is needed elsewhere.

Tip: Always review the Azure Batch pricing page for the latest information on costs and available discounts.

Summary

An Azure Batch account serves as the central management point for your large-scale parallel and high-performance computing applications. It orchestrates the provisioning of compute resources (VMs or ACI), the submission and execution of jobs and tasks, and the management of application deployments. Understanding these core concepts is essential for effectively leveraging Azure Batch to accelerate your computations.

Next Steps