给昂贵的云降降本

37 天前
 cesign

云 K8s 太贵,来看看用 Karpenter 给其降本一下: https://mp.weixin.qq.com/s/1QANbWZ6Sx7HGzez74rGRw

结合我的实践,大概能降60%左右!

5324 次点击
所在节点    程序员
51 条回复
perfectlife
37 天前
salmon5
37 天前
这个场景是跨境电商场景,是业务最简单的场景,可以 spot 搞来搞去,复杂的业务场景,这样 spot 搞来搞去,直接被 KO 了。
技术都是相对简单的,业务才是最费劲的。
salmon5
37 天前
RI 、SP 确实用起来很糟糕,这也是用 AWS 无奈之举。
salmon5
37 天前
所以我一向不主张用 AWS ,挣美元、发(工资)美元的公司,才适合用 AWS 。
国内的云阿里云也有 alibabacloud.com ,对比 AWS ,你这个根本不需要优化成本。
salmon5
37 天前
人民币换成美元,用 AWS ,那肯定是相当不划算的。
sampeng
37 天前
除非费用特别高。。我个人不太倾向业务在 spot 上跑。不管你感知多牛逼。AWS 免责说的明明白白,尽可能通知你,但有可能不通知你,自己负责。不过 spot 的回收率我根 BD 聊,大概 93%以上是没触发过回收。我实际在阿里云用也差不多,半年回收一次。所以策略自己搞个脚本其实很容易。不过吧,因为整体费用并不高,投入人力物力实在是不划算。维护成本也是成本。本来 2 个人就搞完的,因为又要高大上又要省钱,很容易一顿操作猛如虎,一看就省 2 毛五。


@hwcloudnative

第一个问题,这是一个综合成本考虑。买 RI 也没人逼着你全买 RI 啊。RI+Savings plans 是一个比较好的组合。RI 负责 24 小时都要开机的常驻机器。Savings plans 负责每小时的最小用量不限定机器类型。我一般组合着错开买,RI 的折扣力度大,SavingsPlans 折扣力度小但是非常灵活,而且支持 fargate 。

而且还要分业务和环境。我做过两种方案,第一种方案呢,开发测试环境白天开 spot ,晚上关机。第二种方案就是直接 RI 覆盖 50%。晚上自动把多余的机器关了,再自动根据流量伸缩一些 spot 机器出来临时用用。看着是前者省钱了,但是一顿操作猛如虎,一看就省 2 毛五。总得招个人来干吧,总得有第二个人维护和懂吧。第二个方案反而是本来就省钱了,多少而已,但是整体维护成本极低。

现在 fargate 其实是个不错的节省成本方案,如果无状态的,临时调度的扔 fargate 里面,跑完就关了。比开机器舒服多了。比如 CI/CD 。以前总是要一个一直在的集群,还有大小限制,死鬼死鬼。现在有 fargate/ask 的加持,就开一个宿主机跑调度就好了。其他都是 eci 。以前 github 跑 runner 要小 3000 美金一个月。现在。。3000 人民币就够了。
tabliu
37 天前
最妥还是 RI 和购买 saving plan ,spot 不可预测风险和运维成本很高的,遇到过一个 region 突然回收几百台 spot 机器的,如果没有预先购买 RI 和 SP 用 OD 代替跑几天成本就哭死。购买 SP ,怎么买,怎么知道云上 spot 的库存,回收率都是未知的。
cesign
37 天前
@fredcc
> spot 实例的中断管理本来也不应该 asg 管啊

那什么来管 spot 上用例的稳定性呢?依靠应用不显示,毕竟正在处理的请求,中断后就丢失了

> eks 不能做么

当然可以,主要是细粒度的应用调度级别的控制
cesign
37 天前
@sampeng

> 尽可能通知你,但有可能不通知你,自己负责。

还是看你怎么用,我们目前用下来,提前通知都受到了。没有遗失的。

> 而且还要分业务和环境。我做过两种方案,第一种方案呢,开发测试环境白天开 spot ,晚上关机。第二种方案就是直接 RI 覆盖 50%。晚上自动把多余的机器关了,再自动根据流量伸缩一些 spot 机器出来临时用用。看着是前者省钱了,但是一顿操作猛如虎,一看就省 2 毛五。

算算,假设 100 台 m5.xlarge ,弹性的为 50 台
所以第二方案的成本为:(50*0.121+50*0.0588)*1 个月=6562.7$
第一方案成本:(50*0.121+50*0.0588)*1 个月=4292.4$

所以 1 年 2w$属于 2 毛 5 的范畴?如果识别出来业务适合 spot ,为啥不用?


> 现在 fargate 其实是个不错的节省成本方案,如果无状态的,临时调度的扔 fargate 里面,跑完就关了。比开机器舒服多了。

给你看看 farget 成本:以一个程序(2Core/2GiB)运行一小时为例:
EKS Fargate=0.0896$
EKS/EC2=0.077$,使用 c5a.large(2Core/4GiB),还有 2GiB 的剩余

如果有一种手段既能享受到 farget 弹性,还能稳定使用 spot ,为啥不用?
cesign
37 天前
@sampeng
而且我不觉得你方案一和方案二维护成本差多少,接近一样。都需要更具 AWS 的 spot 通知,迁移 spot 节点的业务
cesign
37 天前
@tabliu

> 遇到过一个 region 突然回收几百台 spot 机器的,如果没有预先购买 RI 和 SP 用 OD 代替跑几天成本就哭死

确实是这样的。不过拉长时间看,比如 3 个月,大部分时间还是 spot 在跑,少部分时间使用 od 在跑
cesign
37 天前
@perfectlife

> 国内直接就支持啊,阿里云的 axk 好早就支持抢占实例作为 ack 节点,还支持节点被释放前自动拉起一个新抢占实例补上,抢占实例池没资源还能申请按量付费的

知识盲区,感谢提醒,这个很有用。
ytmsdy
37 天前
生产环境往 spot 上部署,这个对运维的要求太高了。大部分人估计都不敢这么干。
cesign
37 天前
@ytmsdy 当然,逐步来,我们也是搞了好久。
gkuchan
37 天前
04 部分,和纯 Serverless 的比较我觉得不够全面。大多数应用的纯运算时间都很少,更想了解一下如果采用纯 Serverless 架构,价格上会差多少。
bthulu
37 天前
可以先上云降低成本, 再下云降低成本, 再次上云降低成本, 再次下云降低成本, 多来几次, 就没有成本了.
br9852000
37 天前
业务高峰期节点迁移导致的业务损失估计比你省的钱要多吧。尤其是广告投放
cesign
37 天前
@br9852000 看业务类型,我们这种业务加上 od+spot 混合调度,没有端服过。
sampeng
36 天前
@cesign

运维很多事情不光是技术层面,还有很多其他要考虑的。
spot 回收哪怕你 3 年没出问题,出一次问题。就是一个锅。
甚至说锅这个东西因人而异。大部分公司,线上是一点问题都别出的。出了就要扯皮。哪怕没业务损失。
那么问题来了,为啥要去踩这个雷呢。很多领导,你要是跟他说 0.00001%的概率可能会业务出故障或者订单丢失,逻辑丢失,数据丢失之类的。。很多领导直接就会否了方案。

前面你说的第一和第二没有维护成本区别:一个是要做一个程序去控制,如果 spot 回收还要想办法加回来。这个程序要不要维护?有 bug 怎么办? api 升级了怎么办?集群升级了怎么办?是不是都是运维管理成本?第二种,哪有什么成本,年初买个 RI ,云平台设置一下定时关机。几年都不用去管他。甚至忘了的存在。

fargate 就不是这么节省成本的,你这个算法就跟我入现在这个公司发现所有服务都跑在 eci 上一样。fargate 哪能这么用,fargate 不能当长期服务用的,贵死人。他的定位是毫秒级可以分配 pod 。秒级拉起新 pod 。应对流量的高低变化。比如白天我就要 2 台常驻的就够了。晚上随着 cpu 的水位自动增加到 10 台。然后某些核心业务服务群用 fargate 自动横向伸缩,比如最高峰要从 2 个 pod 调度出 20-30 个 pod 。fargate 瞬间就能拉起来。这个高峰最多半个小时。缩回去就没成本了。这才是 fargate 的核心使用场景。而且 aws 的 fargate 不清楚有没有 spot 类型。阿里云的 eci 都有 spot 类型。你拿普通的机器 spot 当宿主机打死都不可能比我就运行 1 个小时就出 1 个小时的钱便宜(正常价格的 1/24 ,spot 顶天了 1/10 ,为了稳定可能是 50%上下的定价范围)。
cesign
36 天前
@sampeng

> spot 回收哪怕你 3 年没出问题,出一次问题。就是一个锅。

K8s 节点都有挂的可能性,照你这么说,用啥 K8s ,用回物理机算了,spot 确实会回收,但是做好回收后的业务连续性问题(提前回滚)就行。

就算是 on-demand ec2 的可用性保证也只有 99.99%,那按你意思,用啥用。

> 一个是要做一个程序去控制,如果 spot 回收还要想办法加回来。这个程序要不要维护?有 bug 怎么办? api 升级了怎么办?集群升级了怎么办?是不是都是运维管理成本?第二种,哪有什么成本,年初买个 RI ,云平台设置一下定时关机。几年都不用去管他。甚至忘了的存在。

这个程序就是相关产品的价值。RI 没有弹性,我阐述好多遍了,白天要 100U ,晚上 10U ,我得买 100U RI 的钱,那如果我买 10U RI ,90U 的 OD ,这难道不贵吗?




> fargate 就不是这么节省成本的,你这个算法就跟我入现在这个公司发现所有服务都跑在 eci 上一样。fargate 哪能这么用,

那你知不知到有相关 eks+ec2 的解决方案,也可以做极致弹性,有 pod 就扩,没 Pod 就缩,这个和 farget 体验是一样的,而且还便宜。谁跟你说 eks+ec2 不能做到类似 farget 的极致弹性。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1064548

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX