FinOps,云上成本管理探索

举报
SRE确定性运维 发表于 2023/03/28 14:18:23 2023/03/28
【摘要】 云上成本降低是上云企业普遍关心的问题,本文结合能源管理云在FinOps的探索,为企业在云成本控制提供一些经验分享。

来源:《华为云SRE确定性运维专刊》第三期

10.png

作者:宋建锋

      随着企业云成本的不断上升,如何有效的帮助企业加速FinOps实践,为企业云上降本增效,成为很多架构师关心的问题。FinOps聚焦云上资源管理和成本优化,通过让工程技术人员、业务、和财务专业人士,一起来优化用户、企业、组织的云资源成本,提高云上业务的投入和产出比,在此结合云厂商在FinOps的探索,为企业在云成本控制提供一些经验分享。
      云上成本是当前企业普遍关心的问题。
      当前存在两个原因导致云上成本这个问题很难说清楚:
      1.云厂商本身能力在演进。公有云的计费量纲,条目,计费内容等相当复杂,除了我们熟悉的ECS、CCE等计算资源外,SFS存储、网络带宽都是隐藏的费用大户,这种复杂性对熟悉云的人可以灵活使用,但对传统企业根本无从下手,导致上云前期成本预估普遍过小。而且,云厂商不断改变计费方法,缺乏标准的计费模型、计费格式,费用账单之间的追溯能力,也会导致问题复杂化。公有云定价和计费结构是多层次的,按需、不同时长的包月,各种资源的规格都是需要专业的人来做选择,所以云上的费用账单一般人都看不懂。
      2.上云企业自身能力不足,资源配置不当是引起云原生成本浪费的主要原因。在某些业务设置时,团队习惯于获得超出其工作负载所需的更多资源,“以防万一”,云原生技术本质是“用冗余换可用性”,因为资源太容易获取,所以会采用多Region、多副本、多AZ容灾、容器资源预留等技术来让业务平稳运行。从性能角度来看,这种方法对工程师来说非常有意义,但它会导致不必要的开支,并且这些开支可能会失控。
      上云以后,成本控制的模式已经发生了根本性的改变。传统模式是一个组织在花钱,一般IT支出都是按照每年的周期,通过资源规划、成本估算、成本预算、成本控制这四个阶段进行IT资产的管理。而且只有采购部门可以花钱,每一次的成本预算需要资产管理人员按照使用量的峰值进行上报,汇报通过后实际使用的研发人员是不感知成本的。

7-1.PNG

      而上云以后,企业财务一次性地将一笔预算充值到组织的云账号中,消费是使用部门在需要云资源的时候实时发生的,这意味着真正的消费阶段是发生在使用部门而非传统的采购部门,即使用者直接购买所需的资源。更有甚者是消费后付款,即使云账号中没有任何余额也会持续发生透支消费,直到下个月一张长长的消费账单摆在了财务的面前,请结账!
这时关注成本的人会忍不住提出质疑:虽然采用官方提供的云成本参考价进行建模,可以实现一定的成本控制,但这种成本控制方法几乎没有控制力,已经上云了,难道能因为费用问题,直接让业务冻结?只能继续充钱,最终导致成本失控。随着更多核心IT基础设施从固定成本的数据中心迁移到基于需求而消费的云资源环境里,这一类的共性问题也有了开源组织去研究---FinOps就出现了。

      FinOps,业界对云上成本管理的探索
      FinOps开源基金会成立于2020年,由Linux开源基金会主办,它旨在将“云财务管理”领域的公司聚集在一起,建立最佳实践和标准,帮助企业管理云支出。当前有39个会员,国内推荐的FinOps实践都是基于云原生的资源优化方案,你也可以理解为K8S的高级特性作广告,目的还是为了让多使用云资源和技术。
云的支出规则其实很简单,按需付钱。但是问题在于首先要清楚你需要什么?一支优秀的FinOps团队首先就是要通过多云平台,全面了解云资源的成本分布以实现成本控制,将钱花在真正需要的地方并重新分配资源。只有通过财务、业务、IT、运营支撑的整合与合作,才能确保预算更加准确,实现成本优化,避免资金浪费。所以说,FinOps是一个文化上的转变,需要建立新流程和新组织来达到成本管理的目标。

7-2.PNG

       FinOps定义的云上降低成本的措施包括:原则、团队角色、实施措施、成熟度、领域活动、能力等内容。整个落地的领域模型如下:

7-3.PNG

      在云上成本管理的探索实践
      1. 使用云上基础设施和传统基础设施差异很大:

7-4.PNG

       2. 按照目前的业务架构,整体上可以从三个层次规划FinOps能力。
      ● gPaaS层:根据我们的业务规模、业务特性(云上资源类型、时间)、业务架构选择成本较低的云服务规格;通过预留资源池对上层业务进行很好的支撑,并能兼顾资源弹性;根据云厂商提供的资源利用率进行动态扩缩容;对动态计算资源和静态资源进行混合部署。
      ● aPaaS层:缩短数据底座的生命周期路径,提供数据计算效率(当前数据底座是所有云服务里最贵的);AI算法的GPU和FPGA优化;对整个集群的容器资源进行全局统一调度等。
      ● SaaS层:关注各个应用的资源利用率;非必要不独占底层资源;进行每个SaaS资源的度量、计费优化;并通过可视化运营,对每个SaaS的生命周期进行自动化调度。
      3. 结合FinOps的理念,以及我的工作实践,总结几个措施落地:
      ● 资源使用规范化和可视化:需要针对复杂的云上资源提出统一的使用要求,制定成本量纲、定价和采集标准,并对资源进行持续跟踪;并基于完善的监测工具建立多维细粒度的资源利用率观测体系。开发IT工具来对资源的使用进行可视化管理,展示各个企业项目的资源分配、消耗,资源使用效率;分析Top10资源消耗的业务,分析Top10资源利用率低的业务,展示各个企业项目资源消耗的走势图等。注意:研发环境因为没有真实业务负载,导致资源利用率会非常低,这个是正常情况。
      ● 费用可视化:相比资源利用率,企业运营更关注成本,需要建立合理的计量计费方法,将资源利率可视化转换为费用可视化,并延展到各个部门的费用历史分析、趋势预测等。
      ● 成本预算管理和分配制度:基于大数据和AI算法,基于历史支出和对未来计划的评估,了解未来云基础设施如何影响当前预算和未来的云投资决策;基于历史数据,云厂商折扣数据,建立各个部门的成本分配机制,把成本分配给部门的各个团队,充分利用分配元数据(账号,团队,资源组,标签等)来分配,其中合理的资源标签模型是建立可持续的公平的成本分配方法的关键。
      ● 管理问责机制和KPI:采用管理规章制度,针对不合理的使用情况进行的处罚措施和KPI,奖惩机制来牵引成本管理。
      ●  IAC自动化创建资源:把所有人工去创建云资源都进行代码化,控制购买人的权限和责任;购买记录可以被审计,创建的资源可以和CMDB联动起来,做好资源的生命周期管理,并及时对不使用的资源进行销毁。需要注意的是:华为云的购买接口只能提供按需模式,IAC自动化创建资源需要手工转成包周期。研发环境和生产环境的规模和配置不一样,不可能1:1镜像,需要IAC在搭建内部研发环境时做参数化控制,结合测试策略,做到研发环境模拟生产环境的资源,避免浪费。
      ● 使用云原生技术进行成本优化:Kubernetes本身也提供了一些技术来提升资源利用率,例如HorizontalPodAutoscaler按指标弹性扩缩容、HorizontalPodCronscaler定时扩缩容等K8S推荐的高级特性,因为我们一般使用的是包年包月的实例,单个节点的局部优化,只能提升资源利用率,整体上是无法节省成本的。但在对内部各部门的KPI牵引上,提升资源利用率可以进行局部优化,最终促进下一个资源申请周期进行成本改进。
      ●  账号管理:使用云上提供的IAM账号管理和企业项目等机制,来满足各部门精细化的需求,并和实际业务的部门对应起来,让各个部门自主的进行成本管控。云上资源是按需申请的,几乎每时每刻都在消费,只有主账号有权限购买是不现实的。如果找一个不懂业务的秘书只能批通过,还不如不审批;找一个懂云上费用控制和业务部署架构的,又得是级别很高的人,专职做这个也不现实。所以经常出现管理员收到资源要释放的短信,但他又不是实际使用人,每天发各种短信纯属浪费,直接忽略后就导致资源被释放。华为云的“企业项目”层级更多的只能是查看,几乎无有效的管理机制。“企业项目”当前无法关联所有的资源,只有ECS、CCE、DCS等,其他SFS、网络等还没有关联,并且还有企业项目关联显示错误的问题。建议完善企业项目的管理能力,这个对使用云的企业是非常重要的特性。我们会按照每个企业项目设置一个有购买权限的人,但有些人是共享费用预算的,实际购买过程中,要么发生预算被抢占的情况,要么发生购买了资源不释放的情况。我们总结为:“一管则累,一放就贵”。我们正在子账号层面进行细粒度管控,来尽量避免这个问题,未来还需要在企业项目管控层面进行探索。
       ● 成立一个虚拟组织,业界称为云成本卓越中心CCoE(Cloud Cost Center of Excellence),包括:SRE代表、PM、SE代表、DevOps代表,后续还要加上质量运营,当前我们叫做环境管理小组,来保障以上措施有效落地。
       4.总结:“云原生”这个概念是云厂商提出来的,潜意识里云厂商是希望客户多消费,多花钱,所以相比单体架构的消费金额一定是更高的,但买来了服务,节省了人力,不需要购置资源等好处。毋庸置疑,云技术是能为企业带来价值的,我们坚信:有业务价值的成本开销是必须的,但需要讨论的是怎么能减少浪费。对成本管理是能源行业必须回答的命题,采用一系列措施以后,已经初步建立了云上的费用管控机制,而随着能源云业务的持续成功,FinOps在国内逐步会有更多的实践,我们的云上成本管理也会有更多方法论。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。