1
4006-998-758
新闻动态

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

2022-06-14

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

王孝威——腾讯云技术产品经理,FinOps 认证从业者,目前负责腾讯云容器领域多款产品,开源云上资源管理和成本优化项目 Crane 产品负责人。


 1 

云资源管理现状

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


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


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


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

腾讯推出国内首个云原生成本优化开源项目 Crane(图2)图1:Crane 在大规模场景下的优化效果

 2 

Crane 的诞生:

首款企业成本优化的开源工具

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


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


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


 3 

符合 FinOps 标准的 

Crane 成本优化工具能力模型

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

腾讯推出国内首个云原生成本优化开源项目 Crane(图3)
图2:Crane 能力模型

 4 

Crane 架构与特性

腾讯推出国内首个云原生成本优化开源项目 Crane(图4)图3:Crane 架构

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


   || 一键部署

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


|| 简单易用可视化控制台

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


|| 开箱即用的巡检能力

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


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


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

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

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

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

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

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

延伸阅读

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


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


7月3-4日即将于深圳举办的2022K+全球软件研发行业创新峰会,特邀王孝威老师带来【Cloud FinOps - 云原生时代的降本增效】的内容分享,感兴趣的同学可以扫描下方海报二维码或点阅读原文”,了解更多峰会详情!


腾讯推出国内首个云原生成本优化开源项目 Crane(图7)
返回列表