AWS Managed Apache airflow (MWAA) 或 AWS Batch 用于简单的批处理作业流

AWS Managed Apache airflow (MWAA) or AWS Batch for simple batch job flow

我有一个简单的工作流程来设计,其中将有 4 个批处理作业 运行ning 一个接一个地顺序进行,并且每个作业都是 运行ning 在多节点 master/slave 架构中。

我的问题是 AWS Batch 可以使用作业队列管理简单的工作流,也可以管理多节点并行作业。 现在,我应该使用 AWS Batch 还是 Airflow?

借助 Airflow,我可以在 Kubernetes 集群中使用 KubernetesPodOperator 和作业 运行。但是 Airflow 本身并不支持多节点并行作业。

注意:批处理作业是使用 Spring 支持 master/slave 架构的批处理远程分区框架在 java 中编写的。

AWS Batch 更符合您的要求。

Airflow 是一种工作流编排工具,它用于承载许多作业,每个作业都有多个任务,每个任务都在轻处理。它最常见的用途是用于 ETL,但在您的用例中,您将拥有一个完整的 Airflow 生态系统来完成一项工作,这(除非您手动将其分解为更小的任务)不会 运行 multi-threaded .

另一方面,AWS Batch 用于批处理,您可以 finely-tune servers/nodes 执行您的代码。我认为在您的用例中,它也比 Airflow 便宜。