【问题标题】:Economic possibility to execute many workflow tasks执行许多工作流任务的经济可能性
【发布时间】:2019-03-07 09:01:47
【问题描述】:

所以我有这些由几个任务组成的 Airflow DAG。基本上每个任务都针对给定的代码 sn-p 执行一些独立的分析步骤,最后从监管的角度决定是否可以使用这个 sn-p。

每个任务 - 取决于代码 sn-p - 非常短(最多 1-25 分钟),并且主要归结为执行一些外部分析工具(开源和内部)并处理该工具的输出。

所有这些在我的开发机器上运行得非常好,但是由于我们在工作时间(每小时约 50 个)分析了相当多的代码 sn-ps,而在工作时间之外没有,我想得到所有这些在云中的某个地方启动并运行(我真的不在乎是在谷歌云、aws 还是 azure 上)。

所以我的问题是,在云中启动和运行的经济方式是什么?我考虑过使用谷歌云作曲家和这些谷歌抢占式虚拟机(那些随机关闭但超级便宜的虚拟机),但似乎我不能将 PVM 与云作曲家一起使用。

由于 DAG 中的各个步骤是独立的,因此 PVM 将非常适合 IMO - 如果在任务执行期间它们被关闭,我只需在不同的 PVM 上重试这个任务。

谢谢

【问题讨论】:

  • 对于AWS 前台,您可以使用lambdasAwsLambdaHook 与他们合作。
  • 谢谢。实际上我也考虑过 lambda,但我不知道我可以将自己的工具“安装”到 lambda 中然后执行它们。例如,我需要在 lambda 中执行 cloc 并获得结果。这可能吗?
  • ..economic way of getting this up and running.. 在裸机上设置Airflow 只需要大约 10 分钟;就像pip install apache-airflow[<list-of-extras>] 一样简单,然后启动schedulerwebserver(假设LocalExecutor
  • 嗨,是的,这与设置气流无关 - 与每小时执行约 50 次 DAG 的计算能力有关。
  • 我从未使用过lambdas,所以无法评论依赖问题。但是当然PythonOperator 可以让你运行任何东西,Airflow 已经有一些使用AwsHook 的例子,它使用了AWSpython SDKboto3

标签: google-cloud-platform airflow google-cloud-composer


【解决方案1】:

在 Google Cloud 上,有几个选项供您选择。

  1. 在 Compute Engine 虚拟机上运行自我管理的 Airflow
  2. 运行Cloud Composer

最好的选择将是您想要花费多少以及您需要哪些功能。如果您希望成本非常低(每月不到 100 美元)并且可以自行管理 VM 并承担 Google 的 SLA 仅涵盖 VM 的风险,那么自我管理的 Airflow 是一个不错的选择,所以如果 Airflow故障,您将不得不检测并修复它。

Composer 的优势在于它是集成的,因此您可以获得 IAM、Stackdriver、WebUI 代理等功能。但是,您将为该服务支付更多费用,因为它是托管的。目前没有办法在可抢占的 VM 上运行 Composer。

不过,您的用例听起来像是可以在 Cloud Composer 上的默认大小集群上运行。

值得注意的是,如果您进行自我管理,您还可以获得 Google 积极为 Airflow 做出贡献的好处,因此运营商之类的东西应该针对当前的产品 API 工作。 Google 还定期提供修复程序和新运算符。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-06-13
    • 2016-02-11
    • 1970-01-01
    • 1970-01-01
    • 2023-03-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多