Azure Batch 解决方案设计

已完成

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

有关 Azure Batch 的注意事项

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

显示用于选择 Azure Batch 以生成新工作负载并支持直接迁移或云优化迁移的决策树的流程图。

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

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

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

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

Azure Batch 工作原理

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

图示显示 Azure Batch 如何用于上传、下载、创建和监视任务。

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

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

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

使用 Azure Batch 时的注意事项

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

  • 考虑池。 如果作业由短时间运行的任务组成,请不要为每个作业创建一个新池。 创建新池所产生的开销会减少作业的运行时间。 此外,最好让作业动态使用池。 如果你的作业对一切使用同一个池,则失败的可能性更高。

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

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

小窍门

继续学习使用 Azure 门户创建 Azure Batch 帐户模块。