Skip to content

Commit 8e33e39

Browse files
authored
Merge pull request #104797 from LauraBrenner/laura-batch-applications-to-pools
Laura batch applications to pools
2 parents d734a2b + 7806d4f commit 8e33e39

File tree

2 files changed

+57
-0
lines changed

2 files changed

+57
-0
lines changed

articles/batch/TOC.yml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -83,12 +83,18 @@
8383
href: batch-aad-auth-management.md
8484
- name: Securely access Key Vault with Batch
8585
href: credential-access-key-vault.md
86+
87+
- name: Using application packages
88+
href: batch-application-packages.md
8689
- name: Copy files and applications to pool nodes
8790
items:
91+
- name: Copying applications and data to pool nodes
92+
href: batch-applications-to-pool-nodes.md
8893
- name: Using application packages
8994
href: batch-application-packages.md
9095
- name: Create resource files
9196
href: resource-files.md
97+
9298
- name: Create and manage pools
9399
items:
94100
- name: Autoscale compute nodes
Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
---
2+
title: Copying applications and data to pool nodes
3+
description: Learn how to copy applications and data to pool nodes.
4+
services: batch
5+
author: LauraBrenner
6+
manager: evansma
7+
8+
ms.assetid:
9+
ms.service: batch
10+
ms.topic: article
11+
ms.tgt_pltfrm:
12+
ms.workload: big-compute
13+
ms.date: 02/17/2020
14+
ms.author: labrenne
15+
---
16+
17+
# Copying applications and data to pool nodes
18+
19+
Azure Batch supports several ways for getting data and applications onto compute nodes so that the data and applications are available for use by tasks. Data and applications may be required to run the entire job and so need to be installed on every node. Some may be required only for a specific task, or need to be installed for the job but don't need to be on every node. Batch has tools for each of these scenarios.
20+
21+
- **Pool start task resource files**: For applications or data that need to be installed on every node in the pool. Use this method along with either an application package or the start task's resource file collection in order to perform an install command.
22+
23+
Examples:
24+
- Use the start task command line to move or install applications
25+
26+
- Specify a list of specific files or containers in an Azure storage account. For more information see [add#resourcefile in REST documentation](https://docs.microsoft.com/rest/api/batchservice/pool/add#resourcefile)
27+
28+
- Every job that runs on the pool runs MyApplication.exe that must first be installed with MyApplication.msi. If you use this mechanism, you need to set the start task's **wait for success** property to **true**. For more information, see the [add#starttask in REST documentation](https://docs.microsoft.com/rest/api/batchservice/pool/add#starttask).
29+
30+
- **Application package references** on the pool: For applications or data that need to be installed on every node in the pool. There is no install command associated with an application package, but you can use a start task to run any install command. If your application doesn't require installation, or consists of a large number of files, you can use this method. Application packages are well suited for large numbers of files because they combine a large number of file references into a small payload. If you try to include more than 100 separate resource files into one task, the Batch service might come up against internal system limitations for a single task. Also, use application packages if you have rigorous versioning requirements where you might have many different versions of the same application and need to choose between them. For more information, read [Deploy applications to compute nodes with Batch application packages](https://docs.microsoft.com/azure/batch/batch-application-packages).
31+
32+
- **Job preparation task resource files**: For applications or data that must be installed for the job to run, but don't need to be installed on the entire pool. For example: if your pool has many different types of jobs, and only one job type needs MyApplication.msi to run, it makes sense to put the installation step into a job preparation task. For more information about job preparation tasks see [Run job preparation and job release tasks on Batch compute nodes](https://azure.microsoft.com/documentation/articles/batch-job-prep-release/).
33+
34+
- **Task resource files**: For when an application or data is relevant only to an individual task. For example: You have five tasks, each processes a different file and then writes the output to blob storage. In this case, the input file should be specified on the **tasks resource files** collection because each task has its own input file.
35+
36+
## Determine the scope required of a file
37+
38+
You need to determine the scope of a file - is the file required for a pool, a job, or a task. Files that are scoped to the pool should use pool application packages, or a start task. Files scoped to the job should use a job preparation task. A good example of files scoped at the pool or job level are applications. Files scoped to the task should use task resource files.
39+
40+
### Other ways to get data onto Batch compute nodes
41+
42+
There are other ways to get data onto Batch compute nodes that are not officially integrated into the Batch REST API. Because you have control over Azure Batch nodes, and can run custom executables, you are able to pull data from any number of custom sources as long as the Batch node has connectivity to the target and you have the credentials to that source onto the Azure Batch node. A few common examples are:
43+
44+
- Downloading data from SQL
45+
- Downloading data from other web services/custom locations
46+
- Mapping a network share
47+
48+
### Azure storage
49+
50+
Blob storage has download scalability targets. Azure storage file share scalability targets are the same as for a single blob. Size will impact the number of nodes and pools you need.
51+

0 commit comments

Comments
 (0)