案例 | 沃尔玛 x 腾讯云Serverless应用实践,全力保障消费者购物体验
深耕零售,没有比中国更好的地方,也没有比现在更好的时间。1996年,国际零售巨头沃尔玛进入中国,在深圳开设了第一家山姆会员商店。25年后的今天,山姆会员商店拥有数百万付费会员,成为国内遥遥领先的会员制商店。
当位于深圳的山姆会员商店连续10余年成为沃尔玛全球销售第一的门店,沃尔玛又一次亮出了优秀的业绩。为什么能够在极度竞争的中国零售市场保持强劲增长?2020年全球零售行业调研报告作出了如下总结:在沃尔玛,各种各样的先进技术被广泛应用以提高工作效率。沃尔玛的管理者认为,先进的科技在零售市场将有助于沃尔玛赢得竞争。
01.
「顾客至上,服务第一」
腾讯云Serverless解决方案
顾客至上是零售行业的服务宗旨。但是消费者对购物体验的要求越来越高,业务迭代速度越来越快。山姆会员商店要保持前瞻性,线上销售渠道必须快速迭代创新,不断为消费者创造新的购物体验。
难点1:应用发布频率高
山姆会员商店业务迭代快、应用发布频率高,基本保持在一周一迭代。
难点2:保障用户最佳体验
版本升级的基本要求是:对用户无感知,在升级过程中应用的无损发布。
难点3:资源消耗大
零售行业线上流量巨大,一个应用可能需要上千台服务器,采用蓝绿部署时,如果在线上发布,需要再备份一千台服务器,对资源消耗造成极大的损失。
(山姆会员商店蓝绿发布架构图)
典型的开发流程从开发测试到集成测试,到预发测试,再到发布上线,每个研发阶段都有对应的环境做支撑,而每个环境都会消耗资源和成本,来保持服务在线。传统的版本灰度发布模式面临环境多、资源消耗多、成本高等困境。
(环境多、资源消耗大)
腾讯云山姆会员商店项目负责人李逸期在智慧零售深耕多年,从0到1搭建了山姆会员商店APP的技术架构。秉承沃尔玛公司用科技助力市场的战略,李逸期对以赋能业务为目标的技术创新,保持着极致化的追求。多种方案对比后,山姆会员商店选择了腾讯云云函数SCF(Serverless Cloud Function)默认别名灰度发布策略。
云函数SCF默认别名灰度发布
默认别名是配置云函数的$default(默认流量)别名,别名中固定有2个云函数版本:一个为$latest版本,一个为最后一次函数发布的版本。部署时配置的traffic参数为$latest版本流量占比,默认另一部分流量切到当前云函数最后一次发布的版本。
每次上线一个新功能,执行sls deploy会部署到$latest版本上。版本发布时先切部分流量在$latest版本上进行观察,稳定后逐步将流量切到$latest版本。当流量切到100%时,固化当前版本,并将流量全部切到固化后的版本。
(云函数默认别名灰度发布图)
优势1:风险控制保障用户体验
首先,控制变更的风险,一旦发现新版本有异常,随时可以调整流量比例进行回滚;其次,客户端和云函数一起进行灰度,即使需要做一些破坏性变更,例如协议变更时,也不用担心线上版本是否兼容新的协议。
优势2:快速验证适应高频迭代
Serverless模式下,环境隔离、可直接发布,提升高频部署时的研发效率,适合做产品特性的快速验证。
优势3:弹性扩缩容节约成本
Serverless在没有访问量时自动缩容,可以极大节约部署多环境的成本。
当遇到更加复杂的版本发布策略时,云函数自定义别名可以提供更灵活的版本切换方式。自定义别名的配置方式相对于默认别名更复杂,适用于对灰度发布能力要求较高的业务场景。
(云函数自定义别名灰度发布图)
02.
零售电商场景中Serverless应用
1.电商大促等波峰波谷型业务
每年双11、618等电商大促期间,零售行业线上渠道面临历史级别的流量挑战,中大型电商平台的峰值调用量可达上千万/分钟,面临高于日常10-20倍的流量压力。日常运营活动中,例如精品秒杀、限时抢购等,电商平台也同样面临大流量高并发、波峰波谷用户流量明显分化的典型场景。
云函数SCF提供弹性、可扩展的基础设施和护航服务,帮助电商客户把握业务增长的机遇,从容应对挑战。
(电商弹性大促架构图)
·瞬时冷启动
云函数SCF底层采用自研的轻量级虚拟化技术,Micro Vm启动时间短至90毫秒,函数冷启动减低至200毫秒,并且支持上万台计算节点同时扩容。
·实时扩缩容
基于函数请求实时计算的模式,动态的扩缩函数实例,优化函数冷启动的体验问题,以及控制函数计算的资源成本。
·预置并发
在秒杀、抢购等场景中,瞬间需要海量的计算资源。云函数预置并发,可支持并发实例按配置预先启动,提前“预热”函数,为业务高峰提前准备计算资源,消除冷启动、降低运行环境初始化及业务代码初始化引起的耗时。
2.电商直播等CPU密集型业务
直播带货已成为线上零售平台的标配功能。电商直播中,需要专业、稳定的直播推流、转码、分发、播放等服务,满足超低延迟、超高画质、超大并发访问量的要求。在直播结束后,通常需要对回播视频进行处理,例如音视频转码混流、回播视频二次分发和存储等。
相较于自建转码服务器,云函数SCF无需考虑转码服务器闲置时间的利用效率、以及服务器运维等问题。
(云函数电商直播方案)
·平滑迁移快速上线
支持用户自定义配置FFmpeg命令参数、以及部署自建FFmpeg,转码方式灵活,也可以便捷地从物理机、云主机或容器中移植到云函数。
·解决算力瓶颈
大规格实例最高支持128GB/64C进行4K高清视频转码,结合资源弹性伸缩能力,有效保证转码效率。
·按量计费成本优势
视频转码是高运算负荷的CPU密集型业务,需要对输入的视频流进行全解码、视频过滤/图像处理、并对输出格式进行全编码。云函数的1毫秒粒度按用量计费,拥有显著的成本优势。
3.智能图片处理等事件驱动型业务
在电商平台上,每天都会有大量商品图片的查询请求和更新请求。高峰情况下,每天有千万级甚至亿级的图片处理需求。传统方案需要搭建一个在线服务器并部署Web应用来进行图片处理,程序按照一定规则定时触发事件。
在传统方案中,主要有三个困扰:
1.没有请求时,空置率较高;
2.需要专门维护一套运行处理代码;
3.需要考虑并发和定时器的执行方法,来保障图片处理的及时性。
而在Serverless架构中,云函数SCF提供图片裁剪、增加水印等多种处理能力,满足电商业务的图片处理诉求。同时针对图片处理、存储的高可用要求,可以支持对象存储的跨区域高可用部署。
(云函数图像处理方案)
用户仅需要在云函数SCF上设置触发器+函数,当用户把图片上传到对象存储中,将会触发函数代码进行图片处理,并把图片转移到新的存储桶中。整个过程,不需要搭建Web服务器,无需编写触发条件,也无需关注业务运维。
“中国市场是充满竞争的,但机遇也是巨大的。我们将持续保持技术的驱动力和领先性,以更高的质量和更快的速度完成一次次的产品迭代,保障每一天的消费者体验。”
——Jason Wang,沃尔玛中国技术总监
·GitHub:github.com/serverless
·官网:cloud.tencent.com/product/serverless-catalog