执行许多工作流程任务的经济可能性

时间:2019-03-07 09:01:47

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

所以我有这些Airflow DAG,其中包含多个任务。基本上,每个任务都会针对给定的代码片段执行一些独立的分析步骤,最后从法规的角度决定是否可以使用此片段。

每个任务-取决于代码段-都很短(最多1-25分钟),并且大部分归结为执行某些外部分析工具(开源和内部分析)并处理该工具的输出。

所有这些在我的开发机器上都可以很好地工作,但是由于我们在工作时间(每小时〜50个)中分析了大量的代码片段,而在工作时间之外都没有,因此我想对所有这些进行整理并在云中的某个地方运行(我真的不在乎Google云,aws或azure)。

所以我的问题是,在云中启动并运行这种经济方法是什么?我曾考虑过使用Google Cloud Composer和这些Google抢占式VM(那些随机关闭但价格便宜的虚拟机),但似乎我无法将PVM与Cloud Composer一起使用。

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

谢谢

1 个答案:

答案 0 :(得分:0)

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

  1. 在Compute Engine VM上运行自我管理的气流
  2. 运行Cloud Composer

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

Composer的优点在于它已集成在一起,因此您可以获得IAM,Stackdriver,WebUI代理等功能。但是,由于这项服务是托管的,因此您将为该服务支付更多费用。目前,无法通过可抢占的VM运行Composer。

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

值得注意的是,如果您进行自我管理,您还将获得Google积极为Airflow做出贡献的好处,因此,诸如运营商之类的事情应与当前的产品API兼容。 Google还定期提供修复程序和新的运营商。