在 SACC 2023 FinOps专场上,我狠狠喷了一把云厂商。这是现场发言的文字整理稿,介绍了终极 FinOps —— 下云的理念与实践路径。
FinOps关注点跑偏:总价 = 单价 x 数量,搞 FinOps 的人关注减少浪费资源的数量,却故意无视了房间里的大象 —— 云资源单价。
公有云是个杀猪盘:廉价EC2/S3获客,EBS/RDS杀猪。云算力的成本是自建的五倍,云存储的成本则可达百倍以上,堪称终极成本刺客。
**FinOps终点是下云:**对于有一定规模企业来说,IDC自建的总体成本在云服务列表价1折上下。下云是原教旨 FinOps 的终点,也是真正 FinOps 的起点。
**自建能力决定议价权:**以斗争求和平则和平存,以妥协求和平则和平亡。拥有自建能力的用户即使不下云也能谈出极低的折扣,没有自建能力的公司只能向公有云厂商缴纳高昂的 “无专家税” 。
**数据库是自建的关键:**K8S 上的无状态应用与数据仓库搬迁相对容易,真正的难点落在数据库上 —— 如何自建足够好的 RDS 服务。
比起浪费的数量,资源单价才是重点。
公有云是服务器带宽租赁超卖与运维专家外包的生意,其实是一个外包的“技术中台”。而搞中台就会面临吃大锅饭如何分账如何避免浪费的问题。云厂商为了营收搞了许多花里胡哨的计费规则,复杂到专门诞生了一门工程 FinOps 来研究如何分这些账 —— 这是一个因为使用公有云而出现的问题。
FinOps 基金会说,FinOPS关注的是“云成本优化”。但我们认为只强调公有云其实是有意把这个概念缩小了 —— 值得关注的是全部的资源的成本管控优化,而不仅仅局限在上公有云 —— 还有“混合云”与”私有云“。即使不用公有云,FinOps 的一些方法论也依然能用于 K8S 云原生全家桶。
正因为这样,很多搞 FinOps 的人关注点被刻意带偏 —— 目光被局限在减少云资源浪费数量上,却忽视了一个非常重要的问题:总价取决于两个因素:数量 ✖️ 单价。比起数量,单价可能才是降本增效的关键。前面几位嘉宾介绍过,云上资源平均有 1/3 左右的浪费,这也是 FinOps 的优化空间。然而如果你把不需要弹性的服务放在公有云上,本身使用的资源单价就已经溢价了几倍到十几倍,浪费的部分与之相比只能算三瓜两枣。
在我职业生涯的第一站,便亲历过一次 FinOps 运动。我们的BU曾是阿里云第一批内部用户,也是“数据中台”诞生的地方,阿里云出了十几个工程师直接加入带我们上云。上了 ODPS 后每年存储计算开销七千万,而通过健康分等 FinOps 手段确实优化了十几个M的浪费。然而原本使用自建机房 Hadoop 全家桶跑同样的东西,每年成本不到一千万 —— 节约是件好事,但与翻几番的资源成本相比根本算不了什么。
随着降本增效成为主旋律,云遣返也成为一种潮流。发明中台这个概念的阿里,自己已经开始拆中台了。然而还有很多企业在重蹈杀猪盘的覆辙,重复着上云 - 云遣返的老路。
廉价EC2/S3获客,EBS/RDS杀猪。
公有云所鼓吹的弹性是针对其商业模式而设计的:启动成本极低,维持成本极高。低启动成本吸引用户上云,而且良好的弹性可以随时适配业务增长,可是业务稳定后形成供应商锁定,尾大不掉,极高的维持成本就会让用户痛不欲生了。这种模式有一个俗称 —— 杀猪盘。
要想杀猪,先要养猪,舍不着孩子套不着狼。所以对于新用户、初创企业,小微用户,公用云都不吝于提供一些甜头,甚至赔本赚吆喝。新用户首单骨折,初创企业免费/半价 Credit,以及微妙的定价策略。以 AWS RDS 报价为例可以看出,1核2核的迷你机型,单价也就是 几$/核·月,折合三四百块人民币一年,可以说是非常便宜实惠(不含存储):如果你需要一个低频使用的小微数据库放点东西,这也许就是最简单便宜的选择。
