微信号:YunTouTiao

介绍:云计算领域科技媒体:传播观点,传播价值;Web:www.yuntoutiao.com ,欢迎互动~~~

我在 Serverless 方面的惨痛教训

2017-08-11 23:50 Vandenborne

我在写了一篇介绍无服务器架构使用初体验的文章后,对于总结的心得和取得的成绩还沾沾自喜。然而,次日早晨的遭遇却让我苦不堪言。


度了两周的假期后我在这天早上起来,准备工作。我查了一下邮件和短信,冲了个澡,吃过了早餐――你也知道这是每天的惯例。然后在7点43分,我收到了亚马逊发来的预算通知。这时候,想必诸位已猜到发生了什么。


AWS预算通知邮件


乍一看,费用似乎并不多。预测费用83.28美元,我预料实际总费用大概少5美元。我马上登录到亚马逊控制台,径直进入到计费部分,发现预测费用居然高达800美元,实际费用180美元。我脑袋一时空白,这笔费用对我来说太高了,诸位也许可以从邮件中的预算值中看出来。


我赶紧马上分析日志,找到了自己犯的错误。这是昨天我在撰写博文时发现的一个bug,忘了更改代码就直接部署上去……


我的S3存储桶(S3 bucket)采用了这种设置方式:只要添加新文件,就会触发一个Lambda函数,该函数根据文件类型来确定缓存持续时间,并存储在元数据中。由于对象已被覆盖,它再次触发该事件,因为它被视作一个新的对象――这进而再次触发Lambda函数。是有处理该行为的检查机制,我检查了元数据是否已经在那里;如果在,就会用一个简单的返回语句终结脚本。问题就出在这里;由于重构(refactor),我忘了返回语句,它完全继续再次覆盖。因而形成了无限循环。


我觉得脚本一直在运行,因为在我发表我那篇博文前夕,日志全是关于它的内容。


我觉得这天再糟糕不过了,几小时过后,确实如此。我猜费用定期更新,因为它更新后,费用再次上涨。


AWS费用


实际费用现在是206美元,预测费用超过1000美元,这让我重新考虑将来要不要使用按使用付费的服务。犯了个小小的错误,却花费大笔钱,预算通知来得太晚了,我对此无能为力。


眼下,我不断刷新亚马逊上的计费页面,希望费用不会变得更高――晚上估计是睡不踏实了。


我倒不是说无服务器很坏,而是说你在使用无服务器时要格外小心。你要留意日志,再三测试各个部分。设置预算警报,尽管我最后的费用仍有206美元,但要是没有预算警报,费用会高得多。


为有兴趣的读者提供一些统计数字,你可以清楚地发现S3和Lambda一直非常活跃。


AWS按服务收取的费用


这恐怕是本人做过的最愚蠢的事情了。少了一个返回,最后害得我破费206美元。


相关阅读:

中高端IT圈人群,欢迎加入!

赏金制:欢迎来爆料!长期有效!

Serverless,后端小程序的未来

教你如何使用 Docker 构建 Serverless(无服务器应用程序)?

AWS上的Serverless架构详谈

Serverless Computing 是公共云的下一站吗?

值得关注的五大 Serverless Computing(无需管理服务器) 框架

OpenStack和Docker不能,Kubernetes和Mesos也不能,ServerLess能决定云计算胜负吗?

容器之后的下一波浪潮?Amazon CTO谈无服务器计算


 
云头条 更多文章 2017年容器和云编排调查结果及分析 深信服商用密码产品整改,9月25日之前国内禁止销售 云服务是企业未来 中国首个企业云大厦落地深圳 IBM、华为、柏科中标天津公安云平台(数据库部分:2098万) 数据又又又被删除了:主角是思科12亿美元收购的Meraki
猜您喜欢 今天开始学逆向:用 Cycript 进行运行时分析及应用操作 理解ionic2 + angular2开发方案 云端 Dockerfile 「为你而生」 为小程序而生的小(jiao)手架 SHELL编程之内建命令