最近,谷歌云内容主管 Forrest Brazeal 表示,对于开发者来说,无服务器函数是云端最大的计费风险,因为我们没有简单的方法来防止递归调用,而且它们几乎可以无限地在所有的云提供商中扩散。
Brazeal 提到了云开发者撰写的一些文章,这些文章描述了那些导致无服务器函数“失控”和巨额账单的错误。其中,Cloudsoft 工程副总裁 Aled Sage 报告了亚马逊云科技的一个 Lambda 巨额账单的例子,Tom Wright 描述了发生在 Azure 上一个可怕的无服务器事故,Milkie Way 创始人 Sudeep Chauhan 解释了他如何在谷歌云上测试 Firebase 和 Cloud Run 花费了 72000 美元。Brazeal 警告说:
在讨论谷歌云、亚马逊云科技和 Azure 的具体限制和保护措施时,作者认为它们没有提供安全的方法来防范风险,因为这些供应商都还没有完全保护开发者的机制。Brazeal 补充说:
亚马逊云科技有一个页面专门介绍了导致 Lambda 函数计费问题的递归反模式,并承认:
对函数进行并发性限制可能会有所帮助,但这会给开发人员造成一种错误的安全感假象:它可以在递归分叉式场景(无限的函数扩展)中提供保护,但不能避免几个小时内的大笔费用,例如使用相同的 S3 桶作为函数的源和目标。Qube Cinema 技术架构师 Sudhir Jonathan 去年报道过这样的案例。亚马逊云科技首席开发者 James Beswick 写了一篇关于如何使用 Amazon S3 和 AWS Lambda 避免递归调用的文章,他解释说:
正如云顾问、亚马逊云科技无服务器英雄(Serverless Hero)Yan Cui 最近所说的那样,虽然有很多可能的优化措施来节省使用 Lambda 的成本,但并没有提供自动断路器。在云供应商可能引入的缓解措施中,Brazeal 建议采用近实时计费方式,对云计费设置上限,并更好地自动化异常检测和递归工作负载修复。
The Duckbill Group 云经济学家 Corey Quinn 在他的新闻稿中评论道:
去年,时任 A Cloud Guru 内容和社区总监的 Brazeal 强调了亚马逊云科技缺少沙盒账户和硬收费限制。
原文链接 :
Are Recursive Serverless Functions the Biggest Billing Risk on the Cloud?