linux cpu占用率如何看
263
2022-10-21
腾讯推出国内首个云原生成本优化开源项目 Crane
关于我们
福利:
作者
王孝威,FinOps 认证从业者,腾讯云技术产品经理,Crane 产品负责人。
云资源管理现状
设想你是一个应用开发人员,编写业务代码是你的主业,应用需要多少资源,往往通过压测决定,这导致非业务高峰期时段巨大的资源浪费。正好,社区和公司都在积极推动云原生,声称可以利用其强大的调度和弹性解决资源浪费问题。你兴致勃勃的拥抱云原生,但最终发现,云原生业务的资源配置,同样还是需要压测这种传统而手工的方式。又比如你是一个平台侧运维人员,你背负着提升平台资源利用率的 KPI。集群内运行着众多负载规律波动的应用,你惊喜的发现,Kubernetes 提供了自动扩容能力,你很想试试看。但真正使用了HPA,从负载上升触发阈值,到弹性控制器开始扩容,到应用启动完成,可能有数分钟甚至数十分钟的滞后,在弹性起作用之前,应用已经被压垮。于是你抛弃自动弹性能力,继续回归到锁定超量资源的老路上来。研发人员到底能否从资源配置的深渊中解脱出来,是否能让弹性能力高效实用?于是你带着问题去社区寻找答案。你发现将应用代码和基础架构彻底分离的 Serverless 技术似乎是一个选项,但是随着深入了解你发现,Serverless 只是一个概念,不是一个标准,由于完全抛弃了服务器,底层自主可控和性能优化能力完全丧失;另一类是以谷歌 Autopilot 集群为首的资源托管类集群,这类集群应该满足你的诉求,但它平台绑定并且需要付费。我们决定改变现状,我们在对腾讯内部业务做成本优化时积累了众多经验,结合资源预测、智能弹性和全构混部能力,在不牺牲稳定性的前提下,将集群峰值利用率提升到了50%以上,下图是优化的效果。我们期待与社区同道一起优化应用资源配置和弹性的共性问题,于是我们给大家一个不重造轮子的可能,选择了开源。
图1 Crane 在大规模场景下的优化效果
Crane 的诞生:首款企业成本优化的开源工具
为推进云原生用户在确保业务稳定性的基础上做到真正的极致降本,腾讯推出了国内第一个基于云原生技术的成本优化开源项目 Crane( Cloud Resource Analytics and Economics )。Crane 遵循 FinOps 标准,旨在为云原生用户提供云成本优化一站式解决方案。当前 Crane 项目主要贡献者包括有腾讯、小红书、谷歌、eBay、微软、特斯拉等知名公司的行业专家。(Crane 开源项目地址:FinOps 标准的 Crane 成本优化工具能力模型
Crane 是腾讯内部云资源优化流程方法和工具的系统性输出,同时,Crane核心能力的构建与规划均与 FinOps 基金会提出的能力模型完全契合。
图2 Crane 能力模型
Crane 架构与特性
图3 Crane 架构Crane 致力于推荐资源和智能弹性配置,业务人员无需再为业务需要多少资源,自动扩缩容应该如何配置等问题而烦恼,Crane 会基于业务的时序变动数据给出最优解。
一键部署
Crane 保持平台独立,通过一个 Helm 包将 Crane 安装至任意 Kubernetes 集群,无论云上还是云下,即可享受一站式资源优化能力。Crane 侵入性小,核心组件包括集中控制器 craned 和节点代理 crane agent,你可以自由组合安装,通过 featureGate 选择开启哪些能力。
简单易用可视化控制台
开箱即用的巡检能力
Crane 可以全局扫描整体浪费情况,将隐藏浪费可视化的呈现出来,使运维人员免除拉取监控数据,编写查询脚本等重复性工作。优化方案包含对成本变化的展示,对利用率变化的展示,可能的风险点,甚至是优化建议的排序。因为我们相信,每个业务都是独一无二的,都有其最适合的优化方案,不能一概而论。
即时迅速的弹性 (EffectivePodAutoscaler(EPA))
传统基于事件的弹性工具会导致一个天然缺陷——当业务指标偏离正常值后才会触发弹性,这种滞后性使得云用户不敢使用弹性。EPA 支持可扩展的预测算法,以预测结果驱动横向和纵向弹性,确保业务能提前弹出来,彻底避免原生弹性能力未弹先死的尴尬。同时 Crane 将社区的 HPA 和 VPA 两种弹性能力统一起来,提出了弹性概念 EPA。
图4 EPA 确保工作负载提前扩容
稳定性与资源优化的双重兼
Crane 对资源利用率的提升,绝不是以牺牲稳定性作为代价。Crane 允许用户对业务进行定级,节点代理负责周期性检查节点资源水位和系统指标,识别应用干扰,并通过调度禁止,调整 cgroup,驱逐等多种手段确保敏感业务服务等级不受损。
Crane 现状与未来
当前Crane已发布0.2.0版本,具备了资源推荐,弹性推荐,智能弹性和稳定性增强等核心能力,更多开发计划请参考[里程碑]("里程碑")。
延伸阅读
[FinOps]("FinOps") (Financial Operations) 定义了一系列云财务管理规则和最佳实践,通过助力工程和财务团队、技术和业务团队彼此合作,进行数据驱动的成本决策,使组织能够获得最大收益。
秉承着用户为本,科技向善的核心价值观,腾讯云将内部云资源优化的经验、方法、工具以开源的形式分享给社区,助力云用户云成本优化视为自己的使命与责任。2021年12月,腾讯成为 FinOps 基金会顶级会员,致力于云资源优化理念的推广与技术输出。
加入我们
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~