手机淘宝轻店业务 Serverless 研发模式升级实践

本文涉及的产品
函数计算FC,每月15万CU 3个月
Serverless 应用引擎免费试用套餐包,4320000 CU,有效期3个月
简介: 我们在探索Serverless一体化研发模式的最佳提效实践。
作者 | 淘系-知曼

image.png
随着 Serverless 在业界各云平台落地,阿里内部Serverless研发平台、各种研发模式也在业务中逐步落地,如火如荼。在此契机下,我们启动了轻店Serverless研发模式升级战役,基于集团底层设施建设 上层技术体系,解决在淘系轻店业务场景下碰到的系列问题,并借此推动现有前后端协作模式转变。

背景

轻店业务是淘系新型业务,目前处于探索试错阶段,如何能以较低人力成本配合业务快速试错,是我们当前需要考虑的问题。Serverless重要的特点之一“only focus your business”。因此,拥抱Serverless,轻店业务势在必行。本篇主要介绍,Serverless技术在轻店前端团队如何落地,以及如何推动轻店研发模式升级,提升研发效率。在此基础上也探索前端职能转变成为应用开发的可能性。

研发模式升级

本文首先调研集团内外Serverless现状,结合自身业务特点做技术选型;随后在轻店域内进行业务落地,在落地过程中逐步落实以下能力:以sidecar&bottle作为底层支撑,以一体化研发模式结合公共服务层、原子能力层、基础SDK来提升研发效率,最后通过轻店标准研发链路来保障业务稳定性;最终形成轻店FaaS体系,初步实现研发模式提效升级。

技术现状

image.png
集团各BU过去一年里在Serverless领域做了很多工作,主要集中在,基础建设,研发模式,逻辑编排,稳定性建设、以及将FaaS链路打通并落地到B侧和C侧业务场景,如下图所示。各业务依赖的Serverless平台集中在C平台/F平台(PS:阿里内部Serverless平台)。

技术选型

当前集团Serverless平台和midway-faas团队深度合作,定制了基于阿拉丁FaaS方案,依托袋鼠为业务网关,承载请求分发的职责,并且有容灾,兜底等通用能力。袋鼠以天马体系(PS:指以统一模块规范为基础的搭建体系)为基础底座,但是轻店业务底层依赖装修体系。因此,我们需要重新选型实现基于轻店场景的FaaS解决方案。除此之外,轻店业务核心依赖各种中台服务。这些中台服务大部分是以富客户端(PS:指集成了本地能力的二方包)形式提供,如何在nodeFaaS体系中使用富客户端,是我们技术方案需要考虑的重点。下面是C平台方案(PS:阿里内部的Serverless平台) 和 G平台方案(PS:阿里内部的Serverless平台)的链路对比图。
image.png
其中, G平台链路有bottle能力提供富客户端方案,整体系统链路层级少,性能更优,因此我们最终技术选型为G平台。作为业务方,和各平台一起推动&打通G平台方案在前端FaaS场景落地。

轻店 FaaS 体系

随着业务落地,能力沉淀,轻店FaaS逐成体系。

轻店FaaS(代号:玳瑁),有基础能力层,包含接口聚合,数据映射,函数兜底,灰度等。原子服务层,沉淀了轻店业务场景的各种中台能力封装,上层提供基础SDK,将各种能力直接给到业务使用。轻店FaaS在业务落地时,和前端模块组成轻店的商业SaaS能力,通过解决方案将商业能力组合,服务轻店各种业务场景。

SideCar & bottle

轻店业务核心依赖中台和中间件能力。因此,首先要解决的问题是,在nodeFaaS技术体系下如何调用富客户端和中间件能力。
轻店与G平台、midway FaaS团队一起推进基于G平台开发node FaaS能力。G serverless平台中,一个pod上面有两个容器,sidecar容器主要负责请求发现,分发,协议解析,提供各种服务能力(中间件,中台服务);function 容器运行node runtime 并且在上面跑业务faas代码。容器之间通过GRPC进行通信。最终,业务代码可以通过bottle-SDK调用富客户端/中间件能力。如图1所示。
image.png
基于上述方案,轻店FaaS实现了满足轻店业务场景的能力图谱。中间件层面主要集中在消息队列(metaQ),运维(switch, diamond),服务(HSF,mtop, http),缓存(tair, redis),数据库(云RDS),调度(schedulerx)等。中台能力集中在商品,商户,门店,券,标,店铺,UIC等。随着业务发展,在逐步丰富中。
image.png

玳瑁FaaS能力

玳瑁在运行态,以G平台和 node rutime 为底层平台,通过原子层能力实现业务FaaS函数,并在公共层统一提供数据聚合,兜底等能力。在研发态,基于统一研发平台和小程序端实现轻店一体化研发链路,包含统一构建发布流程,UI配置化映射,FaaS函数自动补全等。如下图所示。
image.png

公共层

api请求过来,首先经过公共层(代号:羚羊)。公共层主要实现了轻店域内的基础通用能力。比如,自定义投放能力,兜底能力,聚合能力,配置能力。其中,自定义投放能力是打通了阿X丁(PS:阿X丁指集团内部通用投放平台),业务可以自定义配置定投规则项,比如按商家,人群,区域,业务维度定投数据;兜底能力,针对需要保障高可用的C端接口,即使接口挂了也可以通过备份数据进行兜底,让消费者对服务异常无感知;聚合能力是将轻店页面装修数据 和模块内部数据统一下发,提高页面性能,防止页面抖动。并且基于统一下发服务的基础上,实现页面级别,接口级别的兜底,模块插件灰度能力。

原子能力层

原子能力层,是沉淀轻店业务场景的各种中台能力封装(门店模型,商品模型,券模型...)。基于这些原子能力,轻店FaaS统一收敛外部依赖,业务可以减少外部对接成本,实现业务功能,同时也为映射补全能力提供基础。

FaaS-SDK

为了提升效率,轻店抽象出FaaS-SDK,包含各平台适配,缓存能力,日志规范,锁能力,数据库封装,通用工具等等。其中,平台场景的适配包含集团内各severless平台,让开发者对平台无感知,只需要关注业务逻辑本身;轻店体系下提供多级缓存能力,对RT要求高的高可用场景,提供技术支撑;通用日志规范,对FaaS场景的INFO,ERROR日志进行格式规范,并封装成独立包供业务使用。

一体化研发模式

在公共层能力层,原子层能力,SDK ,以及sidecar & bottle的基础上,我们打通小程序模块和FaaS研发链路,实现轻店一体化研发模式。

一体化研发模式是指,基于端开发小程序模块,同时在同一个项目中实现FaaS能力。在前端代码中直接引用FaaS代码作为函数调用,无需通过请求调用;并且在整个研发链路中,实现两端同步创建&发布。在轻店场景下,这种研发模式节省了前后端沟通联调成本,大大提升研发效率。

稳定性

最后,为了保障业务的可靠性和稳定性,轻店定义了 轻店FaaS的标准研发链路。从研发生命周期(研发态,待上线,上线中,上线后)各个阶段配置不同的措施来保障业务稳定性。如下图所示。
image.png
至此,轻店FaaS体系已介绍完,以sidecar支撑底层能力,一体化研发模式结合公共服务层、原子能力层,基础SDK来提升研发效率,最后通过标准研发链路来保障稳定性。
通过轻店FaaS体系支撑轻店业务,前端从前到后cover完整业务,后端同学更聚焦在业务中台能力建设。前端职能逐步转变,从前端到全栈,从资源到业务合伙人。对整体业务而言,以更少的协同沟通成本,更少的联调成本,让团队整体效率提升。自此,轻店团队初步实现研发模式升级。

业务落地现状

当前我们轻店FaaS,在多个轻店域内业务落地。
image.png

未来

我们继续在轻店FaaS体系的基础上,探索一体化研发模式的最佳提效实践。


image.png

相关实践学习
【AI破次元壁合照】少年白马醉春风,函数计算一键部署AI绘画平台
本次实验基于阿里云函数计算产品能力开发AI绘画平台,可让您实现“破次元壁”与角色合照,为角色换背景效果,用AI绘图技术绘出属于自己的少年江湖。
从 0 入门函数计算
在函数计算的架构中,开发者只需要编写业务代码,并监控业务运行情况就可以了。这将开发者从繁重的运维工作中解放出来,将精力投入到更有意义的开发任务上。
相关文章
|
1月前
|
运维 监控 Cloud Native
【云故事探索】NO.17:国诚投顾的云原生 Serverless 实践
国诚投顾携手阿里云,依托Serverless架构实现技术全面升级,构建高弹性、智能化技术底座,提升业务稳定性与运行效率。通过云原生API网关、微服务治理与智能监控,实现流量精细化管理与系统可观测性增强,打造安全、敏捷的智能投顾平台,助力行业数字化变革。
【云故事探索】NO.17:国诚投顾的云原生 Serverless 实践
|
1月前
|
运维 监控 Cloud Native
【云故事探索】NO.17:国诚投顾的云原生 Serverless 实践
通过与阿里云深度合作,国诚投顾完成了从传统 ECS 架构向云原生 Serverless 架构的全面转型。新的技术架构不仅解决了原有系统在稳定性、弹性、运维效率等方面的痛点,还在成本控制、API 治理、可观测性、DevOps 自动化等方面实现了全方位升级。
|
5月前
|
数据采集 运维 Serverless
云函数采集架构:Serverless模式下的动态IP与冷启动优化
本文探讨了在Serverless架构中使用云函数进行网页数据采集的挑战与解决方案。针对动态IP、冷启动及目标网站反爬策略等问题,提出了动态代理IP、请求头优化、云函数预热及容错设计等方法。通过网易云音乐歌曲信息采集案例,展示了如何结合Python代码实现高效的数据抓取,包括搜索、歌词与评论的获取。此方案不仅解决了传统采集方式在Serverless环境下的局限,还提升了系统的稳定性和性能。
158 0
|
5月前
|
存储 运维 Serverless
千万级数据秒级响应!碧桂园基于 EMR Serverless StarRocks 升级存算分离架构实践
碧桂园服务通过引入 EMR Serverless StarRocks 存算分离架构,解决了海量数据处理中的资源利用率低、并发能力不足等问题,显著降低了硬件和运维成本。实时查询性能提升8倍,查询出错率减少30倍,集群数据 SLA 达99.99%。此次技术升级不仅优化了用户体验,还结合AI打造了“一看”和“—问”智能场景助力精准决策与风险预测。
510 69
|
5月前
|
Cloud Native Serverless 流计算
云原生时代的应用架构演进:从微服务到 Serverless 的阿里云实践
云原生技术正重塑企业数字化转型路径。阿里云作为亚太领先云服务商,提供完整云原生产品矩阵:容器服务ACK优化启动速度与镜像分发效率;MSE微服务引擎保障高可用性;ASM服务网格降低资源消耗;函数计算FC突破冷启动瓶颈;SAE重新定义PaaS边界;PolarDB数据库实现存储计算分离;DataWorks简化数据湖构建;Flink实时计算助力风控系统。这些技术已在多行业落地,推动效率提升与商业模式创新,助力企业在数字化浪潮中占据先机。
339 12
|
5天前
|
存储 人工智能 Serverless
函数计算进化之路:AI 应用运行时的状态剖析
AI应用正从“请求-响应”迈向“对话式智能体”,推动Serverless架构向“会话原生”演进。阿里云函数计算引领云上 AI 应用 Serverless 运行时技术创新,实现性能、隔离与成本平衡,开启Serverless AI新范式。
132 12
|
5月前
|
SQL 分布式计算 Serverless
鹰角网络:EMR Serverless Spark 在《明日方舟》游戏业务的应用
鹰角网络为应对游戏业务高频活动带来的数据潮汐、资源弹性及稳定性需求,采用阿里云 EMR Serverless Spark 替代原有架构。迁移后实现研发效率提升,支持业务快速发展、计算效率提升,增强SLA保障,稳定性提升,降低运维成本,并支撑全球化数据架构部署。
527 56
鹰角网络:EMR Serverless Spark 在《明日方舟》游戏业务的应用
|
3月前
|
存储 编解码 Serverless
Serverless架构下的OSS应用:函数计算FC自动处理图片/视频转码(演示水印添加+缩略图生成流水线)
本文介绍基于阿里云函数计算(FC)和对象存储(OSS)构建Serverless媒体处理流水线,解决传统方案资源利用率低、运维复杂、成本高等问题。通过事件驱动机制实现图片水印添加、多规格缩略图生成及视频转码优化,支持毫秒级弹性伸缩与精确计费,提升处理效率并降低成本,适用于高并发媒体处理场景。
211 0
|
5月前
|
人工智能 开发框架 安全
Serverless MCP 运行时业界首发,函数计算让 AI 应用最后一公里提速
作为云上托管 MCP 服务的最佳运行时,函数计算 FC 为阿里云百炼 MCP 提供弹性调用能力,用户只需提交 npx 命令即可“零改造”将开源 MCP Server 部署到云上,函数计算 FC 会准备好计算资源,并以弹性、可靠的方式运行 MCP 服务,按实际调用时长和次数计费,欢迎你在阿里云百炼和函数计算 FC 上体验 MCP 服务。
499 30

相关产品

  • 函数计算