您的浏览器禁用了JavaScript(一种计算机语言,用以实现您与网页的交互),请解除该禁用,或者联系我们。[腾讯]:云原生成本管理白皮书v1.0 - 发现报告
当前位置:首页/行业研究/报告详情/

云原生成本管理白皮书v1.0

信息技术2022-04-22-腾讯杨***
云原生成本管理白皮书v1.0

降本之源云原生成本管理白皮书 降本之源云原生成本管理白皮书编写单位腾讯云计算(北京)有限责任公司中国信息通信研究院作业帮教育科技(北京)有限公司腾讯云原生 让用云更简单 更有效 0408010203100808091014101011141719222527目录CONTENTS前言一、背景介绍二、云原生成本管理模型2.1 资源利用率现状2.2 云原生成本管理模型2.2.1 成本洞察2.2.2 成本优化2.2.3 成本运营三、最佳实践3.1 成本洞察3.1.1 成本采集及资源追踪3.1.2 资源使用可视化3.1.3 费用可视化3.2 成本优化3.2.1 设置合理的资源请求和限制3.2.2 动态调度3.2.3 多维度弹性3.2.4 在离线混部3.2.5 GPU 共享3.2.6 优化矩阵3.3 成本运营3.3.1 建立成本优化团队3.3.2 推动成本意识文化3.3.3 数据驱动成本优化3.3.4 在流程中考虑成本四、总结五、企业客户降本案例113.1.4 成本分配133.1.5 账单管理27282829293.3.5 量化成本优化交付的业务价值293132 Keith ChanCNCF 中国区总监兼 Linux 基金会亚太区策略规划总监、腾讯云 TVP前言云原生使组织能够在现代云环境(例如公共云、私有云和混合云)中构建和运行可扩展的应用程序, 更快地创新并使企业能够更敏捷地对市场作出反应。凭借弹性计算、自动扩展、计量计费和按使用付费模型等功能,云原生计算可帮助组织摆脱昂贵的永远在线的基础架构,并将这些节省用于新功能开发。 冗余、容错、松散耦合的服务和云原生架构自动化的自动恢复导致的弹性增加和停机时间减少也可能导致间接成本节约。使用容器和微服务构建应用程序的一个巧妙之处在于,云原生应用程序使开发人员可以更轻松地访问和重用为早期项目创建的组件。 这有几个云原生的优点,可以降低开发成本并制作更好的应用程序:云原生是应用程序开发的未来,具有巨大的业务影响潜力——能够快速有效地将想法转化为生产。云原生已赋能许多其他技术,例如 边缘计算、人工智能、区块链、5G 应用等。抓住云原生变得特别重要, 你准备好了以下了没:1. 创建一个更加面向服务的组织。而不是传统的基于功能的结构,围绕特定的服务或能力组织您的团队。2. 使用现代和最新的架构。云原生意味着使用微服务和反应速度更快的架构类型。3. 重新组织您的架构以跟上云原生开发的步伐。业务应该能够以与技术人员相同的速度足够快地生成需求。4. 大多数云原生关键基础设施都是开源的,例如Kubernetes,你知道如何参与开源社区以了解云原生的最新发展,甚至成为贡献者的一份子吗?降低开发过程的复杂性:开发人员可以将更多时间花在项目的细节上,而不是构建通用框架上。它还允许在更短的时间内开发更复杂的应用程序。 缩短上市时间:更快的交付意味着更快的客户更满意,这也意味着抓住时间敏感机会的潜力。简化测试:经过审查的微服务出现的问题更少,减轻了管道后期的负载。当开发人员知道服务有效时,他们所要做的就是设计兼容性。 模块化设计:模块化设计使外观和功能的标准化更容易。拥有多个应用程序或服务的公司可以利用这一点来降低客户的学习曲线。1 数字经济已成为我国经济增长的重要引擎,云计算从部分企业数字化转型的载体,转变为整个经济社会发展的基石与枢纽。万千企业数字化转型提速换挡,对云计算的使用效能提出了更高的要求,云计算迎来了全新的发展机遇。相较于传统云计算架构,云原生具备更灵活的资源管理、更敏捷的应用迭代、更高效的模块协同以及更稳定的业务保障能力,云原生带动技术架构、应用效能、云化效益的全方位提升,为企业数字化转型提供了有效的实践工具和方法论。根据中国信息通信研究院调查数据显示,云原生已进入黄金发展期,其核心技术开始在大规模生产环境中深入应用,金融、政府、制造、电信、医疗等行业的云原生用户占比较2020 年均有显著提升,云原生化开始从业内的头部企业逐步下沉到中小企业,从领先企业的尝鲜变为主流企业的必备。同时,云原生技术给企业带来的价值中,提升资源利用率节约成本连续两年排名第一,2021年已有九成用户认可该项价值,排名前五的另外四项价值分别是:提升弹性效率、提升交付效率、简化运维系统以及便于现有系统的功能扩展。云原生已成为企业基于云实现降本增效的最佳实践。但随着企业用云程度不断加深,云上支出浪费严重,云原生平台自身的成本治理成为企业上云突出诉求。弹性按需是云原生的资源利用优势,但如果资源配置策略设置不合理可能会导致资源的浪费;云原生资源利用的计量方式如果不够灵活,会使得企业难以准确调控用云成本;云边缘、混合多云、云数智融合等模式在帮助提升工作效率、实现应用灵活部署的同时也带来了异构资源管理的新挑战。因此,企业在应用云原生架构之后,需要考虑如何管理、优化和使用云原生服务,如何通过降低云原生成本,进一步提升业务的数字化转型效果。云原生成本管理面临问题难定位、路径难选择、成效难持续三大挑战,资源成本优化是云原生降本的关键路径。云原生成本管理一是需要掌握成本支出态势,准确定位资源浪费的根源;二是需要选择适合平台架构和业务特点的资源优化策略,并规避因资源优化导致对业务稳定性的影响;三是实现成本优化后还需要保证其持久性。资源成本优化从基于账单优化的成本可视、基于资源优化的成本节约以及基于模式优化的成本运营从三方面帮助降低云原生平台成本。《云原生成本管理白皮书》将基于中国信息通信研究院与腾讯云对行业发展趋势和企业客户诉求的准确把握、对云原生优化的技术研究与实践经验,提出一套体系化的云原生成本优化方法论和最佳实践路径,结合行业优秀案例,帮助企业改善用云成本充分发挥云原生的效能和价值,为企业的数字化转型提供可靠的保障。一、背景介绍2 云原生并非一项单纯的技术,更是一种思想,是技术、企业管理方法的集合,云原生追求的是在包括公有云、私有云、混合云等动态环境中构建和运行规模化应用的能力,追求的是业务持续平滑的变更能力。Kubernetes 是云原生技术栈的核心,是众多云原生项目的粘合剂。Kubernetes 遵循声明式系统原则,将其管控的对象都抽象成标准API,并通过多种控制器完成云原生平台的高度自动化。比如云用户可以通过定义Pod 对象,并指定需要运行的容器镜像,以及容器所需的CPU、内存等计算资源。该对象被提交至 Kubernetes 以后,Kubernetes 会依据用户请求运行容器进程,并按需求确保该应用进程的资源配额。这使得应用可以以较低成本接入到 Kubernetes 平台中来,并依靠 Kubernetes 自动化机制实现低运维乃至免运维。基于监控平台收集的数据,Kubernetes 可根据应用的实时指标数据,预测应用资源用量,并通过自动化横向或纵向扩缩容能力,及时调整应用的副本数量以及资源用量,及时回收空闲资源,提升资源使用率。提升资源利用率是云原生技术栈的核心目标之一,资源利用率的提升意味着以更少的计算节点用承载更多的应用实例,极大的降低云用户的资源开销,也契合国家节能减排的政策号召。二、云原生成本管理模型3 2.1 资源利用率现状根据中国信息通信研究院调查数据显示,云原生技术给企业带来的价中,提升资源利用率以节约成本连续两年排名第一,2021 年,已有九成用户认可该项价值。如图1所示,《2020年 CNCF中国云原生调查》报告中指出,生产系统中使用 Kubernetes 的比例已从 2019 年的 72% 增长到了 82%,越来越多的企业在云上使用基础设施资源、通过 Kubernetes 平台来管理应用,Kubernetes 已经无处不在。图1 Kubernetes 近年部署率提升资源利用率以节省成本提升弹性伸缩效率提升交付效率简化运维系统开放架构方便现有系统上的功能扩展选项2020年2021年76%90.59%63%76.98%38%66.83%30%67.57%25%48.02%4 图3 资源利用率调查但是,随着企业用云程度加深,越来越多的应用迁移到云原生架构上,原本天然具备降本增效特点的云原生架构如果资源配置不当也会引起大量云上资源闲置、云支出浪费。2021 年 CNCF《FinOps Kubernetes Report》调研报告显示,迁移至 Kubernetes 平台后,68% 的受访者表示所在企业计算资源成本有所增加,36%的受访者表示成本飙升超过20%,调查结果如图2 所示。这都说明即使是资源利用率更高的云原生架构也需要合理的资源成本管理。Kubernetes集群的成本主要集中在工作节点的运行成本,资源利用率过低是计算成本高企的最主要原因。在 Kubernetes集群中,资源利用率体现为运行的所有Pod 消耗的资源与集群上可用资源总量的比率,据麦肯锡早期报告,全球服务器资源利用率不到 6%,资源利用率低下导致了大量的资源浪费。针对相同统计口径,腾讯云对1000 多云客户进行了资源利用情况分析,抽样超过一万计算节点,实际使用率如图 3 所示:图2 迁移至 Kubernetes 平台后成本变化调查结果42% 的节点资源利用率低于 10%72% 的节点资源利用率低于 20%15% 的节点资源利用率在 20%-30%只有不到13%的客户点利用率大于 30%5 在线业务流量通常有较明显的波动周期,且波谷时间常大于波峰时间,波谷时期的资源有较多闲置,这也成为了资源利用率较低的另一主因。例如公交系统通常在白天负载增加,夜晚负载减少;游戏业务通常在周五晚上开始出现波峰,在周日晚开始出现波谷。如图5 所示,同一业务在不同的时间段对CPU 资源的用量不同,若用户以固定资源需求申请CPU 资源,当业务负载较低时,CPU资源利用率就会很低。将统计数据汇总,我们可以看到,计算节点的平均资源利用率在 10% 左右,这意味着云用户 90% 的计算资源成本是闲置的,这造成了高企的云成本,形成了极大的浪费。针对此种状况,下文分析了主要原因:Kubernetes Pod 的资源需求(Resource Request)字段用于管理容器对 CPU 和内存资源预留,保证容器至少可以达到的资源量,该部分资源不能被其他容器抢占。如何设置资源需求是一个难题,若设置过小,当业务负载变高时,业务所需的计算资源无法被确保,可能会造成计算变慢、延迟过高等影响业务指标的情况。为避免此情况发生的可能性,用户通常会将 Request 设置得很高,以保证服务的可靠性。但实际上,业务在大多数时段时负载不会很高。以CPU 为例,图4是某个实际业务场景下容器的资源预留(Request)和实际使用量(CPU_Usage)关系图:资源预留远大于实际使用量,两者之间差值所对应的资源不能被其他负载使用,因此 Request 设置过大势必会造成较大的资源浪费。资源预留过多,普遍存在 50% 以上的浪费图4 CPU 资源利用率业务资源使用率波峰波谷现象普遍,低峰时资源浪费严重图5 资源利用率的波动现象6 计算作业依据其提供服务的特性和业务目的可分为在线业务和离线业务两类:在线业务通常白天负载较高,且对时延要求较高,必须优先调度和运行;而离线的计算型业务通常对运行时段和时延要求相对较低,可以在在线业务负载波谷时段运行。此外,有些业务属于计算密集型,对CPU 资源消耗较多,而有些业务属于内存密集型,对内存消耗较多。如图6 所示,将负载峰值在不同时段的业务,或者将在线和离线作业混部在一起,可有效的以离线作业填补在线作业的负载低谷时段,进而提升资源利用率。将需求不同资源的作业有效的部署在相同节点,可充分利用各种资源,提升总体资源利用率。不同类型的业务,对资源的需求不同图6 负载峰值在不同时段的业务混部部分客户做完成本优化项目后,短期内确实节省了很多成本。但是随着时间推移,业务的变迁,旧的成本优化方案可能会失效,云成本又开始上升,这个持续成本优化带来很大挑战。业务开发团队在系统架构、系统设计时,缺乏对成本的考量,这可能

你可能感兴趣

hot

2023云原生节点管理最佳实践白皮书

信息技术
阿里巴巴2023-12-07
hot

星汉未来云原生IT成本优化白皮书

信息技术
星汉未来2022-09-15
hot

鸿蒙生态应用开发白皮书V1.0

信息技术
华为2023-07-03
hot

百度区块链白皮书V1.0分析解读

信息技术
链塔智库2018-11-08