Batch サービスのワークフローとリソース
ここでは、Azure Batch サービスの主要コンポーネントについて簡単に紹介し、Batch を使って大規模な並列コンピューティング ソリューションを開発する際に利用できる高レベルのワークフロー、および使用される主なサービスとリソースについて取り上げます。
REST API を直接呼び出す分散コンピューティング アプリケーションまたはサービスを開発する場合も、いずれかの Batch SDK を使う場合も、ここで紹介するさまざまなリソースや機能を活用できます。
ヒント
Batch サービスの基本については、「Azure Batch とは」を参照してください。 また、最新の Batch サービスの更新も参照してください。
基本的なワークフロー
以下に示したのは、Batch サービスを使って並列ワークロードを処理するアプリケーションやサービスでほぼ例外なく使用する基本的なワークフローです。
- 処理対象のデータ ファイルを Azure Storage アカウントにアップロードします。 Batch には、Azure Blob Storage へのアクセスのサポートが組み込まれており、これらのファイルは、タスクの実行時に コンピューティング ノード にダウンロードすることができます。
- タスクで実行するアプリケーション ファイルをアップロードします。 たとえばジョブのタスクによって実行されるバイナリやスクリプト、さらには、その依存関係をアップロードできます。 これらのファイルは、タスクによって Storage アカウントからダウンロードできます。また、Batch のアプリケーション パッケージ機能をアプリケーションの管理とデプロイに利用することもできます。
- コンピューティング ノードの プール を作成します。 プールを作成するときに、プールのコンピューティング ノードの数とサイズ、オペレーティング システムを指定します。 ジョブに含まれる各タスクは、その実行時に、プール内のいずれかのノードで実行されるように割り当てられます。
- ジョブを作成します。 ジョブはタスクのコレクションを管理するものです。 各ジョブは、ジョブのタスクの実行場所とする特定のプールに関連付けて使用します。
- ジョブに タスク を追加します。 各タスクは、アップロードされたアプリケーション (またはスクリプト) を実行し、ストレージ アカウントからダウンロードしたデータ ファイルを処理します。 完了した各タスクは、その出力を Azure Storage にアップロードすることができます。
- ジョブの進行状況を監視し、タスクの出力を Azure Storage から取得します。
注意
Batch サービスを利用するには、Batch アカウントが必要です。 また、ほとんどの Batch ソリューションでは、関連付けられている Azure Storage アカウントがファイルの格納と取得に使用されています。
Batch サービスのリソース
次のトピックでは、分散コンピューティングのシナリオを実現する Batch のリソースについて説明します。
次のステップ
- Batch ソリューションの構築に使用できる Batch API とツールについて学習します。
- Batch .NET クライアント ライブラリまたは Python を使用した Batch 対応アプリケーションの開発に関する基本事項を確認してください。 これらのクイック スタートでは、Batch サービスを使用して複数のコンピューティング ノードでワークロードを実行するサンプル アプリケーションの開発手順を説明しています。また、Azure Storage を使用してワークロード ファイルのステージングと取得を行う方法についても取り上げています。
- Batch ソリューションを開発するときに使用する Batch Explorer をダウンロードしてインストールします。 Batch Explorer は、Azure Batch アプリケーションの作成、デバッグ、および監視に役立ちます。
- Stack Overflow、Batch Community リポジトリ、Azure Batch フォーラムなどのコミュニティ リソースを参照してください。