Azure Batch 解决方案设计

已完成

Azure Batch 在云中高效运行大规模应用程序。 你可以规划计算密集型任务并动态调整解决方案的资源,而无需管理基础结构。 Azure Batch 可以创建和管理计算节点(虚拟机)池。 Azure Batch 还可以安装你要运行的应用程序,并计划在计算节点上运行的作业。

有关 Azure Batch 的注意事项

在许多情况下,Azure Batch 可以是基础结构的理想计算解决方案。 Azure Batch 类似于 Azure 虚拟机,可用于生成新工作负载和迁移数据。

Flowchart that shows the decision tree for selecting Azure Batch to build new workloads, and to support lift and shift or cloud-optimized migrations.

  • Azure Batch 非常适合独立运行的应用程序(并行工作负载)。

  • Azure Batch 对于需要相互通信的应用程序(紧密耦合的工作负载)很有效。 可以使用 Batch 生成一个服务来为某家金融服务公司运行 Monte Carlo 模拟,或者生成一个服务来处理图像。

  • Azure Batch 使大规模并行和高性能计算 (HPC) 批处理作业能够缩放到数十、数百或数千个虚拟机。 准备好运行作业时,Azure Batch 将:

    • 为你启动计算虚拟机池。
    • 安装应用程序和暂存数据。
    • 使用尽可能多的任务运行作业。
    • 识别故障,重新排队工作,并在工作完成时纵向缩减池。

Azure Batch 工作原理

典型的真实 Azure Batch 场景将需要数据和应用程序文件。 Batch 工作流首先将数据和应用程序文件上传到 Azure 存储帐户。 根据需求创建一个 Batch 池,其中包含所需数量的 Windows 或 Linux 虚拟计算节点。 如果需求提高,计算节点可以自动扩展。

Diagram that shows how Azure Batch works to upload, download, create, and monitor tasks.

规划自己的配置时,可以将方案的各个方面分为两部分:服务和 Azure Batch 计算。

  • 服务使用 Azure 作为平台。 该平台用于完成计算密集型工作和检索结果。 还可以监视作业和任务进度。

  • Azure Batch 作为服务后面的计算平台运行。 Batch 使用 Azure 存储来提取完成任务所需的应用程序或数据。 Azure Batch 将输出写入 Azure 存储。 在幕后有虚拟机的集合(池)。 池是在其上执行作业和任务的资源。

使用 Azure Batch 时的注意事项

让我们看一下使用 Azure Batch 的一些最佳做法。 查看建议时,请考虑通过将 Azure Batch 集成到 Tailwind Traders 基础结构中可以实现哪些方案。

  • 考虑池。 如果作业由短时间运行的任务组成,请不要为每个作业创建一个新池。 创建新池所产生的开销会减少作业的运行时间。 此外,最好让作业动态使用池。 如果作业将同一个池用于所有用途,在该池出现问题时,作业有可能无法运行。

  • 考虑节点。 无法保证各个节点始终可用。 如果 Azure Batch 工作负载需要具有确定性且有保证的进度,则你应该分配包含多个节点的池。 请考虑对具有符合性或法规要求的工作负载使用独立的虚拟机大小。

  • 考虑作业。 为作业指定唯一名称,以便可以准确监视和记录活动。 考虑将任务分组为有效规模的作业。 使用包含 1000 个任务的单个作业,比创建 100 个作业并在每个作业中包含 10 个任务更高效。

业务应用程序

请花几分钟时间阅读其他 Azure Batch 最佳做法