设计与构建 FinOps 流程、团队、体系与目标
1. 前言
近几年随着云计算的迅猛发展,企业 IT 数字化转型也已经进入“深水区”,对于用好云的关注度逐渐提升。《Flexera 2023 年云计算现状报告》显示,云成本管理优化跃居云管理团队下年度待办清单的榜首。FinOps(财务运营)作为一种新的操作模型逐渐进入云管理团队的视野。
FinOps,即 “Finance” + “DevOps”,是一种企业云财务管理文化和实践的结合。在云计算的背景下,FinOps 的核心目标是使组织能够实现云资源的成本可预测性、透明度和责任性,从而确保在追求技术敏捷性和创新的同时,也能够控制和优化支出。
依据 FinOps 基金会的定义,“FinOps 是一种不断发展的云财务管理学科和文化实践,通过帮助工程师、财务、技术和业务团队协作制定数据驱动的支出决策,使组织能够获得最大的业务价值。”
2. FinOps 整体流程
企业 FinOps 实施不是一蹴而就的项目,而是关系到企业内部管理机制的体系化工程,是一个反复迭代和持续运营的过程。要 FinOps 实施取得预期的效果,企业需要在准备阶段构建内部 FinOps 体系和团队,完成文化层面的转变,并建立清晰的 FinOps 战略目标。在实施阶段,企业需要建立全面的资源和成本监控,选择合适的成本优化策略,并形成长效运作机制,使云上成本可以有效管控、持续控制。
3. 实施 FinOps 前的准备阶段
对于计划实施 FinOps 的企业而言,FinOps 的准备阶段是必不可少的。准备阶段涉及的不仅是策略制定,更是意识和文化的转变,它决定了 FinOps 实施能否顺利进行并取得预期的效果。在准备阶段,主要需关注三个要素:文化普及、战略同频、责任共担。
3.1 文化普及:推广 FinOps 的价值观
企业要实施 FinOps,首先要在文化层面做好铺垫,保证每个团队成员都能理解并接受 FinOps 理念。
尤其在云原生场景下,资源和成本具有较高动态性,依赖运维、业务、财务等多个职能团队协同管理,这导致更需要每个成员都培养良好的成本意识,在日常工作中主动考虑成本。企业需要使用适当的方式推广 FinOps 文化,持续建立全员的成本意识。可采取的方式包括:
- **组织全面的培训活动:**通过举办线上课程、研讨会,向所有员工介绍 FinOps 的基本原则和实践,确保全员都能理解其对企业的影响和价值。
- **宣传优秀案例:**利用内部论坛、新闻等渠道,持续分享 FinOps 的成功案例和节省成本的技巧,推动优秀经验的沉淀和复制。
- **定期举行成本管理会:**回顾和复盘成本管理中遇到的一些问题,从而推动持续改进。
普及 FinOps 文化不仅有助于降低云成本,还能提升企业对市场变化的适应性和决策的敏捷度。通过跨部门的合作和教育,FinOps 文化可以成为推动公司向更高效、透明和创新方向发展的动力。
3.2 战略同频:确立共同的 FinOps 目标
在确定 FinOps 作为需普及的企业文化后,企业还需在战略层面达成一致。这需要从组织的高层到基层的成员之间形成共识,确立共同的 FinOps 目标,并将这些目标与公司的整体战略紧密对齐。目标的清晰性、上层的支持、部门之间的协作以及基于成本控制的激励机制,都是确保企业 FinOps 战略同频并有效实施的关键要素。
- **制定清晰的战略目标:**确定实施 FinOps 的长期和短期目标,以及达到这些目标的战略方法。
- **上层支持:**确保公司上层领导理解并支持 FinOps,将其视作推动公司发展的重要因素。
- **跨部门协同:**整合不同部门的资源和力量,形成联动效应,共同推动成本优化战略的实施。
- **改进考核和激励措施:**将成本管理能力纳入员工的绩效考核指标,以此鼓励所有人积极参与成本控制。根据实际情况合理设置优化目标,如资源闲置率、成本节省额度等,对各部门资源使用进行统一价值量化,按照周期内优化成果进行适当奖罚措施。
3.3 责任共担:建立全员参与的责任体系
在 FinOps 实施之前,企业还需要构建全员共担的责任体系,以确保全员在实施过程中能够承担起相应的责任,共同推动 FinOps 目标的达成。
- **角色与任务明确化:**明确每个角色在 FinOps 实施中的职责和任务,确定业务、运维、财务等团队在其中需承担的责任。
- **反馈与沟通机制:**建立定期回顾机制,评估 FinOps 实施的成效,及时调整和优化策略。
- **构建跨职能团队:**创建由各个部门代表组成的 FinOps 团队,专门负责监控、分析和优化云成本,并能够从技术、财务等角度共同推进成本优化。该团队需要有完备的知识体系,具备项目管理、数据科学、财务分析和软件/基础设施开发等能力,可以对照成本优化目标来衡量各部门的执行和交付能力。
实施 FinOps 的准备阶段是确立组织内部文化、战略和责任认同的重要一步。通过普及 FinOps 文化,确保公司战略与成本优化同频,以及构建全员共担责任体系,可以为后续 FinOps 实践打下良好基础。
4. FinOps 实施阶段
4.1 成本洞察
成本洞察是实施 FinOps 的第一步,同时也贯穿在整个 FinOps 流程。组织需要构建成本监控系统,重点能力包括:业务成本分摊、资源监控、成本预测等。
尤其在云原生架构下,资源的共享和动态性也给成本分摊带来了新的技术挑战,组织一般可以借助云原生 FinOps 工具解决业务成本分摊的问题。ACK 成本套件也提供了成本洞察大盘以及成本数据导出 API 的能力,用户可以直接使用维度丰富的成本洞察大盘,也可以基于成本 API 构建内部 FinOps 系统。具体请参见:如何按照部门/应用拆分集群成本[1]。
在实施阶段,组织的不同角色由于职责不同,在成本洞察时也有各自的视角。
- IT 主管或财务从全局视角查看总成本是否在预算范围内,成本趋势是否正常。
- IT 运维人员在成本异常时,从资源层面检查是否资源付费策略可以优化,或查看造成成本异常的部门或业务,向下驱动业务团队检查。
- 业务研发人员检查对应业务的资源使用情况,分析成本升高原因,评估优化策略。
4.2 成本优化
在成本优化阶段,组织需要根据资源水位评估可优化空间,再根据业务情况确定优化策略。阿里云 ACK 集群可采用的典型优化策略,按照是否业务感知可分为以下方面:
选择业务无感的优化策略
对于企业常见因资源利用率低导致的浪费,或者希望在不调整架构的前提下优化成本,我们可以从资源分配或付费策略方面进行优化。
- 优化应用的资源分配:通过资源画像[2]调整资源申请/限制值,优化调度策略。
- 调整云资源采购策略:调整实例规格组合,优化付费策略,清理闲置资源。
选择业务感知的优化策略
使用合适的弹性能力:弹性伸缩是 ACK 被广泛采用的功能,典型的场景包含在线业务弹性、大规模计算训练、深度学习 GPU 或共享 GPU 的训练与推理、定时周期性负载变化等。从伸缩维度划分,可包括工作负载伸缩:典型如容器水平伸缩(HPA)[3]、容器定时伸缩(CronHPA)[4]、容器智能伸缩(AHPA)[5];节点伸缩:典型如节点自动伸缩[6]、virtual-node 无服务资源交付[7]、即时弹性[8]。
使用混部能力:典型如动态资源超卖[9],充分挖掘集群中已分配但未使用的资源量;或通过在离线混部[10]同时部署在线业务和离线应用,充分利用资源。
4.3 成本控制
成本控制是 FinOps 治理流程中非常重要的一环。完成成本洞察和成本优化后,可以通过成本控制来保障整个成本治理的流程处于可控状态下,防止因成本治理周期较长,导致集群和应用的费用出现超过限额或者增速过快的现象。
5. 结语
对企业来说,FinOps 不仅仅是一个技术方案,而是一种更灵活地处理云成本优化的方式。尽管技术是优化成本的主要手段,但技术人员无法完全评估其中的业务价值,这也是 FinOps 理念中宣导全员参与,并建立跨职能团队的主要原因。此外,FinOps 也强调数据驱动业务决策,明确的制度体系和持续的投入,可以让企业在追求技术敏捷性和创新的同时,也能够控制和优化支出。
相关链接:
[1] 如何按照部门/应用拆分集群成本
[2] 资源画像
[3] 容器水平伸缩(HPA)
[4] 容器定时伸缩(CronHPA)
[5] 容器智能伸缩(AHPA)
[6] 节点自动伸缩
[8] 即时弹性
[9] 动态资源超卖
[10] 在离线混部