📜  AWS Batch 简介

📅  最后修改于: 2021-10-19 04:37:10             🧑  作者: Mango

Amazon Web Services 是 Amazon.com 的子公司,在付费订阅的基础上向个人、公司和政府提供按需云计算平台。

什么是云计算?
云计算是通过互联网通过云服务平台按需交付计算能力、数据库存储、应用程序和其他 IT 资源,并采用即用即付定价。

亚马逊网络服务提供了一个非常丰富的基于云的服务生态系统。 AWS Batch 就是其中之一。在这篇博文中,我们将讨论什么是 AWS Batch 及其组件。

顾名思义,AWS Batch 允许用户在 Amazon Web Services 云上批量运行他们的工作负载。全球的开发人员都使用批处理计算来完成他们的工作。批量计算的实践使从业者能够高效地访问大量的计算能力。如今,有关云计算服务的众所周知的事实之一是,它们在易用性和效率方面非常人性化。 AWS Batch 也不例外,它允许用户享受服务而无需担心配置和管理必要的基础设施。提交新作业时,AWS Batch 服务可以快速分配所需的资源。资源的分配是以最小化整体计算成本的方式完成的。整个过程的管理方式不会影响结果的交付时间。

在 AWS Batch 平台上,用户可以运行任何规模的基于批量计算的工作负载。 AWS Batch 的操作非常灵活。它根据作业的规模自动分配所需的资源。所有这些资源分配都是以优化的方式完成的。用户不需要在他们的系统上安装批量计算软件和工具。这使用户能够自由地专注于解决手头的问题并分析结果。

AWS Batch 的组件 –

AWS Batch 的四个重要组件是:

  1. 工作
  2. 工作定义
  3. 作业队列
  4. 计算环境

让我们详细讨论这些组件中的每一个。

作业:作业是提交到 AWS Batch 的可执行单元。它类似于 Linux 可执行文件或 shell 脚本。就像其他作业一样,AWS Batch 中的作业有一个名称,它在您的计算环境中作为 Amazon EC2 实例上的容器化应用程序运行。 AWS Batch 作业还可以引用其他正在运行的作业并通过它们的名称或 ID 识别它们。一项工作可能取决于另一项工作的成功完成。

工作定义:工作定义包含手头给定工作的细节。它指示如何运行作业。每个作业都需要一些资源来完成执行,作业定义负责跟踪资源。用户可以指定内存以及给定作业的处理要求。作业定义还可以处理用于持久存储的 AWS Batch 作业的各个方面。其中一些方面是容器属性、环境变量和挂载点。

作业队列:作业队列,顾名思义。如果您熟悉操作系统中的作业处理,那么您会发现它很容易理解。就像操作系统作业一样,AWS Batch 作业也会在执行之前提交到特定队列。调度算法运行并将给定的作业调度到计算环境上执行。在提交 ASW Batch 作业时,您还可以为其分配优先级。我们也可以为作业队列分配优先级。当特定作业可以在资源更便宜的任何时候执行时,可以将时间敏感的作业分配到高优先级队列,将作业分配到低优先级队列。

计算环境:它包含运行 AWS Batch 作业所需的托管和非托管资源。顾名思义,托管计算环境允许用户指定所需的实例类型。 AWS 还为用户提供了管理他们自己的计算环境的灵活性。在这种情况下,用户负责管理 Amazon ECS 集群中的实例。