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