首页 > 其他分享 >如何设计与构建 FinOps 流程、团队、体系与目标

如何设计与构建 FinOps 流程、团队、体系与目标

时间:2024-05-11 15:53:05浏览次数:25  
标签:managed FinOps ack 流程 构建 资源 优化 成本

作者:景祁

前言

近几年随着云计算的迅猛发展,企业 IT 数字化转型也已经进入“深水区”,对于用好云的关注度逐渐提升。《Flexera 2023 年云计算现状报告》显示,云成本管理优化跃居云管理团队下年度待办清单的榜首。FinOps(财务运营)作为一种新的操作模型逐渐进入云管理团队的视野。

FinOps,即  “Finance” + “DevOps” ,是一种企业云财务管理文化和实践的结合。在云计算的背景下,FinOps 的核心目标是使组织能够实现云资源的成本可预测性、透明度和责任性,从而确保在追求技术敏捷性和创新的同时,也能够控制和优化支出。

依据 FinOps 基金会的定义, “FinOps 是一种不断发展的云财务管理学科和文化实践,通过帮助工程师、财务、技术和业务团队协作制定数据驱动的支出决策,使组织能够获得最大的业务价值。”

FinOps 整体流程

企业 FinOps 实施不是一蹴而就的项目,而是关系到企业内部管理机制的体系化工程,是一个反复迭代和持续运营的过程。要 FinOps 实施取得预期的效果,企业需要在准备阶段构建内部 FinOps 体系和团队,完成文化层面的转变,并建立清晰的 FinOps 战略目标。在实施阶段,企业需要建立全面的资源和成本监控,选择合适的成本优化策略,并形成长效运作机制,使云上成本可以有效管控、持续控制。

实施 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 实践打下良好基础。

FinOps 实施阶段

4.1 成本洞察

成本洞察是实施 FinOps 的第一步,同时也贯穿在整个 FinOps 流程。组织需要构建成本监控系统,重点能力包括:业务成本分摊、资源监控、成本预测等。

尤其在云原生架构下,资源的共享和动态性也给成本分摊带来了新的技术挑战,组织一般可以借助云原生 FinOps 工具解决业务成本分摊的问题。ACK 成本套件也提供了成本洞察大盘以及成本数据导出 API 的能力,用户可以直接使用维度丰富的成本洞察大盘,也可以基于成本 API 构建内部 FinOps 系统。具体请参见:如何按照部门/应用拆分集群成本 [ 1]

在实施阶段,组织的不同角色由于职责不同,在成本洞察时也有各自的视角。

  • IT 主管或财务从全局视角查看总成本是否在预算范围内,成本趋势是否正常。
  • IT 运维人员在成本异常时,从资源层面检查是否资源付费策略可以优化,或查看造成成本异常的部门或业务,向下驱动业务团队检查。
  • 业务研发人员检查对应业务的资源使用情况,分析成本升高原因,评估优化策略。

4.2 成本优化

在成本优化阶段,组织需要根据资源水位评估可优化空间,再根据业务情况确定优化策略。阿里云 ACK 集群可采用的典型优化策略,按照是否业务感知可分为以下方面:

4.2.1 选择业务无感的优化策略

对于企业常见因资源利用率低导致的浪费,或者希望在不调整架构的前提下优化成本,我们可以从资源分配或付费策略方面进行优化。

  • 优化应用的资源分配:通过资源画像 [ 2] 调整资源申请/限制值,优化调度策略。
  • 调整云资源采购策略:调整实例规格组合,优化付费策略,清理闲置资源。

4.2.2 选择业务感知的优化策略

使用合适的弹性能力: 弹性伸缩是 ACK 被广泛采用的功能,典型的场景包含在线业务弹性、大规模计算训练、深度学习 GPU 或共享 GPU 的训练与推理、定时周期性负载变化等。从伸缩维度划分,可包括工作负载伸缩:典型如容器水平伸缩(HPA) [ 3] 、容器定时伸缩(CronHPA) [ 4] 、容器智能伸缩(AHPA) [ 5] ;节点伸缩:典型如节点自动伸缩 [ 6] 、virtual-node 无服务资源交付 [ 7] 、即时弹性 [ 8]

使用混部能力: 典型如动态资源超卖 [ 9] ,充分挖掘集群中已分配但未使用的资源量;或通过在离线混部 [ 10] 同时部署在线业务和离线应用,充分利用资源。

4.3 成本控制

成本控制是 FinOps 治理流程中非常重要的一环。完成成本洞察和成本优化后,可以通过成本控制来保障整个成本治理的流程处于可控状态下,防止因成本治理周期较长,导致集群和应用的费用出现超过限额或者增速过快的现象。

结语

对企业来说,FinOps 不仅仅是一个技术方案,而是一种更灵活地处理云成本优化的方式。尽管技术是优化成本的主要手段,但技术人员无法完全评估其中的业务价值,这也是 FinOps 理念中宣导全员参与,并建立跨职能团队的主要原因。此外,FinOps 也强调数据驱动业务决策,明确的制度体系和持续的投入,可以让企业在追求技术敏捷性和创新的同时,也能够控制和优化支出。

相关链接:

[1] 如何按照部门/应用拆分集群成本

https://help.aliyun.com/zh/ack/ack-managed-and-ack-dedicated/user-guide/cost-analysis-overview

[2] 资源画像

https://help.aliyun.com/zh/ack/ack-managed-and-ack-dedicated/user-guide/resource-profiling

[3] 容器水平伸缩(HPA)

https://help.aliyun.com/zh/ack/ack-managed-and-ack-dedicated/user-guide/horizontal-pod-autoscaling

[4] 容器定时伸缩(CronHPA)

https://help.aliyun.com/zh/ack/ack-managed-and-ack-dedicated/user-guide/cronhpa

[5] 容器智能伸缩(AHPA)

https://help.aliyun.com/zh/ack/ack-managed-and-ack-dedicated/user-guide/ahpa-overview-1

[6] 节点自动伸缩

https://help.aliyun.com/zh/ack/ack-managed-and-ack-dedicated/user-guide/auto-scaling-of-nodes

[7] virtual-node 无服务资源交付

https://help.aliyun.com/zh/ack/ack-managed-and-ack-dedicated/user-guide/deploy-the-virtual-node-controller-and-use-it-to-create-elastic-container-instance-based-pods

[8] 即时弹性

https://help.aliyun.com/zh/ack/ack-managed-and-ack-dedicated/user-guide/instant-elasticity

[9] 动态资源超卖

https://help.aliyun.com/zh/ack/ack-managed-and-ack-dedicated/user-guide/dynamic-resource-overcommitment

[10] 在离线混部

https://help.aliyun.com/zh/ack/ack-managed-and-ack-dedicated/user-guide/overview-of-the-colocation-of-different-types-of-workloads

标签:managed,FinOps,ack,流程,构建,资源,优化,成本
From: https://www.cnblogs.com/alisystemsoftware/p/18186630

相关文章

  • 构建react项目
    1,建立工程的2种方式1)用npm npxreact-create-appxxx2)用脚手架 creacte-react-appxxx【推荐】 2,更换项目图标和title(属于公共的东西在public文件夹里面) public/favicon.ico public/index.html 3,创建react函数组件代码片段文件->首选项->设置用户代码片段......
  • 构建无服务器数仓(二)Apache DolphinScheduler 集成以及 LOB 粒度资源消费分析
    引言在数据驱动的世界中,企业正在寻求可靠且高性能的解决方案来管理其不断增长的数据需求。本系列博客从一个重视数据安全和合规性的B2C金融科技客户的角度来讨论云上云下混合部署的情况下如何利用亚马逊云科技云原生服务、开源社区产品以及第三方工具构建无服务器数据仓库的解......
  • IDA Pro - 大名鼎鼎的交互式反汇编工具+SCons - 嵌入式项目里最常用的自动化构建工具
    1、libjpeg-广泛使用的JPEG编解码库libjpeg是一个完全用C语言编写的库,包含了被广泛使用的JPEG解码、JPEG编码和其他的JPEG功能的实现。这个库由独立JPEG工作组维护。项目源码:http://www.ijg.org/files/2、FatFs-面向小型嵌入式系统的FAT文件系统FatFs是日本的大......
  • HBase读写流程以及为什么面对百亿数据依旧可以很快
    HBase是什么:HBase是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统,用于存储海量的结构化、非结构化、半结构化的数据(底层存储的只有字节数组类型的数据)HBase写流程客户端向zookeeper建立连接并发送请求获取meta表的元数据的位置信息,和被哪个regionserver所管理,连接这个......
  • 工作流程组二开
    一、流程核心表1、流程路径、流程表单、表单字段、节点、节点操作者、出口相关表。workflow_type:流程类型表,存放流程类型的基本信息;workflow_base:工作流基本信息表,中isbill字段(0,是表单,1单据或自定义表单,fromid小于0是自定义表单,大于0是单据),id=workflowidworkflow_bill :用户自......
  • OpenVoiceV2本地部署教程,苹果MacOs部署流程,声音响度统一,文字转语音,TTS
    最近OpenVoice项目更新了V2版本,新的模型对于中文推理更加友好,音色也得到了一定的提升,本次分享一下如何在苹果的MacOs系统中本地部署OpenVoice的V2版本。首先下载OpenVoiceV2的压缩包:OpenVoiceV2-for-mac代码和模型https://pan.quark.cn/s/33dc06b46699该版本针对MacOs系统做......
  • kapt构建报错
    报错信息:Causedby:org.gradle.internal.metaobject.AbstractDynamicObject$CustomMessageMissingMethodException:Couldnotfindmethodkapt()forarguments[android.arch.persistence.room:compiler:1.1.1]onobjectoftypeorg.gradle.api.internal.artifacts.dsl.de......
  • 利用LangChain构建的智能数据库操作系统
    在Retrieval或者ReACT的一些场景中,常常需要数据库与人工智能结合。而LangChain本身就封装了许多相关的内容,在其官方文档-SQL能力中,也有非常好的示例。而其实现原理主要是通过LLM将自然语言转换为SQL语句,然后再通过LLM获取执行的操作,最终生成一个答案和结论。应用......
  • 2-工作流程_基本概念
    2.工作流程&基本概念动作命令文件位置文件状态新建文件工作目录未被追踪推送至暂存区git add暂存区暂存提交版本git commit本地仓库未被修改修改文件工作目录未被追踪工作区:就是你在电脑里能看到的目录暂存区:.git/index文件中,暂存区有时......
  • 详解Python 中可视化数据分析工作流程
    本文分享自华为云社区《Python可视化数据分析从数据获取到洞见发现的全面指南》,作者:柠檬味拥抱。在数据科学和分析的领域中,可视化是一种强大的工具,能够帮助我们理解数据、发现模式,并得出洞见。Python提供了丰富的库和工具,使得可视化数据分析工作流程变得高效而灵活。本文将介绍......