重度上云如何省钱?迪士尼集团FinOps实战经验大公开

迪士尼财务部门每个月都会制作这一张云端预算执行追踪总表(此为示意图非真实数据),汇整了全集团各事业部门云端费用执行情况,提供给高层每月检视之用。(图片来源/迪士尼集团)

迪士尼集团是全球最大的娱乐媒体集团,也是高度云端化的企业。早在十年前就积极展开数位转型,发展各种数位应用和产品,全集团一年相关软体支出超过11亿美元(约台币330亿元)。随著数位服务和产品占比越高,暴涨的云端费用,成了迪士尼营运团队近2年来越来越头痛的挑战。

光是2017年推出的影音串流服务Disney+,统计到2022年底,在AWS上的资料量超过20PB,开了上百个AWS帐号,使用超过50项云端服务,来支援超过1.6亿订户的影音串流所需。迪士尼开发者生产力团队所打造的云端容器部署平台,光在2017到2020年间,就为了串流平台部署了超过7百只AP。2020年底时,每个月部署次数近2万次,平均一天6百多次,天天要启动4万个ECS容器服务任务。

不只影音串流服务上云,迪士尼集团旗下还包括了全球各地的主题乐园和酒店、生产相关周边商品和活动的体验与消费品事业,提供影视内容的媒体和娱乐发行部门,像是ESPN运动频道、abc电视台、国家地理频道、漫威电影工作室、迪士尼动画工作室、游戏等。各事业部门也大力倚重云端。而且不只用一朵云,例如迪士尼就和微软签了5年合约,要用Azure来创作和派送各种多媒体和影音内容。

除了事业群,迪士尼集团旗下设有不同企业部门来支援不同事业群的营运,例如云端数据转型工程团队,就是负责支援各事业群顺利取得和运用各种云端资源和工具,从签约、付费到优化对外提供的服务,也会与不同事业群各部门的工程师跨部门合作。

迪士尼集团云端数据转型工程团队资深产品工程师Alee Whitman,日前就分享了过去一年,迪士尼推动FinOps的经验。

FinOps(Cloud Financial Operations的简称)是这几年兴起的云端费用管理优化新浪潮,随著上云企业越来越多,用量越来越大,国外甚至有企业一年上云费用高达10亿美元之多,如何节省上云开销成了云端维运的新显学。

Alee Whitman原本是AWS旗下打造云端维运费用仪表板CUDOS的团队成员之一,一年前进入了Disney集团担任FinOps工程师。

Alee指出,想要知道能不能省钱,第一步要掌握数据,「数据就是力量,但也往往代表了复杂度。」

迪士尼是一家跨云组织,云端费用和各种使用行为资讯,分散在不同的公云平台上。

迪士尼云端帐务资料处理流程

迪士尼有一套云端帐务资料的处理流程,在收集阶段,包括两类资料搜集流程,第一类是外部云端费用和使用数据,会将不同云端供应商上不同帐单帐户的费用资料,以及产生这些费用背后的使用纪录,集中到物件储存资料库中。

第二类资料则是内部资料,将迪士尼集团内部大量与上云帐务有关的资讯整合。内部资料还可再细分为两个子类,第一子类是云端帐户经理需要的资料,包括了内部云端资源的调度纪录、相关治理资讯、管理纪录、各种云端相关的分类定义等。Alee强调,这一类资料需要进行迪士尼化(Disney-ified)。

「所谓的迪士尼化,是将这些云端供应商的费用和使用数据,转换成迪士尼的费用和使用数据,让数据具有迪士尼特质,但不对数据进行任何修改。」她解释。

以娱乐事业团队来举例,得让这个团队可以看到他们自己完整、详细的云端供应商的费用和使用数据,让团队成员按照自己的业务需求,重新划分和组合这些资料,这就是将资料迪士尼化,让自己的团队重新定义资料,Alee和云端数据转型工程团队也会和业务团队成员一起进行这个重新定义的过程。

第二种内部资料子类,则是用于迪士尼产品定价或帐务计算时用的数据。这一类数据需要即时提供给其他系统,而且会因为定价策略或分帐规则的改变,需要事后调整分类或帐务认列方式,重新产生新的帐单报表。这一类资料则会写入到物件资料库中方便再利用。

将云端帐务相关的外部与内部资料集中后,接著会进行正规化转换,迪士尼会将这些云端帐务资料,按照资料品质分为三级,搜集整合后的原始资料属于铜级资料,这包括了历史资料的纪录。第二集则是银级资料,这些是在数据层级进行筛选处理后的干净资料,甚至需要补强(例如修正错误或补齐资讯)的资料。最后一级金级资料,这些是依据业务目的或需求重新汇整或分类后的资料,具有更明确的业务价值或意义的资料。将不同来源和类型的云端相关费用资料集中和分级处理之后,就可以建立一个统整的迪士尼云端资料来源。

「建立云端资料单一来源,才能实际了解真正的成本,也才能思考如何找出省钱节费的机会。」Alee表示。

经费节省的三种定义

Alee刚开始推动FinOps时发现,工程团队与财务部门,双方对于「节省」的理解有很大的不同,这也让他们重新思考这个词的定义。

Alee更进一步细分出三种「节省」概念,第一种是真的「省钱」,这是指实际支出和预算的差额,也就是手上预算没用完后,而剩下来的金额,如果没有预算,也无法省钱。

第二种是「减少开销」的节省。这是指因为采取了优化作为,可以降低费用或降低运转率(run rate)。不是所有的开销减少都能省钱,工程团队口中的「节省」,多半就是指这种采取了种种改善、优化作为之后,让费用比原本更低的情况。可是,对财务团队来说,这个开销减少后的费用,可能跟预算相当,而没有真正省到钱。

第三种则是成本避免(Cost Avoidance),这是指因为采取行动而避免了产生这些成本,如果不行动就需要负担。这是一种未来式的成本。「如果一开始就做对了,就不需要负担这一类可避免的成本。」Alee解释。

举例来说,有团队在部署时,配置了过多的云端资源,很快就发现且修正了配置,可能只增加了几天费用,但是不是一个月或1年的费用,不会看到成本的降低,但的确避免了不必要的成本开销。

这是三种迪士尼实践FinOps时思考节省的思维,而迪士尼高层希望先聚焦在第一种的「省钱」,因此,先从云端预算的订定著手。

省钱效果来自预算的落差,预算浮报的省钱,不是真的节省,迪士尼编列云端预算时,会深入分析过往的使用趋势,从计费数据中了解每一个云端帐户实际情况,也要掌握这些数据所代表的营运意义。

掌握过往趋势后,Alee指出,确定业务优先目标是预算编列的关键,还得确定工程团队知道这些优先目标,也清楚这些目标在业务面实际的意义。

订定预算还得找来正确的人员,例如除了工程团队主管,还得找来SRE主管,了解一项新服务的实际成本,尤其大规模部署后的成本。

迪士尼会从四个角度来思考云端预算的编列,包括了增加必要性、减少必要性、季节性影响、运转率(run rate)。

增加必要性例如新建置的成本,执行的成本,业务目标变动后带来的预算追加需求,用户规模成长的影响等。而减少必要性则像是,AP淘汰、云端帐户关闭、计划精简等。另外,季节性因素也会大大影响迪士尼的业务,不能忽略每个时期各种节庆活动的影响,尤其要观察是否出现新的季节性因素。

最后一项,Alee指出,迪士尼最重要的预算编列考量面向是运转率的思考。运转率是一种财务管理术语,是指用一年尺度来计算费用的作法。若一个月平均用量10万元,一年运转率就是120万元,若平均用量20万元,一年运转率就提高到240万元,以此类推。迪士尼会每个月检视当前花费,所代表的整年度运转率的变化。

高层每月检视省钱追踪总表

在迪士尼,由各事业单位先编列出各自未来一年的云端预算之后,汇整到财务部门,再由高层统一订出省钱目标(不是先订省钱目标再编预算),统一订出要「减少多少百分比花费」作为年度省钱目标,将各部门预算按这个比例来计算该部门得想办法达成的减少额度,例如不分部门今年要节省5%预算,相当于百万元预算就要减少5万元开销。

为了确保营运过程可以落实这些节省,迪士尼财务部门会制作一张云端预算执行追踪总表,汇整了全集团各事业部门的云端费用执行情况,提供给高层每月检视之用。

这张表主要提供四类数据,一开始的年度云端预算,表定省钱额度(今年目标要减少多少开销),目前执行状态(预估可节省的金额),和最终实际节省的金额。

其中目前执行状态会提供两个数据,一个是目前运转率(以当前平均花费来预测的整年支出金额),另一个是这个运转率与预算的落差,也就是按照目前运转率最后能节省的预估金额(没有到年底,不「节省金额」,而是用「预估节省金额」来衡量)。

这张总表会按照每一个部门,都列出这四类数据,迪士尼高层每个月都会认真检视和检讨,每一个部门当前云端预算的执行情况。

除了第一类的「省钱」,迪士尼也很重视第二类因为优化而「减少开销」的成果,另外还有一张追踪优化专案的成效表,来掌握每项优化专案带来对运转率的影响,了解每个团队的优化进展,目前在迪士尼有高达数百项优化专案正在进行。更关键的是,这些优化成效的纪录,是由负责优化专案的每一个工程团队负责记录,最后再从优化专案列表中,找出战略性专案的运转率数据,提供给高层,而不是将所有数据都列出。

从过去一年FinOps经验中,Alee认为,省钱不需要做到每一件事,而要聚焦。更要找出企业自己对「省钱」的定义和期望,最后是保持开放态度,正面看待犯错的可能性。