什麼是 Azure Batch?

已完成

很少有組織擁有資源來支援長期部署的超強大計算平臺,這些平臺通常只有在偶爾情況下才會被充分利用。 更通常,您需要彈性且可調整的計算解決方案,例如 Azure Batch,以提供計算能力。

在使用 Azure Batch 執行光學字元辨識(OCR)上傳的凈水計量圖片的過程中,您必須瞭解 Azure Batch 工作流程的主要元件。

在這裡,您將瞭解 Azure Batch 的設計用途,以及 Batch 元件在一般工作流程中的使用方式。

需要大量計算的工作和平行工作負載

某些工作負載需要大量的計算能力。 範例包括財務風險模型化、3D 影像轉譯、媒體轉碼,以及基因序列分析。 在某些情況下,這些工作負載可以細分成個別的子工作,而且可以平行執行,以便以較少的時間執行工作。 三部虛擬機(VM)可以在三分之一的時間內執行一次的工作。

作為非營利組織 OCR 專案的一部分,您可以使用 Azure Batch 來分割執行 OCR 的工作,讓處理可以平行完成,因此完成所需的時間要少得多。

Azure Batch 的元件

您可以針對 Azure 上的這些大規模平行和計算密集型工作使用 Azure Batch。 概括而言,Azure Batch 牽涉到許多元件一起運作。 所有專案都必須在 Azure Batch 帳戶的內容中進行,其可作為所有 Batch 資源的容器。

針對某些使用案例,您可能想要將此帳戶與 Azure 記憶體帳戶產生關聯,以下載輸入檔案和應用程式,以供執行期間使用,以及儲存其結果。 在您的 Azure Batch 帳戶中,您可以建立虛擬計算節點的集區,執行 Windows 或 Linux。 您可以指定節點的數目、CPU 類型和記憶體大小,Azure 批次服務會為您管理及排程這些節點。 Batch 帳戶可以包含許多 Batch 集區。

建立一或多個集區之後,您可以建立個別作業,其作用就像排程所有工作的邏輯容器,而且可以共用通用屬性。 同樣地,擁有許多工作是完全可能的。

最後,您會建立任務,以描述工作實際執行的方式。 您可以使用任務直接執行命令行,或者任務可以運行您上傳至 Azure 儲存體的應用程式。 在下一個練習中,我們將會看到 Azure Batch 的所有主要元件一起運作。

一般 Azure Batch 工作流程

那麼,一般的 Azure Batch 工作流程看起來會是什麼樣子? 如下圖所示,典型的真實世界 Azure Batch 案例需要數據和應用程式檔案。 Batch 工作流程首先會將這些數據和應用程式檔案上傳至 Azure 記憶體帳戶。 然後,您可以視需要建立具有多達 Windows 或 Linux 虛擬計算節點的 Batch 集區。 如果工作負載的需求隨著時間而不同,您也可以自動調整它們。

Batch 服務接著會處理讓節點上線,並將任務排程到節點上執行。 工作開始執行之前,他們可能會從需要處理的記憶體下載任何數據和應用程式檔。 當工作正在執行時,可以查詢節點的狀態和工作的進度。 節點完成其工作之後,即可檢查或推送至 Azure 記憶體的工作輸出。

Azure Batch 工作流程的圖表。