腾讯推出国内首个云原生成本优化开源项目 Crane

王孝威,FinOps 认证从业者,腾讯云技术产品经理,Crane 产品负责人。

云资源管理现状

设想你是一个应用开发人员,编写业务代码是你的主业,应用需要多少资源,往往通过压测决定,这导致非业务高峰期时段巨大的资源浪费。正好,社区和公司都在积极推动云原生,声称可以利用其强大的调度和弹性解决资源浪费问题。你兴致勃勃的拥抱云原生,但最终发现,云原生业务的资源配置,同样还是需要压测这种传统而手工的方式。

又比如你是一个平台侧运维人员,你背负着提升平台资源利用率的 KPI。集群内运行着众多负载规律波动的应用,你惊喜的发现,Kubernetes 提供了自动扩容能力,你很想试试看。但真正使用了HPA,从负载上升触发阈值,到弹性控制器开始扩容,到应用启动完成,可能有数分钟甚至数十分钟的滞后,在弹性起作用之前,应用已经被压垮。于是你抛弃自动弹性能力,继续回归到锁定超量资源的老路上来。

研发人员到底能否从资源配置的深渊中解脱出来,是否能让弹性能力高效实用?于是你带着问题去社区寻找答案。你发现将应用代码和基础架构彻底分离的 Serverless 技术似乎是一个选项,但是随着深入了解你发现,Serverless 只是一个概念,不是一个标准,由于完全抛弃了服务器,底层自主可控和性能优化能力完全丧失;另一类是以谷歌 Autopilot 集群为首的资源托管类集群,这类集群应该满足你的诉求,但它平台绑定并且需要付费。

我们决定改变现状,我们在对腾讯内部业务做成本优化时积累了众多经验,结合资源预测、智能弹性和全构混部能力,在不牺牲稳定性的前提下,将集群峰值利用率提升到了50%以上下图是优化的效果。我们期待与社区同道一起优化应用资源配置和弹性的共性问题,于是我们给大家一个不重造轮子的可能,选择了开源。

c4efbfb76e744375ce2d989261aafdba.png

图1:Crane 在大规模场景下的优化效果

Crane 的诞生:首款企业成本优化的开源工具

为推进云原生用户在确保业务稳定性的基础上做到真正的极致降本,腾讯推出了国内第一个基于云原生技术的成本优化开源项目 Crane( Cloud Resource Analytics and Economics )。Crane 遵循 FinOps 标准,旨在为云原生用户提供云成本优化一站式解决方案

当前 Crane 项目主要贡献者包括有腾讯、小红书、谷歌、eBay、微软、特斯拉等知名公司的行业专家。

(Crane 开源项目地址:https://github.com/gocrane/crane/

符合 FinOps 标准的 Crane 成本优化工具能力模型

Crane 是腾讯内部云资源优化流程方法和工具的系统性输出,同时,Crane 核心能力的构建与规划均与 FinOps 基金会提出的能力模型完全契合。

a9b05f92bf667456b94496da2a286f5e.png

图2:Crane 能力模型

Crane 架构与特性

310d4289726fec74a263e26c1c9fefea.png图3:Crane 架构

Crane 致力于推荐资源和智能弹性配置,业务人员无需再为业务需要多少资源,自动扩缩容应该如何配置等问题而烦恼,Crane 会基于业务的时序变动数据给出最优解。

一键部署

Crane 保持平台独立,通过一个 Helm 包将 Crane 安装至任意 Kubernetes 集群,无论云上还是云下,即可享受一站式资源优化能力。Crane 侵入性小,核心组件包括集中控制器 craned 和节点代理 crane agent,你可以自由组合安装,通过 featureGate 选择开启哪些能力。

简单易用可视化控制台

为降低使用门槛,Crane 提供内置控制台,用户可基于控制台查看成本分配,成本走势,并通过鼠标点击实现成本优化。所有能力均提供灰度控制和预览模式,以及回滚的能力,以消除业务侧对资源变动的顾虑。

开箱即用的巡检能力

Crane 可以全局扫描整体浪费情况,将隐藏浪费可视化的呈现出来,使运维人员免除拉取监控数据,编写查询脚本等重复性工作。

优化方案包含对成本变化的展示,对利用率变化的展示,可能的风险点,甚至是优化建议的排序。因为我们相信,每个业务都是独一无二的,都有其最适合的优化方案,不能一概而论。

即时迅速的弹性 (EffectivePodAutoscaler(EPA))

传统基于事件的弹性工具会导致一个天然缺陷——当业务指标偏离正常值后才会触发弹性,这种滞后性使得云用户不敢使用弹性。EPA 支持可扩展的预测算法,以预测结果驱动横向和纵向弹性,确保业务能提前弹出来,彻底避免原生弹性能力未弹先死的尴尬。同时 Crane 将社区的 HPA 和 VPA 两种弹性能力统一起来,提出了弹性概念 EPA。

aeba4af0829f9867b4f2991d2da488fb.png

图4:EPA 确保工作负载提前扩容

稳定性与资源优化的双重兼

Crane 对资源利用率的提升,绝不是以牺牲稳定性作为代价。Crane 允许用户对业务进行定级,节点代理负责周期性检查节点资源水位和系统指标,识别应用干扰,并通过调度禁止,调整 cgroup,驱逐等多种手段确保敏感业务服务等级不受损。

Crane 现状与未来

当前 Crane 已发布0.2.0版本,具备了资源推荐,弹性推荐,智能弹性和稳定性增强等核心能力,更多开发计划请参考里程碑[1]

延伸阅读

FinOps[2] (Financial Operations) 定义了一系列云财务管理规则和最佳实践,通过助力工程和财务团队、技术和业务团队彼此合作,进行数据驱动的成本决策,使组织能够获得最大收益。

a7423de6d74489f25a6feb9c2245721e.png

秉承着用户为本,科技向善的核心价值观,腾讯云将内部云资源优化的经验、方法、工具以开源的形式分享给社区,助力云用户云成本优化视为自己的使命与责任。2021年12月,腾讯成为 FinOps 基金会顶级会员,致力于云资源优化理念的推广与技术输出。

加入我们

Crane 项目开源进行时,欢迎关注 https://github.com/gocrane/crane/ 收藏/Star支持。

我们正在限量召集 Crane 的第一批开源技术粉丝,只要你对 Crane 及相关技术感兴趣,都欢迎加入,参与方式:添加腾小云二维码,回复:Crane,小云会拉你进群。

参考资料

[1]

里程碑: 【https://github.com/gocrane/crane/blob/main/docs/roadmaps/roadmap-1h-2022.md】

[2]

FinOps: 【https://www.finops.org/introduction/what-is-finops/】


578ba49c17d89e84ea500e6db2e149e0.png


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值