01
背景
云成本系统化管理
公有云作为基础架构部核心资源之一,其成本占比逐年上升,企业对于公有云成本实施精细化管理的需求越来越高。相较于私有化部署主要关注服务器、网设、带宽等资源的成本管理方式,使用公有云服务面临多厂家、多产品、多折扣、多套餐、多优惠方案、多账单格式等多个维度的问题,从部门、业务、项目、资源类别等不同维度实现成本可视化的难度指数级增大。
简单列举当前阶段多云成本管理存在的问题:
管理和监控难度大:各云厂商都有自己的管理控制台和账单系统,需要分别管理和监控每个云厂商的账单。这种情况下,难以全面了解各云服务的费用详情,更无法做到以天为单位的成本监控,容易造成一定程度的资源浪费。
账单维度不统一:各云厂商账单维度不统一,各产品计费方式不统一,无法进行统一的账单管理,增加了管理和监控的复杂性。
成本分摊问题:账单成本无法拆分到具体的业务、项目,业务对成本的感知有滞后性,无法进行有效的成本管理。
**计费的复杂性:**不同的云厂商可能提供不同的优惠政策,如专项代金券补贴在明细账单中往往不能精准抵扣到对应实例,需要进行复杂的费用比较和分析。
**缺乏综合视图:**缺乏一个综合的视图来整合和比较不同云厂商的成本数据。
从审计和合规的角度来看,通过对云服务费用的审计和监控,可以发现潜在的费用异常、资源浪费等情况,及时采取措施加以应对,从而减少潜在风险。同时我司对于费用记录、报表和数据的合规性要求较高,通过成本管理系统,可以提供符合合规性要求的报表和数据,方便审计和检查。
综上,将各公有云账单以统一规范纳入系统化管理,是全面实现基础资源成本可视化管理的必经之路。
资源成本中心概述
公有云账单管理标准化的工作,在本次实践中我们依托资源成本中心的能力来实现。资源成本中心是公司基础架构部核心资源成本管理的统一入口,经过前期积累,资源成本中心已经覆盖带宽类、资产类、短信类等多种资源类型。
图 1. 资源成本中心系统架构
同时,资源成本中心可提供从计费日志接入到账单核对支付的全流程支持,实现高效、准确、合规、自动化的对账及付款流程闭环:
系统计费:根据预设计费类型、计费方式、单价以及计费值等信息,系统自动完成资源费用核算。
对账数据匹配:系统自动匹配供应商提供的对账数据,通过算法和规则校对账单计费值、金额等信息,提高了对账的准确性和时效性。
自动化差异处理:根据预设差异规则,系统支持自动监测和处理差异,提供差异判定结果,减少人工处理的错误和时间成本。
付款闭环:通过与OA系统对接,支持一键提交付款操作,自动化生成付款说明,简化了付款流程,降低了人工处理的工作量。
财务报表:成本中心实现了自动化生成财务报表的功能,如根据系统计费自动生成月度计提表;支付表、对账重算差异表;结合计提、对账及付款数据出具余额表。代替财务手工处理Excel表格,提升了财务管理的效率。
运营分析:系统根据实时计费信息,提供成本预测,为成本运营分析和决策提供数据支撑。
图 2. 资源成本中心自动化对账及付款闭环流程
02
解决方案
为解决上述提到的公有云成本管理问题,我们依托资源成本中心既有能力底座,建立了多云电子账单系统。
搭建多云电子账单系统
多云电子账单系统可支持多云计费数据以统一的标准接入系统,结合良好的账单兼容能力,实现不同云厂商费用的集中监控,对内提供统一视图及费用明细,便于云资源成本分析;对外提供标准流程进行账单对账,便于企业资金管理。
图 3. 多云电子账单业务流程
图 4. 多云电子账单系统架构
建立云账单接入标准
在充分分析各云厂商账单格式并综合业务、财务等部门建议的基础上,我们制定了统一化账单API接入标准,各家云厂商需要按照统一的数据结构提供账单明细,达到系统化对账要求,降低人工审核难度。
通用性数据结构
为解决各家云账单结构、产品层级、产品命名,计费模型存在较大差异的问题,我们抽象总结出计费类型、计费方式、资源用量/容量、单位、计费公式、单价等字段,制定了统一的API接入规范。账单数据结构如下:
字段
类型
是否必填
说明
instanceId
string
是
资源唯一性ID编号
model
string
是
型号:
如:c5.4xlarge 16 32768
型号 CPU核数 内存(MB)
billMethod
string
是
计费方式单位(自定义)
例:包年/包月/按需
billType
integer
是
1、预付费
2、后付费
orderType
string
是
订单类型(自定义)
例:预付费转后付费/后付费转预付费/升级/变配/续费/退款/新购
unit
string
是
使用量单位(自定义)
currency
string
是
币种:
1、人民币。
2、美元
region
string
是
区域/中文
price
string
是
单价
priceUnit
string
是
单价单位(自定义)例:xx元/月
discount
integer
是
折扣
示例:80,即0.8折
foldUP
integer
否
折上折
示例:80,即0.8折
resourceTypeDesc
string
是
资源产品名称,云产品自定义详细名称
serviceTypeDesc
string
是
服务类型名称,分类层级高于resourceTypeDesc
billTypeDesc
string
是
计费项名称,云产品计费项自定义详细名称
configurationChange
json
是
配置变更:
如升配或降配
日期格式:2020-06-28 00:00:00
{
startTime:”变更开始时间”,
endTime:”变更结束时间”,
configurationBefore:”变更前型号配置”,
configurationAfter:”变更后型号配置”,
}
billChange
json
是
计费变更:
如:按需计费调整为包周期计费
日期格式:2020-06-28 00:00:00
{
startTime:”变更开始时间”,
endTime:”变更结束时间”,
billBefore:”变更前型号配置”,
billAfter:”变更后型号配置”,
}
usage
integer
是
资源使用量(带宽、存储等),使用量大小单位使用unitStr
duration
integer
是
使用时长(单位使用timeUnit)
timeUnit
string
是
时间粒度:1、秒
2、分钟
3、小时
4、天
5、月
6、年
size
integer
否
磁盘/EIP带宽(单位使用unit)
unsubscribe
json
是
退订:
日期格式:2020-06-28 00:00:00
{
orderTime:”退订时间”,
refundAmount:”退款金额”,
}
renew
json
是
续费:
日期格式:2020-06-28 00:00:00
{
orderTime:”下单时间”,
renewPrice:”续费金额”,
renewModel:”续费型号”,
modelBefore:”原型号”
}
cycle
integer
否
产品周期(包年、包月)
realCost
string
是
资源真实费用,不包含代金券及其他特殊抵扣
discountCost
string
是
优惠金额 = realCost * 折扣
vouchersCost
string
否
代金券金额
specialCost
string
否
特殊抵扣金额
cost
string
是
抵扣后真实结算金额
formula
string
是
计费公式:
如磁盘:
300【GB】 * 0.0018【单价】 * 0.25【折扣】 * 1【折上折】 * 13.6456小时
如实例:
4141【单价】 / 30天 * 0.25【折扣】 * 1天
startTime
string
是
资源计费开始日期
日期格式:2020-06-28 00:00:00
endTime
string
是
资源计费结束日期
日期格式:2020-06-28 00:00:00
projectId
string
否
爱奇艺资源tag
tagInfos
json
是
爱奇艺资源tag组
accountName
string
是
登录账号名称
date
string
是
日期(天维度)
格式:2020-06-28
month
string
是
账期
financialUnit
string
是
财务单元
orderNumber
string
是
订单号/账单号
instanceName
string
是
实例昵称
discountName
string
否
优惠名称
config
string
是
实例配置
表 1. 云厂商账单数据要求
天维度账单T+1投递
各云厂商提供天维度资源成本明细(包括资源计费方式以及配置变更、退款、续费等多类型说明),并支持按天抓取,加总得出月度成本账单:
月度账单(实例) = 当月每天资源成本(求和)
由于公有云服务有一定比例以按需计费的方式提供,T+1天维度账单可以更及时地了解资源的使用情况和费用分配情况,以便及时优化资源配置、调整业务需求等。
实付金额计算公式
在多云环境下,不同的云厂商可能有不同的计费策略和计费模式,计费公式的具体计算规则也有所不同。为了更好地了解和控制云服务的成本,我们要求各家云厂商在账单API中添加实付金额的计费公式。
要求厂商提供计费公式的原因:
提升透明度:增加云账单的透明度,使用户更容易理解云服务的费用构成和计费规则。同时可以确定哪些因素会对费用产生影响,并在必要时采取适当的措施来优化资源的使用,以实现更好的成本效益。
便于对比多云计费模型:不同云厂商的计费模型可能存在差异,包括计费单位、计费周期、使用量阶梯等等。通过在账单中添加计费公式,用户可以更容易地比较不同云厂商之间的价格,并选择最符合其需求和预算的云服务。
辅助账单差异处理:云账单中可能存在费用争议,用户可以根据计费公式检查账单中的费用计算是否准确,计费公式可以为解决差异问题提供依据。
计费公式需要细致、完整展示出实付金额的计算过程,通常根据不同计费项、计费单位、计费规格,计算对应的使用量,乘以相应单价得到资源费用后,再计算优惠后实付金额。以某家云为例:
如按需非线性定价,则实付金额=【使用量】/【单位转换】*【单价】-【优惠金额】-【抹零金额】-【代金券金额】
如包月线性定价,则实付金额=【周期数】/【周期转换】*【规格】*【单价】-【优惠金额】-【代金券金额】
计算公式可以清晰展示实付金额的计算过程,便于验证实付金额计算的准确性,并满足财务及审计要求。
推动各家云完成定制接口研发
标准制定完成后,接下来就是推动各云厂商配合标准API接入。为满足资源成本中心的标准接口需求,各家云需要调动研发资源,完成定制接口的研发以及后期维护,也是耗时最长的环节。在各云厂商陆续接入的过程中,我们也在不断完善标准的定制,使其具备更好的通用性和易用性,降低合作伙伴接入难度,加强账单数据格式统一,满足对账及成本分析需求。
将账单成本拆分至项目、业务线及基础服务
完整且统一的计费账单数据是进行成本分析的基础,但要实现成本以部门、业务、项目等不同维度的成本拆分,还需通过资源标签来实现。目前接入爱奇艺资源成本中心的各云厂商,均已支持资源绑定Tag,Tag在账单中同步体现,资源成本中心的成本分析功能最终实现不同维度的账单成本拆分。
制定绑定标签规范
在便于成本分摊统计同时,为避免暴露业务用量风险,我们规范了各基础服务资源标签的绑定规则,资源标签统一使用爱奇艺项目ID作为标识以及成本拆分依据。
标签由一个键值对(Key:Value)组成,包含标签键、标签值:
标签键统一使用“projectid”;
标签值为资源使用方的爱奇艺云项目ID,根据项目ID可关联业务线。
同时账单API要求各家云提供标签键为projectid的资源标签字段,便于根据项目ID进行账单拆分。建立良好的标签规范和管理机制,可以确保标签的准确性和一致性,提高成本拆分的效率和准确性。
推动各基础服务完成标签的准确绑定
主要合作云厂商均可通过控制台、API或自动化工具实现为资源创建并绑定标签。
根据不同的资源申请方式完成资源标签的绑定:通过资源服务平台下单的资源,资源申请时已记录申请方爱奇艺项目ID,可通过对接云厂商API实现自动打标,并通过定时检测任务检验标签准确性;通过厂商平台直接下单的,可通过定时检测任务筛查未打标签资源进行补打,或通过控制台绑定标签。
以云服务器为例的打标过程:
图 5. 云服务器资源标签绑定过程
标签作用于成本管理的实践
标签绑定的过程,也是帮助业务梳理在用资源、处理异常计费的过程。在集中打标签的过程中,出现过部分资源无法成功绑定标签,最终调查结果竟是异常的服务器一直在按需计费,发现后及时将异常的资源删除处理;也出现过部分磁盘无法成功绑定标签,结果发现这些磁盘一直未挂载云服务器,但仍在计费等情况。
通过分析标签数据,可以对不同资源的成本进行多维度的拆分和聚合,以此获得项目、业务线的成本分摊数据,将云成本按照标签进行分摊对账。在完成全部资源标签绑定后,云厂商的线下账单也随之根据业务线标签调整了汇总维度。
03
标准化成果
===
有了资源成本中心私有云线上对账付款流程闭环、成本运营平台上线的基础,在公有云API统一化接入以及成本拆分完成后,公有云账单线上对账付款及实时成本分析水到渠成。
图 6. 资源成本中心多云API接入
云账单线上对账付款闭环
目前主要的合作云厂商账单均已通过API接入,实现公有云成本流程化管理,对账付款闭环。
一键提交对账单:云厂商账单通过API接入,资源成本中心系统支持定时自动汇聚月账单,云厂商对账负责人仅需登录合作伙伴管理平台,选择账期,一键提交对账。
灵活的系统化调账:支持根据产品、计费项维度手工调账以及自定义调账,可灵活处理未在账单中体现的减免。
系统化对账:资源根据项目ID关联业务线,展示业务线维度账单,对账工单支持多线并行审批,由不同负责人审批各自负责的业务或产品,非当前审批人负责的产品数据不可见。
**一键提交付款:**资源成本中心系统已对接OA,公有云对账单支持一键提交付款申请,自动生成付款说明,减少人为干预,提升了付款效率。
图 7. 公有云线上对账付款流程
云成本分摊数据共享
公有云项目维度成本拆分上线后,我们支持了成本大盘的投递,相关管理人员可以更有针对性地评估每个项目的成本,为成本优化提供决策支撑。
混合云实时成本分析平台搭建
资源成本类型此前已涵盖自采服务器、服务器租赁等成本,加上公有云成本,混合云成本已全部涵盖。
图 8. 混合云统一汇总维度
私有云、公有云使用统一的成本归属维度,通过统一视图,完成同维度下资源成本走势、占比分析。
私有云:建立基础服务与业务线关联关系
公有云:电子账单规范标签管理,可关联业务线
得益于账单API,云成本查询的时间粒度和频次可缩小至每天,相较于月账单可更加及时的了解云成本走势以及成本明细;成本类型支持官网价,折后金额,调账后应付金额(支持对账单调账自动同步),可通过不同角度观测成本走势。
图 9. 混合云成本查询粒度
支持将公有云、混合云成本分摊到各项目、业务线以及基础服务,便于从不同维度直观了解基础资源成本。
图 10. 混合云成本可视化示意图
04
规划与展望
规划
当前,混合云成本洞察平台初建完成并已投入使用,未来我们将在此基础上进一步迭代成本预估、成本优化、成本运营模块,包括但不限于:
成本预估:支持公有云成本预估,以及多云成本对比;
预算管理:支持预算管理&消费预警,业务可统一录入或修改预算,支持成本额度分配、预算告警,提供消费和预算的实时对比功能、异常消费追踪功能;
成本责任制:将云成本及时同步给业务成本负责人,强化成本责任制,为云成本优化决策提供数据支撑。同时反映成本优化效果、预算执行情况等指标;
日维度对账:支持日维度自动化对账,及时发现异常消费;
成本优化建议:支持系统产出优化建议,包括云产品计费方式最优建议、商务折扣竞争力、精细化成本运营分析(资源投入和业务收益的roi分析)等,提供资源优化建议状态追踪,实现高资源利用率、高资源稳定性和高效成本控制。
AIGC****生成报表:支持自定义成本分析报表。
展望
从爱奇艺公有云对账标准化的实践中,我们看到了账单服务标准化的优势:
建立行业标准可以提高公有云资源管理的效率。通过建立统一的账单和成本管理标准,可以简化资源管理、使用和结算流程,减少人力和时间成本。便于用户获取更全面、准确的数据和报告,进行资源分析和决策。
促进云厂商之间的合作与共享,打破各个厂商之间的信息孤岛,让不同的云服务能够更好地互联互通,可以为用户提供更加透明和可预期的服务,增加用户对云服务的信任,进一步推动云计算的广泛应用。
通过云服务的标准化,使得不同厂商的云服务在功能、性能和接口方面更加统一,从而提高用户体验。
近年来,公有云已成为支撑数字经济的重要基础设施。然而,由于各云厂商的产品和服务存在差异,缺乏统一的账单标准,越来越多选择混合云架构的企业都面临和爱奇艺一样的难题。因此,我们呼吁云厂商从客户企业需求出发,共同制定相关行业标准,推动云计算产业进一步健康发展。