所以我有这些Airflow DAG,其中包含多个任务。基本上,每个任务都会针对给定的代码片段执行一些独立的分析步骤,最后从法规的角度决定是否可以使用此片段。
每个任务-取决于代码段-都很短(最多1-25分钟),并且大部分归结为执行某些外部分析工具(开源和内部分析)并处理该工具的输出。
所有这些在我的开发机器上都可以很好地工作,但是由于我们在工作时间(每小时〜50个)中分析了大量的代码片段,而在工作时间之外都没有,因此我想对所有这些进行整理并在云中的某个地方运行(我真的不在乎Google云,aws或azure)。
所以我的问题是,在云中启动并运行这种经济方法是什么?我曾考虑过使用Google Cloud Composer和这些Google抢占式VM(那些随机关闭但价格便宜的虚拟机),但似乎我无法将PVM与Cloud Composer一起使用。
由于DAG中的各个步骤是独立的,因此PVM非常适合IMO-如果在执行任务期间将其关闭,我只需在其他PVM上重试此任务即可。
谢谢
答案 0 :(得分:0)
在Google Cloud上,有几个选项供您选择。
最好的选择是您要花多少钱和需要哪些功能。如果您希望拥有非常低的成本(每月少于100美元)并且可以自行管理VM,并承担Google的SLA仅覆盖VM的风险,那么自我管理的Airflow是一个不错的选择。故障,您将不得不检测并修复它。
Composer的优点在于它已集成在一起,因此您可以获得IAM,Stackdriver,WebUI代理等功能。但是,由于这项服务是托管的,因此您将为该服务支付更多费用。目前,无法通过可抢占的VM运行Composer。
您的用例听起来像可以在Cloud Composer上的默认大小群集上运行。
值得注意的是,如果您进行自我管理,您还将获得Google积极为Airflow做出贡献的好处,因此,诸如运营商之类的事情应与当前的产品API兼容。 Google还定期提供修复程序和新的运营商。