心动网络算法平台的Serverless探索之路
业务背景介绍
心动网络是全球游戏开发和发行商,运营38款游戏,拥有5000万月活跃用户。旗下TapTap社区和应用商店坚持“零分成”模式,商业化主要依赖广告。核心业务场景包括搜广推模型实时更新、模型训练/记录平台、内容NLP分析、实时报表及定时任务、预估服务等。
Serverless探索之路
业务场景分析
TapTap后台基建升级面临云主机ECS、容器服务K8S和Serverless应用引擎SAE的选择。核心关注点包括开发维护效率、低成本人力资源投入、服务稳定性和性能,以及Go语言支持。
Why Serverless?
对比ECS和K8S,Serverless可快速交付业务、简化维护、降低人力和资源投入,更适合事件驱动和微服务应用。
Serverless落地形态
- 函数计算FC:适合事件驱动架构,用于搜索、内容通知、报表等模块。
- Serverless应用引擎SAE:适合微服务长时间在线运行,用于模型预估服务。
低成本内部FC服务
通过OSS、Kafka、定时触发器等方式实现低成本内部服务,如模型实验管理平台、资源消费统计、内容NLP处理等。
基于SAE的中台微服务化改造
整合搜索/广告/推荐特征开发、模型预估、数据回传能力,通过Dubbo-Go框架实现低成本微服务改造,提升70%开发运维效率。
价值收益
- 开发运维效率提升:Git CICD自动化部署,简单运维,省心省力。
- 弹性伸缩:精准秒级弹性,提升资源利用率达60%。
- 业务不停机发布:分钟级上线,基于K8s Service多语言服务注册发现。
- Go语言微服务支持:轻松搞定应用开发、部署、管理全流程。
落地实践举例
通过K8s Service Name做服务间调用,Go语言低成本微服务化,实现随时随地想发就发。
对SAE的诉求
- Go语言微服务的支持:期望平台提供微服务治理、简便开发调试能力及应用级监控。
- 垂直弹缩能力:期望基于负载的实例级别垂直弹性升降配能力。
- Trace:期望丰富DubboGo在SAE上的全链路追踪最佳实践。
对Serverless的看法
- 效率提升:简化运维复杂度,降低人力投入,提升开发效率。
- 上云效果:5人维护TAPTAP搜广推业务,若自建大数据平台人力投入将远超当前。
- 未来趋势:Serverless是云计算发展趋势,让开发专注业务,让用云更简单。
未来畅想
心动网络将继续推广Serverless技术,简化运维,提升效率,并探索更多应用场景。