资源成本降低 70%!华为 MetaERP 资产核算的 Serverless 架构实践
华为 MetaERP 资产核算系统使用华为云函数工作流 FunctionGraph(基于元戎内核)微服务 serverless 化解决方案,实现了复杂企业应用 MetaSaaS Serverless 化,成本节约 70%。
资产核算是指在一定的财务周期,对企业拥有的房屋建筑物、机器设备、商标权和专利权等资产的取得、折旧和处置的会计核算,反映企业固定资产、无形资产的增减变动和价值分摊活动。华为资产核算产品,支撑企业资产从获取到处置全生命周期的管理和交易核算,在资产使用寿命内遵循会计准则和税法折旧的要求系统地计提资产折旧费用。
华为集团资产核算场景非常复杂,具备以下四大特点:数据海量
管理的固定资产和无形资产的数量多达 200 多万项;涉及国家多
覆盖国际会计准则和全球 170 多个国家的会计准则和税法政策要求;业务流量不均衡
平时业务流量少,月末结账场景流量巨大,特别是在季结、年结时,1~2 小时内需完成 200 多万笔资产折旧、300 多万的分录生成;
原先业务是基于关系型数据库构建,这套架构能很好地解决数据一致性控制,但强依赖数据库性能,在业务数据流量不均衡的情况下,系统计算资源无法实现弹性伸缩。平日业务数据流量小时,系统资源大量闲置未得到有效利用,一旦遇到业务冲刺、月结等数据洪峰,系统资源又无法弹性扩容,导致业务数据积压,严重影响业务处理效率。
服务弹性慢,业务峰值处理性能不足:在月底、年底结账期,批量导入导出等任务集中生成,服务 CPU 资源利用率会瞬间突增至 50%到 100%不等。服务弹性能力较弱,启动时延超过了 1 分钟,一旦出现预留资源不足的情况,极易影响业务性能,导致无法在 1~2 小时内完成百万级资产核算业务的处理;
周期性集中处理型业务,预置资源利用率低:以批量上载、资源折旧两个业务为例,虽然平时很少使用,但为了保证服务随时可用,仍然需要保持最低配置在线,业务平均资源利用率不到 2%。随着资产核算业务的不断演进、微服务数量增加,资源成本问题被进一步放大;
业务上线周期长,运维压力大:业务开发人员不仅要关注业务逻辑,还要额外考虑高并发等极端场景的处理,开发工作量大,问题多。在业务上线前需提前采购、配置硬件资源,日常运行时,不同服务弹性策略不同,需投入大量精力进行资源类的运维工作。业务的版本上线时间达到月级,无法快速响应客户需求;
为了进一步优化资源成本、简化服务开发,实现应用的现代化的转型,MetaERP 资产核算业务决定采用华为云函数工作流 FunctionGraph 试点 Serverless 化服务改造:
1、全自动弹性,算力随叫随到,轻松应对流量波峰
资产核算业务相关服务采用 Java 开发,改造为函数后,面临冷启动的问题。通过创新的进程级快照加速方案,应用直接从初始化后的快照进行运行环境恢复,从而跳过复杂的框架启动、业务初始化阶段,助力资产核算业务冷启动时间缩短到 7 秒,相比之前一分钟的启动时延,性能提升 10 倍。同时,FunctionGraph 按请求并发量全自动弹性,无需再手动扩缩容,弹性速度实时匹配业务量,轻松应对流量波峰。
2、无请求时不需启动业务实例,资源成本降低 70%
函数实例随请求自动扩缩容,在没有请求时,实例会缩容到 0。基于此能力,针对批量上载、资源折旧类业务场景,减少了最小预置实例资源,资产核算业务 Serverless 化改造后常驻实例资源降低 75%,月均资源消耗降低 70%,收益显著。
3、存量业务无缝迁移,新业务开发运维效率提升 3 倍
资产核算存量业务基于 SpringBoot 等微服务框架开发,直接改造为原生函数方式工作量非常大。为此 FunctionGraph 提供了 Springboot 等框架兼容能力,服务只需集成统一 SDK,并进行少量配置文件修改,即可完成改造,实现微服务平滑 Serverless 化。同时,对比传统微服务框架,FunctionGraph 内置心跳检测、服务治理等能力,使能业务更聚焦。同时,新业务使用华为云函数工作流 FunctionGraph 开发,可拆解粒度更小、开发并行度更高。函数本身依赖后端数据库、消息队列等服务,需要集成多个 SDK 才能实现访问,开发复杂度高。对此 FunctionGraph 提供了统一对接后端链接能力(ServiceBridge),简化业务访问后端服务。ServiceBridge 也天然具备弹性能力,当访问量激增时自动进行扩容。基于原生函数开发模式,可实现天级业务上线、免资源运维,以资产核算为例,业务上线时间从 94 人天(传统的应用构建流程)降低至 30.5 人天,大大提升了开发和运维效率。首战告捷持续推进 MetaERP 应用现代化
华为云函数工作流 FunctionGraph 将持续打造通用 Serverless 技术竞争力,致力解决 Java 服务启动慢、弹性能力不足等问题,使能负载在硬件资源的“细粒度”复用,以提高资源的利用率。同时提供与“硬件无关”的编程抽象和系统服务,简化分布式应用的开发、部署和运维。
MetaERP 资产核算业务 Serverless 化后性能未劣化,常驻实例资源降低 75%,月均资源消耗降低 70%,成本优化收益明显。同时服务上线时间降至 30.5 人天,提升了开发运维效率。接下来,华为云函数工作流 FunctionGraph 将持续围绕“极简架构、极高质量、极低成本、极优体验”的目标,持续技术创新,助力 MetaERP Serverless 化,用技术力量提升企业服务质量、效率、体验。在 2023 年 7 月 25 日,由中国信息通信研究院(以下简称“中国信通院”)和中国通信标准化协会联合主办的 2023 可信云大会上,华为云函数工作流FunctionGraph凭借此最佳实践荣获“可信云 2022-2023 年度云原生-Serverless 技术最佳实践”。
评论