Skip to content

Commit 59e4173

Browse files
Merge pull request #218410 from alfpark/batch1
Update Batch simplified recommendations
2 parents 7fe232a + 7f1a63d commit 59e4173

File tree

5 files changed

+65
-25
lines changed

5 files changed

+65
-25
lines changed

articles/batch/TOC.yml

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -105,11 +105,13 @@
105105
href: batch-compute-node-environment-variables.md
106106
- name: Feature retirements
107107
items:
108+
- name: Cloud Service Configuration Pools
109+
href: batch-pool-cloud-service-to-virtual-machine-configuration.md
108110
- name: Batch certificates
109111
href: batch-certificate-migration-guide.md
110112
- name: Pools without public IP addresses (classic)
111113
href: batch-pools-without-public-IP-addresses-classic-retirement-migration-guide.md
112-
- name: TLS 1.0 and TLS 1.1
114+
- name: TLS 1.0 and TLS 1.1
113115
href: batch-tls-101-migration-guide.md
114116
- name: Job and pool lifetime statistics
115117
href: job-pool-lifetime-statistics-migration-guide.md
@@ -135,8 +137,6 @@
135137
href: batch-customer-managed-key.md
136138
- name: Move between regions
137139
href: account-move.md
138-
- name: Use simplified compute node communication
139-
href: simplified-compute-node-communication.md
140140
- name: Authenticate with Azure AD
141141
items:
142142
- name: Azure AD with Batch service
@@ -156,6 +156,8 @@
156156
href: resource-files.md
157157
- name: Create and manage pools
158158
items:
159+
- name: Use simplified compute node communication
160+
href: simplified-compute-node-communication.md
159161
- name: Autoscale compute nodes
160162
displayName: scaling, dynamic, formula
161163
href: batch-automatic-scaling.md

articles/batch/batch-pool-cloud-service-to-virtual-machine-configuration.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ ms.date: 09/03/2021
99

1010
Currently, Batch pools can be created using either [virtualMachineConfiguration](/rest/api/batchservice/pool/add#virtualmachineconfiguration) or [cloudServiceConfiguration](/rest/api/batchservice/pool/add#cloudserviceconfiguration). We recommend using Virtual Machine Configuration only, as this configuration supports all Batch capabilities.
1111

12-
Cloud Services Configuration pools don't support some of the current Batch features, and won't support any newly-added features. You won't be able to create new 'CloudServiceConfiguration' pools or add new nodes to existing pools [after February 29, 2024](https://azure.microsoft.com/updates/azure-batch-cloudserviceconfiguration-pools-will-be-retired-on-29-february-2024/).
12+
Cloud Services Configuration pools don't support some of the current Batch features, and won't support any newly added features. You won't be able to create new 'CloudServiceConfiguration' pools or add new nodes to existing pools [after February 29, 2024](https://azure.microsoft.com/updates/azure-batch-cloudserviceconfiguration-pools-will-be-retired-on-29-february-2024/).
1313

1414
If your Batch solutions currently use 'cloudServiceConfiguration' pools, we recommend changing to 'virtualMachineConfiguration' as soon as possible. This will enable you to benefit from all Batch capabilities, such as an expanded [selection of VM series](batch-pool-vm-sizes.md), Linux VMs, [containers](batch-docker-container-workloads.md), [Azure Resource Manager virtual networks](batch-virtual-network.md), and [node disk encryption](disk-encryption.md).
1515

@@ -31,7 +31,7 @@ Some of the key differences between the two configurations include:
3131
- 'virtualMachineConfiguration' pool nodes utilize managed OS disks. The [managed disk type](../virtual-machines/disks-types.md) that is used for each node depends on the VM size chosen for the pool. If a 's' VM size is specified for the pool, for example 'Standard_D2s_v3', then a premium SSD is used. If a 'non-s' VM size is specified, for example 'Standard_D2_v3', then a standard HDD is used.
3232

3333
> [!IMPORTANT]
34-
> As with Virtual Machines and Virtual Machine Scale Sets, the OS managed disk used for each node incurs a cost, which is additional to the cost of the VMs. 'virtualMachineConfiguration' pools can use [ephemeral OS disks](create-pool-ephemeral-os-disk.md), which create the OS disk on the VM cache or temporary SSD, to avoid extra costs associated with managed disks.There is no OS disk cost for 'cloudServiceConfiguration' nodes, as the OS disk is created on the nodes local SSD.
34+
> As with Virtual Machines and Virtual Machine Scale Sets, the OS managed disk used for each node incurs a cost, which is additional to the cost of the VMs. 'virtualMachineConfiguration' pools can use [ephemeral OS disks](create-pool-ephemeral-os-disk.md), which create the OS disk on the VM cache or temporary disk, to avoid extra costs associated with managed disks.There is no OS disk cost for 'cloudServiceConfiguration' nodes, as the OS disk is created on the node's local disk.
3535
3636
## Azure Data Factory custom activity pools
3737

@@ -40,7 +40,7 @@ Azure Batch pools can be used to run Data Factory custom activities. Any 'cloudS
4040
When creating your new pools to run Data Factory custom activities, follow these practices:
4141

4242
- Pause all pipelines before creating the new pools and deleting the old ones to ensure no executions will be interrupted.
43-
- The same pool id can be used to avoid linked service configuration changes.
43+
- The same pool ID can be used to avoid linked service configuration changes.
4444
- Resume pipelines when new pools have been created.
4545

4646
For more information about using Azure Batch to run Data Factory custom activities, see [Azure Batch linked service](../data-factory/compute-linked-services.md#azure-batch-linked-service) and [Custom activities in a Data Factory pipeline](../data-factory/transform-data-using-dotnet-custom-activity.md)
@@ -49,4 +49,4 @@ For more information about using Azure Batch to run Data Factory custom activiti
4949

5050
- Learn more about [pool configurations](nodes-and-pools.md#configurations).
5151
- Learn more about [pool best practices](best-practices.md#pools).
52-
- See the REST API reference for [pool addition](/rest/api/batchservice/pool/add) and [virtualMachineConfiguration](/rest/api/batchservice/pool/add#virtualmachineconfiguration).
52+
- See the REST API reference for [pool addition](/rest/api/batchservice/pool/add) and [virtualMachineConfiguration](/rest/api/batchservice/pool/add#virtualmachineconfiguration).

articles/batch/batch-virtual-network.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
title: Provision a pool in a virtual network
33
description: How to create a Batch pool in an Azure virtual network so that compute nodes can communicate securely with other VMs in the network, such as a file server.
44
ms.topic: how-to
5-
ms.date: 11/14/2022
5+
ms.date: 11/15/2022
66
ms.custom: seodec18
77
---
88

@@ -44,9 +44,9 @@ or `CloudServiceConfiguration`. `VirtualMachineConfiguration` for Batch pools is
4444
pools are [deprecated](https://azure.microsoft.com/updates/azure-batch-cloudserviceconfiguration-pools-will-be-retired-on-29-february-2024/).
4545

4646
> [!IMPORTANT]
47-
> Batch pools can be configured in one of two communication modes. `Classic` communication
48-
> mode is where the Batch service initiates communication to the compute nodes.
49-
> [`Simplified` communication mode](simplified-compute-node-communication.md)
47+
> Batch pools can be configured in one of two node communication modes. Classic node communication mode is
48+
> where the Batch service initiates communication to the compute nodes.
49+
> [Simplified](simplified-compute-node-communication.md) node communication mode
5050
> is where the compute nodes initiate communication to the Batch Service.
5151
5252
## Pools in Virtual Machine Configuration
@@ -93,8 +93,8 @@ NSG with at least the inbound and outbound security rules that are shown in the
9393

9494
> [!WARNING]
9595
> Batch service IP addresses can change over time. Therefore, we highly recommend that you use the
96-
> BatchNodeManagement.*region* service tag (or a regional variant) for the NSG rules indicated in the
97-
> following tables. Avoid populating NSG rules with specific Batch service IP addresses.
96+
> BatchNodeManagement.*region* service tag for the NSG rules indicated in the following tables. Avoid
97+
> populating NSG rules with specific Batch service IP addresses.
9898
9999
#### Inbound security rules
100100

articles/batch/best-practices.md

Lines changed: 27 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
---
22
title: Best practices
33
description: Learn best practices and useful tips for developing your Azure Batch solutions.
4-
ms.date: 11/14/2022
4+
ms.date: 11/15/2022
55
ms.topic: conceptual
66
---
77

@@ -20,13 +20,37 @@ This article discusses best practices and useful tips for using the Azure Batch
2020

2121
- **Pool allocation mode:** When creating a Batch account, you can choose between two pool allocation modes: **Batch service** or **user subscription**. For most cases, you should use the default Batch service mode, in which pools are allocated behind the scenes in Batch-managed subscriptions. In the alternative user subscription mode, Batch VMs and other resources are created directly in your subscription when a pool is created. User subscription accounts are primarily used to enable a small but important subset of scenarios. For more information, see [configuration for user subscription mode](batch-account-create-portal.md#additional-configuration-for-user-subscription-mode).
2222

23-
- **'virtualMachineConfiguration' or 'cloudServiceConfiguration':** While you can currently create pools using either configuration, new pools should be configured using 'virtualMachineConfiguration' and not 'cloudServiceConfiguration'. All current and new Batch features will be supported by Virtual Machine Configuration pools. Cloud Services Configuration pools don't support all features and no new capabilities are planned. You won't be able to create new 'cloudServiceConfiguration' pools or add new nodes to existing pools [after February 29, 2024](https://azure.microsoft.com/updates/azure-batch-cloudserviceconfiguration-pools-will-be-retired-on-29-february-2024/). For more information, see [Migrate Batch pool configuration from Cloud Services to Virtual Machine](batch-pool-cloud-service-to-virtual-machine-configuration.md).
23+
- **`virtualMachineConfiguration` or `cloudServiceConfiguration`:** While you can currently create pools using either
24+
configuration, new pools should be configured using `virtualMachineConfiguration` and not `cloudServiceConfiguration`.
25+
All current and new Batch features will be supported by Virtual Machine Configuration pools. Cloud Service Configuration
26+
pools don't support all features and no new capabilities are planned. You won't be able to create new
27+
`cloudServiceConfiguration` pools or add new nodes to existing pools
28+
[after February 29, 2024](https://azure.microsoft.com/updates/azure-batch-cloudserviceconfiguration-pools-will-be-retired-on-29-february-2024/).
29+
For more information, see
30+
[Migrate Batch pool configuration from Cloud Services to Virtual Machine](batch-pool-cloud-service-to-virtual-machine-configuration.md).
31+
32+
- **`classic` or `simplified` node communication mode:** Pools can be configured in one of two node communication modes,
33+
classic or [simplified](simplified-compute-node-communication.md). In the classic node communication model, the Batch service
34+
initiates communication to the compute nodes, and compute nodes also require communicating to Azure Storage. In the simplified
35+
node communication model, compute nodes initiate communication with the Batch service. Due to the reduced scope of
36+
inbound/outbound connections required, and not requiring Azure Storage outbound access for baseline operation, the recommendation
37+
is to use the simplified node communication model. Some future improvements to the Batch service will also require the simplified
38+
node communication model.
2439

2540
- **Job and task run time considerations:** If you have jobs comprised primarily of short-running tasks, and the expected total task counts are small, so that the overall expected run time of the job isn't long, don't allocate a new pool for each job. The allocation time of the nodes will diminish the run time of the job.
2641

2742
- **Multiple compute nodes:** Individual nodes aren't guaranteed to always be available. While uncommon, hardware failures, operating system updates, and a host of other issues can cause individual nodes to be offline. If your Batch workload requires deterministic, guaranteed progress, you should allocate pools with multiple nodes.
2843

29-
- **Images with impending end-of-life (EOL) dates:** We strongly recommended avoiding images with impending Batch support end of life (EOL) dates. These dates can be discovered via the [`ListSupportedImages` API](/rest/api/batchservice/account/listsupportedimages), [PowerShell](/powershell/module/az.batch/get-azbatchsupportedimage), or [Azure CLI](/cli/azure/batch/pool/supported-images). It's your responsibility to periodically refresh your view of the EOL dates pertinent to your pools and migrate your workloads before the EOL date occurs. If you're using a custom image with a specified node agent, ensure that you follow Batch support end-of-life dates for the image for which your custom image is derived or aligned with. An image without a specified `batchSupportEndOfLife` date indicates that such a date has not been determined yet by the Batch service. Absence of a date does not indicate that the respective image will be supported indefinitely. An EOL date may be added or updated in the future at anytime.
44+
- **Images with impending end-of-life (EOL) dates:** We strongly recommended avoiding images with impending Batch support
45+
end of life (EOL) dates. These dates can be discovered via the
46+
[`ListSupportedImages` API](/rest/api/batchservice/account/listsupportedimages),
47+
[PowerShell](/powershell/module/az.batch/get-azbatchsupportedimage), or
48+
[Azure CLI](/cli/azure/batch/pool/supported-images). It's your responsibility to periodically refresh your view of the EOL
49+
dates pertinent to your pools and migrate your workloads before the EOL date occurs. If you're using a custom image with a
50+
specified node agent, ensure that you follow Batch support end-of-life dates for the image for which your custom image is
51+
derived or aligned with. An image without a specified `batchSupportEndOfLife` date indicates that such a date hasn't been
52+
determined yet by the Batch service. Absence of a date doesn't indicate that the respective image will be supported
53+
indefinitely. An EOL date may be added or updated in the future at any time.
3054

3155
- **Unique resource names:** Batch resources (jobs, pools, etc.) often come and go over time. For example, you may create a pool on Monday, delete it on Tuesday, and then create another similar pool on Thursday. Each new resource you create should be given a unique name that you haven't used before. You can create uniqueness by using a GUID (either as the entire resource name, or as a part of it) or by embedding the date and time that the resource was created in the resource name. Batch supports [DisplayName](/dotnet/api/microsoft.azure.batch.jobspecification.displayname), which can give a resource a more readable name even if the actual resource ID is something that isn't human-friendly. Using unique names makes it easier for you to differentiate which particular resource did something in logs and metrics. It also removes ambiguity if you ever have to file a support case for a resource.
3256

0 commit comments

Comments
 (0)