当前,降本增效成为各大互联网公司的重要方向,IT成本则占据了互联网成本的大头。随着IT资源成本花费越来越高,很多公司意识到掌握管控成本和优化成本的重要性。
如何有效的降本?如何做好成本的洞察管控?如何掌握资源成本优化的技术方法?
优维第5期UGeek大咖说邀请了SRE领域极具声望的大咖,《SRE原理与实践》作者、前虎牙业务运维负责人张观石做客直播间,带来《精耕细作的运维资源成本管控方法-互联网企业的Finops思考与实践》的主题分享,张老师从专业角度为大家讲解了有关FinOps成本优化的思考与方法探索。
下面,就跟着鹿小U 一起来回顾一下本期大咖说的精彩内容。
「直播回顾」
一、认识IT资源成本及搞Finops必要性
对FinOps的理解,有一个概念就是省下来就是利润。
先来看一个案例。
上图是券商的分析报告,是对某个直播平台的IT资源做了一些分析。上图左侧红框部分,每个付费用户的服务器带宽成本在2019年和2020年都是125块,到2022年的时候就降到81块。可以看出该直播平台付费用户服务器带宽成本逐年下降了20%以上。
上图的右侧统计的是每个用户收入是69块,每个用户带宽成本是6块,就是说每个用户收入中带宽成本占比仅有8%。这个比列从另一个行情来讲,假如行业发展很快,营收增长迅猛的时候,这个成本可以忽略不计。如果是业务增长停滞的情况下,这样的成本都可能会成为一个敏感的话题。所以成本优化管控会越来越成为一个重要的事情。
>> IT支出占营收多少是合理的
上图是服务器和带宽的成本在整个营收里面的占比情况。可以看出在2019年的时候服务器和带宽的占比是13%,这其实是相当高的。而比较理想的情况是做到5%。
大家可以想一想在公司IT成本和营收的比例是什么样子的?有没有占比到5%?
5%可以当做一个参考值,很多公司如果能做到5%即是一个相对理想的状态。根据各公司具体情况分析,5%不是一个绝对的参考值,要看公司的市占是多少。如果我们的成本优化做的足够好的时候,对财报的影响是很重大的。
还是上面讲的那句话,省下的就是利润。
>> Finops是什么?
网上有一种说法,FinOps应该叫做运维经济学或者叫云计算的经济学,如果及讲云成本优化,显然FinOps的概念远远大于这个云成本优化的。
首先做FinOps不只关注云成本,也有可能有自建IDC,或者其他的IT资源的成本,要让有限的资源发挥最大的生产力,包括怎么去学好资源的供给,怎么样让资源发挥最大的效用,比如说云跟供应链的关系怎么样,内外部各个团队之间怎么去协同?从整个互联网来讲,要关注更大范围的经济问题。所以,我觉得叫经济学或者云计算经济学可能更贴切。
>> 浪费是普遍存在的
浪费其实是一个普遍的现象,先来看一下,Flexera 2022 年云状态报告数据显示,受访企业认为他们云开支里有 32%是浪费的。在国内,基于某公有云客户数据分析和调研,在线业务资源利用率普遍处于10%-15%
浪费的原因可能有:
>> 推动Finops的动力
我相信,在大部分企业,节省10-30%,可能是比较大的。假如月支出千万元,每月节省百万级。且是持续有效的节省。
在推动FinOps时,有两个问题需要想清楚:
问题1:各团队间存在很大鸿沟,阶段目标不一致,降本驱动力来自于哪里?
问题2:在没有明显浪费的企业,怎么降本?
想清楚以上问题后,如何推动FinOps呢
二、上云还是下云
大家都在说云成本优化,显然FinOps不止于云成本的优化,也包括IDC的部分。
用云与自建的利弊
从上面矩阵图,很明显可以看出上云是有很多好处的。比如资源类型很丰富,交互快,云产品的技术起点比较高,用着放心,维护成本低,按需付费就可以。而上云最大的劣势就是贵,还有就是管理失控可能会造成更多的浪费。
那上云为什么这么贵?因为上云包含很多隐性成本,比如设备成本、建设成本、研发成本、销售费用、支持费用、运维应用,还有空置成本等等,导致上云费用比高贵。
企业如果自建也是有好处的,比如成本低,好控制。像很多传统企业,包括银行、证券、国企很多都是没有上云的,都在使用自己的IDC。
>> 混合云是主流
上云和自建存在的优劣势,导致混合云成为主流,且适合大部分企业的架构。
>> 如何用好云:自建与上云,鱼和熊掌兼顾
上图右侧IDC自建的级别,就是企业自己负责的部分:
那自建有两种路径:
>> 如何用好云?
针对企业业务特性与云业务场景,能够事先合理规划云资源的使用预算与规模,并在申请使用过程中,可以根据规划进行评估与控制。针对具体的云资源,精细控制可用规格配置与使用场景,杜绝过度申请。
提供多种维度详细跟踪云成本,持续分析识别云成本可优化部分,为需求方提高云成本洞察和业务决策的能力,提供从时间、业务系统、部门、云资源等不同视角查看成本分布与消费趋势,成本结构。
分析多个云厂商、云平台的商务价格与折扣。根据业务形态,综合推荐性价比最优的云服务、云资源。
识别未使用或未得到充分利用的资源,并给出合理的优化策略以减少不必要的成本浪费。提供预估优化前后的比对效果,包括成本降低情况、利用率情况,并根据优化策略进行优化。
三、资源流程与职责
团队该如何开展工作?上面有说到FinOps是一个生产关系,即涉及很多个团队,比如业务研发、商务采购、运维管理、云产品管理,还有外部云的接入,包括商务架构 、财务、内审、法务甚至老老板。这么多的团队,工作应该怎么开展?
>> 资源申请与交付的流程
>> 资源管理者/架构师的挑战:
>> 构建资源管理及成本洞察能力
1.资源成本归集和成本标签
2.建立多维度的资源用量视角
四、GPU服务器攒机降本
下面举个例子来讲讲GPU服务器攒及降本。它的背景是这样的,有很多推理的场景,大几百张卡,在云上,用的T4卡。成本不低,需求数量在增长。希望能找到GPU的降本方案。然后问题调研下来,T4是2018年老卡,新卡也出来了,行业大部分还用T4,新卡的效益也不清楚。首先是不清楚应该用什么卡?厂商新旧没太衔接上,就必须要调研可行性,能不能节省成本。过程中要调研(服务器厂、卡厂、行业、业务调研)选卡、机型设计、技术准备、采购等;考察内部的可运维性,业务的适用性等。这样做的结果就是成功替换大部分,能够节省70%,在低折扣的基础上。
>> GPU卡的定位
如果没有做GPU卡的人,可能不是很了解,要调研才清楚。
当前英伟达Amper架构的新卡主要是A100(80G),A30,A16,A2,A40,
A10:可替代T4卡,供应形势不确定,曾停止接单
A30:针对轻度训练和推理场景,介于A100和V100的中间性能的GPU卡
A40 :主要替代之前的RTX6000和RTX8000,针对图形渲染的场景
A2:边缘场景,针对推理、渲染,物理规格和T4一致,T4卡的70%性能,价格低很多,性价比比T4卡更好
A16:主要替代M10,针对虚拟化场景
A100(80G):主要替代之前的V100和A100(40G),针对高性能计算场景
单个卡对比,inference大部分场景下:
性能:A30的性能是A10的1.3 ~ 1.7倍左右,A30的功耗跟A10差不多
价格:1.4倍左右,
供应:主推A30,A10 供货不好说。
>> 选卡:官方升级
T4升级为A10、A16、A30都可以。A16是图像视频卡,是一个非推理场景。A10政策不确定,变化比较大。重点是A30市场上比较少。
上图是卡的参数,可以关注卡的功耗、算力。新一代卡,了解视频解码器,它没有编码器,这个都是和音视频的关系比较大的特性。功耗上升了一倍多,这个在服务器成本里面其实是要考虑的。算力的一个对比,那也是需要去关注的。
了解清楚卡的参数后,可以做一些业务通用的测试,就是用通用的一些模型去做推理。那通用的场景做业务测试会关注很多指标,比如选存、GPU及对速度还有业务在各种程序里做一些收益测算。
要综合的考虑,不限用FinOps,因为不只是云的优化,应该打开思路,打开视野,从整个业务资源的视角,或者从整个供应链,甚至从整个经济的视角去考虑怎么用高效的方式去支撑业务的发展。
五、CPU算力降本思路及小案例
其实讲cpu的优化,或者说算力的优化,业界已经讲的很多,这里面讲的最多的其实就是CPU代差、计费方式、https带宽、存储回源带宽 。
>> 算力优化的通用方法
一般方法是缩容降配:缩容减少数量、降规格减少浪费、压榨利用率、升级新一代机型、部分下云、利用边缘机房、利用偏远算力。
高级点玩法:弹性扩缩容、潮汐调度,被动弹性,预测弹性,一键扩缩,混部提升复用即在离线混部/错峰混部,容器粒度,跨业务混布
>> 你选的规格合理吗?
为什么提出这个问题?因为很多公司可能会把云主机或者云上的资源当做物理机来用。有可能两年前申请的没有出问题就一直在用着。可以想一想,可能在两年前它的这个弹数,就它的cpu的规格已经是很老的。这个规格还没有升级到最新的?比如我发现云上某两个主机的历史价格比最新一代的还便宜些,占比是88%,性能是1.7倍,可以想一下这里面的收益有多少。
所以在申请主机的时候,不要只关注的核数或者频率。它的cpu的代数升级也会带来比较大的性能收益。
>> 算力成本优化:选择云机代数
>> 算力成本优化:选择计费方式
选择不同的计费方式,它的成本差异还是很大的。
这里列了几点,你看同样一个机型和规格的主机都是包年包月,但是成本差异还是比较大的,如果调度能力能跟得上,其实是可以去用好这种计费方式来节省成本。
举个例子,某个业务,白天一部门使用一批资源,晚上另外一个部门使用另外一批资源。不同时段对资源需求不同,包年包月资源有近一半时间是浪费的。那有两个方法可以解决:
六、Finops成本管控方法
下面讲一下成本管控的通用方法。
>> 成本优化通用方法
其实成本优化最简单的优化思路就是成本等于用量乘以单价。那优化成本有两个思路,一个是减少用量,一个是降低单价。
减少用量有很多运营优化的方式,包括降数量,利用率,价格优化,资源价格以外都能够减少用量。第二个方面是用更低的资源成本,要么让商务去谈更低的价格,要么是找到更低价格的资源来降低单价。那更进一步的方式是结构性的变化,就是用不同的资源来满足通用的需业务求。
减少用量,提升资源效用
降低单价,用更低价资源
>> 资源成本优化思路
怎么去优化成本,降低成本,有几点建议给大家参考。
>> Finops建设思考
七、Q&A
Q1:如何降低云成本?
张观石:成本优化最简单的优化思路就是成本等于用量乘以单价,减少用量或者降低单价。那具体怎么去做,要结合企业的具体情况来讲。比较简单的方式,其实就上面讲的减少资源的数量,或者降低它的规格,这比较容易把整个资源的利用率给提升上来,这是一个最简单的方式。
第二点比较简单的就是从商务上要用低价的,用不同的计费方式,用不同的资源,不同级别方式的资源。通过调度的方式去做,这种方式也是可以做得到的。
Q2:5%是怎么算出来的?请问案例中的成本是如何算的呀?如单用户的服务器带宽成本。
张观石:从案例的数据来讲,它是一家券商从他的财报里面去分析出来的,这不是我们内部的一个数据。这个数据对咱们做资源来讲,应该是有这样的数据的,首先你营收从公开或者从内部都能够拿到成本,IT的支出的成本应该是知道的,这个数据应该比较容易获得到5%。单单用户怎么来算?有很多种算法来算,主要看哪个是比较适合公司业务的。有些是从pc来算,就是单个pc成本是多少?或者按照MAU miu的方式来算,就人均成本是多少或者单笔订单的方式来算,它的成本是多少?就是把、把成本和业务量给结合起来。
Q3:资源利用率有时候不太好统计,特别是业务发展到一定程度不同业务部门消化云咨询的方式都不一样,那老板想看详细统计结果,有什么比较好的处理方式呢?
张观石:统计利用率其实是比较重要的一个工作哈,因为它是成本洞察的一个基础,跟我们可观测性的关系也比较大。单台服务器的利用力,我相信在每个公司都有通过监控数据来汇总。我们公司或者全平台或者是要分级的维度的这种方式来统计它的利用率的话,这需要有个算法,但这种算法可以用很多种口径来讨论就都可以,只要公司内部能够达成一致,我觉得就是一种方式。还有一种更简单的方式,就是你把利用力分档位,哪些是属于高涨,哪些属于空载的服务器,你把它列出来数量比例,这是一种简单的管理方式。
Q4:私有云如何费用化?如何将私有云成本分摊出去?那私有云费用化有没有好的落地方案呢?
张观石:我理解它是私有云成本的分摊的问题。如果你要做私有云的话,或者你要做FinOps这个事情就能分摊,也是一个比较重要的工作。基金会他们提出一个点,就是你的所有的成本都要分摊出去,分到各个业务上面去。那具体怎么分摊呢?有几种方式,其实不只是私有云,也包括公有,有这种方式需要去考虑怎么去分摊,怎么去挂靠到各业务团队。一种方式就是打标签的方式,就是像公有云一样,我每个资源都要挂一个业务标签,挂在这个标签下面去要通过标签的方式来聚合,能够归集我们的成本。还有一种方式就是通过cmdb的方式去挂载。因为cmdb可以说是跟我们业务是对应的,你把所有的资源都挂靠在cmdb上面,挂靠归集的方式能够去统一起来。