几年之前,我曾写过一篇文章,呼吁大家别再张嘴闭嘴无服务器了[1]。在第二年的米兰无服务器日上,我甚至发表了主题演讲[2],恳求大家消停消停。我的观点非常简单,“当一切都无服务器了,也就不存在真正的『Serverless』。”
那时候,“Serverless”还属于新鲜事物,其中似乎蕴藏着无穷无尽的可能性。当然,也有人开始把这个标签贴错对象,同时有人不可避免要对无服务器指手画脚。但多数情况下,由此展开的争议重点并不是技术层面的细微差别,而是无服务器的“本质”和无服务器至上的心态。之后,情况开始发生变化。
首先变化的是“无服务器”的基本原理,其逐渐演变得不那么无服务器了。很多朋友可能并不记得,AWS最初公布无服务器时主要强调四大优势:1)消除服务器管理需求;2)灵活扩展;3)高可用性;4)无闲置容量。
如上图所示,其中“无闲置容量”的含义是:
“你无需为闲置容量付费。无需为计算和存储等资源预先或过度储备配额。当你的代码未处于运行状态时,不会产生任何费用。”
一年之后,无服务器的优势突然只剩三条了。我敢打赌,大家也能猜到哪条优势凭空消失了。这背后有很多原因,但变化正值Aurora Serverless v1的发布时。虽然v1的资源规模实际可以收缩至零,但“无闲置容量”这话其实已经不成立了。
看看,“无闲置容量”那条消失了
但就在re:Invent 2018召开前夕,其优势突然之间又变成了四条。现在的第四条优势是“只为价值付费”,也就是说:
用户只需要为一致的吞吐量或执行时间付费,服务器单位本身不再产生成本。
“为价值付费”
就在几天之后,AWS又宣布推出了Amazon DynamoDB On-Demand,还是强调只需为实际使用的内容(加上存储资源)付费。所有这一切都有其道理,虽然“无闲置容量”的目标已经破灭,但真正交到我们手上的版本也仍然可以接受。
但问题是,AWS的“贪婪”之路不可能就此停止。正所谓得寸进尺,得陇望蜀,在接受了这种变动之后,无服务器社区就让自己沦为以AWS为代表的、各大云服务巨头眼中的韭菜地。
后来,我们就迎来了“无服务器容器”、预配置并发、RDS代理等等。Aurora Serverless v2也出来了,到这时候几乎所有人都觉得它跟“无服务器”已经没有关系。现在,AWS Neptune Serverless横空出世,连收缩为零的选项也去掉了,最低容量的每月运行成本超过290美元。而且,不支持使用免费套餐。
那么,我们是不是已经偏离了无服务器曾经纯粹的定义,再也无法回头了?还是说,现在这些才是“无服务器”的现实形态?我不想总跟大家念叨坏消息,但这条前进的道路确实没能把我们指引向那睽违已久的应许之地。或者说,关于无服务器的一切,本就是我们想象中的一场幻梦……
相关链接:
-
https://www.jeremydaly.com/stop-calling-everything-serverless/
-
https://www.youtube.com/watch?v=vuWiB3vNiHc
推荐阅读:
原文始发于微信公众号(分布式实验室):呵呵,Serverless我越来越看不懂了。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论