【发布时间】:2019-09-15 11:06:28
【问题描述】:
VM 规模集可用于根据业务需求创建多个 VM,此外,Azure 批处理还可用于在多个 VM 中执行作业。
Azure Batch 和 VM Scale set 之间的确切区别是什么?
【问题讨论】:
标签: azure azure-batch azure-vm-scale-set
VM 规模集可用于根据业务需求创建多个 VM,此外,Azure 批处理还可用于在多个 VM 中执行作业。
Azure Batch 和 VM Scale set 之间的确切区别是什么?
【问题讨论】:
标签: azure azure-batch azure-vm-scale-set
Azure Batch 是一种平台即服务产品,具有用于计划、提交任务和获取其结果的完整平台。作业和任务使用节点池提交。节点池可以由 VMSS 计算资源组成。
而 VMSS 是一种基础架构即服务,可为任何预期目的提供计算资源。虽然您可以启动自己的 VMSS 来运行任务,但您还必须围绕它实现自己的作业、任务和计算协调器服务,以模拟 Azure Batch 服务产品。
【讨论】:
概括地说,Azure Batch 提供了两个用于在云中调度 Batch 和 HPC 工作负载的基本部分:
Azure Batch 在 VMSS 和云服务“之上”的托管层提供基础架构。 Azure Batch 编排下面的各个部分以提供一个称为 Batch 池的概念,它提供潜在的更高规模(因为多个部署可以透明地编排在一起)和更高的故障恢复能力,因为 Batch 会自动恢复已降级的虚拟机或云服务实例。
此外,同样重要的是,Azure Batch 提供云原生作业调度。这部分是完全托管的,即您不必自己运行调度程序。简而言之,Azure Batch 提供了作业队列和任务的概念,您可以在可用的编程 (API/SDK) 或工具中定义这些概念。 Azure Batch 对这些概念进行操作以执行您定义的工作(例如,具有依赖项的命令行或 Docker 容器);任务甚至可以跨越多个节点(例如,MPI 作业)。如果这些任务在池中的不同节点上失败,Azure Batch 能够重试这些任务。 Azure Batch 提供了一个自动缩放系统,允许您动态调整基础结构(批处理池)的大小,以响应节点指标和系统中执行的作业/任务的数量。
请以technical overview为起点。
【讨论】:
azure 批处理意图是运行作业、vmss 工作负载。从技术上讲,它们确实有一些重叠,但工作是相当短暂的\突发的,而工作量必须一直在工作
【讨论】:
VM Scaleset 用于为应用程序提供自动扩展和流量负载平衡。VM Scale set 适用于运行基于 Web 应用程序/api 的工作负载,其中处理应用程序的自动扩展和流量负载均衡完成。
Azure Batch 用于任务、调度作业、运行本质上并行且紧密耦合的工作负载。它可以提供用于执行高计算作业的不同节点/VM 的缩放和负载平衡。它可能不适合长期运行的服务。 Batch 的一个常见场景涉及在计算节点池上扩展本质上的并行工作,例如为 3D 场景渲染图像。
【讨论】: