什么是 FinOps?来源、定义和时机
来源
在云计算背景下,通过自助 (Self-service)、可扩展和按需供给 (On-demand) 的云服务,软件交付速度和技术创新得到大幅提高。
工程师无需再经过传统的财务或采购审批流程,只需点击按钮或一行代码就可以产生一笔公司开销,这导致以往的成本模式已经渐渐不适用。这是一个固定支出到可变支出的巨大转变。以前 3~5 年周期性采购设备的日子已然发生变化,因为云计算的世界里,是以每个小时为单位、几美分的架构可购买小单位的资源。
数据中心的传统流程:
- 设备的成本通常是预先支付、批次购买的的;
- 设备通常超规格,预留闲置资源以应对突发性业务增长;
- 除非资源不足,否则一般不会尝试去压缩某服务使用的资源到合理范围;
- 因为预算是限制在计划内,减少资源使用不会减少成本、而部分资源闲置也不会增加成本;
- 按月或按季度报告并审查成本,不频繁是因为数据中心的日常成本变化较少;
而在云环境下:
- 无需预先购买设备,因为云厂商支持动态资源配给;
- 资源按最小金额单独收费(因此记账变得繁杂);
- 在业务繁忙期消耗资源、业务低谷期移除资源,可变的消费模型降低运维成本,但同时带来棘手的成本预测难题;
- 服务占用超过需求资源量,成本增加;反之,减少服务配给的资源,成本会降低;
- 需更高频率的报告和审查,否则容易导致超出预期的账单费用;
云上支出渐渐成为公司预算的重要组成部分,影响着公司的盈利和亏损。但很多公司往往会低估云支出的金额,预测的数值通常需要向上修正。同时云的运营模式仍然是不成熟的,公司应该像对待开发业务一样,对云的财务运营模式给予同样的重视。
当公司专注于速度和创新时,云计算支出随之飙升。相反,当公司削减开支、减缓创新时,竞争力又会下降。这种矛盾催生了 FinOps。
定义
FinOps 是云计算市场急速增长背景下,由于按需申请的云资源的内部环境,而自然演变出的一种解决方案。
和 DevOps 一样,FinOps 带来了一套全新的流程和文化,它将多团队聚集在一起,将跨职能协作和敏捷性置于首位。通过对基础架构支出进行数据驱动型的管理,提升云的单位经济性、最终提升公司在云环境下的盈利能力。
好的 FinOps 实践有几个重要的组成部分:
实时报告
在适当领域提供支出的可视化,完善费用展示和费用分摊。好比现实生活中开车时候随时可查看当前速度以便动态调整油门,FinOps 报告要保证可访问性和及时性:
- 提供及时的、组织内一致的云成本数据;
- 可视化;
- 趋势和差异分析;
- 快速的成本优化反馈闭环;
- 内部团队成本效能看板推动成本优化最佳实践;
团队协作
不再将重点放在支出审批,而是建立责任问责制度。
- 跨团队协作:技术、业务、财务以全新的合作方式,集中式决策,组织内传递成本意识文化;
- 人人有责:在预算范围内,独立的功能和产品团队有权决定各自云资源用量,而尽量不被或少被干涉;
即时流程
云计算的可变成本模型应被视作机遇,而非风险,要建立:
- 根据实际情况,对云资源用量进行持续调整;
- 即时预测、规划并购买云资源;
- 费率和折扣优化:如承诺用量等;
时机
应该从何时开始使用 FinOps?通常情况下:
- 云成本管理开始脱离正轨,支出达到临界值,此时公司将停止云增长和需求。这是启动 FinOps 常见的时机,但这并非理想时机,会导致公司业务受到拖累;
- 循序渐进实施 FinOps 流程,FinOps 实践随规模提升,最终形成组织内文化转变,公司越早投入 FinOps,越早可实现云成本管理;
“单位经济”是 FinOps 最重要的概念之一,它将云支出和业务指标(总收入、客户订单等)做计算,得到云资源的投入产出比。例如“服务某客户需要消耗 x 美元,同时带来 y 美元收入”,FinOps 可以在一定程度上帮助公司判断 x 和 y是否合理,进而有意识的在成本、速度之间做出更明智的决策。