订单峰值激增 230%,Serverless 如何为世纪联华降本超 40%?|双11 云原生实践

本文涉及的产品
Serverless 应用引擎免费试用套餐包,4320000 CU,有效期3个月
函数计算FC,每月15万CU 3个月
简介: 导读:2020 年 双11,世纪联华基于阿里云函数计算 (FC) 弹性扩容,应用于大促会场 SSR、线上商品秒杀、优惠券定点发放、行业导购、数据中台计算等多个场景,业务峰值 QPS 较去年提升 230%,研发效率交付提效超过 30%,弹性资源成本减少 40% 以上。当 双11 走过 11 个年头,传统企业正在凭借云原生技术悄然逆势崛起,参与到这场全球购物狂欢节中。

联华华商旗下的世纪联华超市近期迎来了一年一度的 “双11” 大促活动。

时光回到 2014 年的 双12,支付宝联合杭州多家线下品牌和商场门店,推出五折优惠促销活动。在这一次消费狂欢中,滨江区世纪联华店所有的柜员 POS 机前排起了长队,队伍移动速度异常缓慢,商场工作人员表示,服务器出现异常导致支付出了问题。

6 年后的今天,视线再次回到世纪联华超市 双11 大促现场,人潮涌动,却井然有序。参与大促的人数是 6 年前的几倍,但现场支付却稳定又顺滑,这种天壤之别的转变,源于世纪联华对云原生技术的大胆尝试。

image.png

世纪联华大促现场

技术架构演进之路

我们有幸采访到世纪联华的技术人员,了解到世纪联华在技术架构演进一路走来的不容易。

2014 年及以前:物理单机架构的灾难

过去所有 POS 机及会员卡支付机器全部部署在各个门店,这套架构持续了近十年之久。

这套架构的最大好处是不受网络影响,在当年网络基础建设还不完善的情况下,商家可以尽最大可能地保障单个门店的交易稳定性不受外界影响。这套架构的最大问题是:当门店机器出现故障时,专业的技术管理员很难第一时间赶到现场及时修复,系统维护工作变得十分困难。

2014 年世纪联华的 双12 活动中,因为业务遭遇爆炸性流量,多个门店支付时好时坏,短时间也无法维护,导致用户体验差,这让世纪联华的技术人决心改进这套使用了十多年的老系统。

2014~2018 年:中央机房部署架构的演进

在 2014 年经历了 双12 大促活动的问题后,联华技术人决心改进各项系统,于是将交易系统和会员系统陆续迁移到自建的中央物理机房,商品系统也改迁为中央下发机器,在浙江省各个门店的 POS 机,通过互联网连接至中央机房。

相比 2014 年以前的架构,新架构主要解决了三个问题:

  • 问题修复可集中维护处理
  • 商品调整价格下发全走网络
  • 数据可以集中查询统计

然而新架构遗留的最大的问题是:

  • 管理人员需要掌握所有机器细节
  • 运维过程中可能出现宕机、断网等事件,调查相对困难,应急处理方案薄弱

2018 年~2019 年年中:全面上云

随着国内公共云建设的进一步发展,世纪联华也开始全面使用阿里云产品,将本地业务包括 MySQL 等全部迁移到了阿里云 ECS 上。

全面上云很好地应对了宕机、计算节点断网等事件的发生,这也坚定了世纪联华使用阿里云的决心。

然而业务急剧的扩展,数据库的查询写入越来越多,全面上云的架构在 2019 年中促销活动中,某台 16 核 32G 的 MySQL 数据库所在的 ECS ,因为会员查询业务实现未做好弹性扩容准备,定时业务陡增导致请求延迟巨大,严重影响了用户体验。

世纪联华开始探索新的业务架构方式,琢磨如何使用简洁的架构实现出更高可用的业务系统。

2019 年年中至 2019 年 双11:Serverless 的探索和尝试

随着线上业务不断发展,世纪联华的业务量不断扩大。在经历了 2019 年中数据库事件后,世纪联华经过尝试探索后,发现阿里云的表格存储服务比较适合自己的弹性业务:陡升陡降的业务不需要提前做预算来准备购买多少台存储服务器。这让联华的技术人很兴奋,因为很难算准突发的定时抢购业务量,这就导致很难预估准备多少机器来应付相应的业务量。表格存储的出现让联华技术人了解到一个词:Serverless!

在探索 Serverless 的道路上,联华的技术人偶然接触到了阿里云的函数计算,在紧张的测试验证后,技术人员发现函数计算的优异表现很契合联华的业务高度弹性的会员查询系统。

从 2019 年 7 月开始,联华技术人在不到 3 个月的时间里,将原有的会员数据全部副本镜像迁移到表格存储,并将所有渠道商的 API 全面迁移到阿里云 API 网关做分发,会员查询业务的计算业务也全面迁移到阿里云函数计算。

2019 年的 双11,函数计算作为计算模块,表格存储作为存储模块,顺利地帮助世纪联华渡过大促,扛住高峰流量的同时确保了应对业务的弹性。而未使用 Serverless 的业务因为预估不足,出现了一些异常。

Serverless 给世纪联华带来新的曙光:

  • 无需人工干预,瞬时弹性扩容很好地解决了流量的爆发带来的服务全面不可用;
  • 运维管理简单,一键部署更新函数,不需要了解网络分发架构,部署流程变得更简单,无需特聘运维人员,普通研发即可操作;
  • 不再需要提前做费用预算,用多少资源是多少钱,极大解决了技术和财务的沟通烦恼;
  • 因为定时秒杀场景请求波峰波谷明显,不需要预留大量机器,从而节省了大量费用。

遗留的问题:

  • 部分请求因为冷启动延时高导致用户体感不好,这也是当时 Serverless 开发人员普遍遇到的问题。

双11 中 Serverless 的表现让联华技术人很振奋。在顺利渡过大促活动后,世纪联华很快宣布:将在所有业务中全面使用函数计算及表格存储!

2020 年的 双11:函数计算 2.0 及全面拥抱 Serverless

2019 年下半年,阿里云函数计算宣布推出 2.0,支持预留模式,全面解决冷启动延迟大的问题;推出单实例多请求问题,较少实例支持重 IO 高并发类型请求调用;支持自定义运行时,支持一键迁移传统 Web 架构服务器。2.0 的出现让函数计算在业务和规模上实现了巨大升级。

在经历了过去的线下场景考验后,世纪联华将各渠道商的业务及旗下的“联华鲸选 APP”,以及线上交易、定时抢优惠券、秒杀业务也全部从 ECS 迁移到了函数计算 2.0,在开启预留模式调整好单实例多并发的模式后,顺利地扛过了是平时数十倍的洪峰流量请求。

image.png

比较上述的“时间-流量图”及“时间-延迟”两图可以看到,急剧上升的突发流量对用户造成的延迟变化影响非常小,从实际用户反馈来看确实也证实了用户体验非常顺滑。

所有的数据和业务上云,减轻的不只是研发人员的心理压力,还有工作量。联华华商技术负责人楼杰表示,“阿里云函数计算省了我们技术人员好多工作,我们不用管理服务器这些基础设施,只要编写代码上传,系统就会准备好计算资源,还提供日志查询、性能监控、报警等功能。这要是放在以前,超市搞 双11 大促,我们技术团队都睡不着觉,只靠扩展机器支撑大体量的流量和业务,谁心里都没谱。现在扩容的问题交给阿里云,水位远远高于我们储备能力的极限。”

站在风口上超车:传统企业何以更需关注 Serverless?

2020 年是国内 Serverless 的技术元年,为了降低技术研发成本、提升运维效率,越来越多的企业开始选择使用 Serverless 作为基础研发底座,大力发展业务。

在近期 CNCF Serverless 研究报告中,阿里云函数计算以 46% 的占比占据国内榜首。报告同时显示,大量的国内开发人员正在将传统架构往 Serverless 上做迁移。Serverless 的出现给传统企业数字化转型带了更多机遇。

在今年的疫情当中,线上教育已经成为广大学生群体不可或缺的基础设施,阿里云函数计算也为企业提供了强大的计算力,助力企业实现视频转码成为国内在线教育 TOP 级企业。

除了新浪微博、芒果 TV、石墨文档等互联网企业,在过去的一年里,越来越多的传统企业正在以意想不到的速度接触、尝试、大规模使用函数计算。

传统企业何以更关注 Serverless 呢?现如今,大量尖端技术人才更偏向在互联网公司就业,但传统企业又面对着大量技术升级和重构技术架构的刚需,人才缺口和技术升级之间产生了对云原生技术的需求。Serverless 的出现抹平了研发人员在预算、运维经验上的不足。在帮助企业对抗业务洪峰的情况下,研发人员能轻易掌控处理,不仅极大地降低了研发技术门槛,而且大规模提升了研发效率。对于开发者而言,线上预警、流量观测等工具一应俱全,关键是免去了运维负担,切实为广大开发者提供了普惠技术红利。对传统企业而言,Serverless 缩短了互联网公司与传统企业之间技术竞争力的距离。

由于业务场景、用户习惯迅速变化,许多行业数字化业务出现急速增长,加快数字化业务发展成为传统企业的必然选择。云原生是企业数字化最短路径,越来越多的传统企业正在拥抱云原生,借助更加快速、灵活的开发和交付模式,满足市场快速变化的需求,进而加速业务创新。世纪联华借助 Serverless 保证了一次次大促的成功,正是这一趋势的最好证明。

作者:朱鹏
文章来源:阿里巴巴云原生 微信公众号
原文链接:https://mp.weixin.qq.com/s/o6wpc4i4o5dGNOpz9VgB3g

相关实践学习
【文生图】一键部署Stable Diffusion基于函数计算
本实验教你如何在函数计算FC上从零开始部署Stable Diffusion来进行AI绘画创作,开启AIGC盲盒。函数计算提供一定的免费额度供用户使用。本实验答疑钉钉群:29290019867
建立 Serverless 思维
本课程包括: Serverless 应用引擎的概念, 为开发者带来的实际价值, 以及让您了解常见的 Serverless 架构模式
相关文章
|
10天前
|
运维 Cloud Native 持续交付
云原生架构的演进与实践####
【10月更文挑战第16天】 云原生,这一概念自提出以来,便以其独特的魅力和无限的可能性,引领着现代软件开发与部署的新浪潮。本文旨在探讨云原生架构的核心理念、关键技术及其在实际项目中的应用实践,揭示其如何帮助企业实现更高效、更灵活、更可靠的IT系统构建与管理。通过深入剖析容器化、微服务、持续集成/持续部署(CI/CD)等核心技术,结合具体案例,本文将展现云原生架构如何赋能企业数字化转型,推动业务创新与发展。 ####
111 47
|
4天前
|
NoSQL Cloud Native atlas
探索云原生数据库:MongoDB Atlas 的实践与思考
【10月更文挑战第21天】本文探讨了MongoDB Atlas的核心特性、实践应用及对云原生数据库未来的思考。MongoDB Atlas作为MongoDB的云原生版本,提供全球分布式、完全托管、弹性伸缩和安全合规等优势,支持快速部署、数据全球化、自动化运维和灵活定价。文章还讨论了云原生数据库的未来趋势,如架构灵活性、智能化运维和混合云支持,并分享了实施MongoDB Atlas的最佳实践。
|
5天前
|
监控 Cloud Native Java
云原生架构下微服务治理策略与实践####
【10月更文挑战第20天】 本文深入探讨了云原生环境下微服务架构的治理策略,通过分析当前技术趋势与挑战,提出了一系列高效、可扩展的微服务治理最佳实践方案。不同于传统摘要概述内容要点,本部分直接聚焦于治理核心——如何在动态多变的分布式系统中实现服务的自动发现、配置管理、流量控制及故障恢复,旨在为开发者提供一套系统性的方法论,助力企业在云端构建更加健壮、灵活的应用程序。 ####
46 10
|
5天前
|
NoSQL Cloud Native atlas
探索云原生数据库:MongoDB Atlas 的实践与思考
【10月更文挑战第20天】本文探讨了MongoDB Atlas的核心特性、实践应用及对未来云原生数据库的思考。MongoDB Atlas作为云原生数据库服务,具备全球分布、完全托管、弹性伸缩和安全合规等优势,支持快速部署、数据全球化、自动化运维和灵活定价。文章还讨论了实施MongoDB Atlas的最佳实践和职业心得,展望了云原生数据库的发展趋势。
|
5天前
|
运维 Cloud Native 持续交付
云原生架构下的微服务设计原则与实践####
【10月更文挑战第20天】 本文深入探讨了云原生环境中微服务设计的几大核心原则,包括服务的细粒度划分、无状态性、独立部署、自动化管理及容错机制。通过分析这些原则背后的技术逻辑与业务价值,结合具体案例,展示了如何在现代云平台上实现高效、灵活且可扩展的微服务架构,以应对快速变化的市场需求和技术挑战。 ####
25 7
|
3天前
|
敏捷开发 Cloud Native 持续交付
云原生技术在现代企业中的应用与实践
【10月更文挑战第23天】本文将深入探讨云原生技术在现代企业中的广泛应用,并结合具体案例分析其对企业数字化转型的推动作用。我们将从云原生技术的基本原理出发,逐步揭示其在提高业务敏捷性、降低成本和增强系统可靠性方面的优势。同时,文章还将分享一系列成功实施云原生技术的企业案例,为读者提供实践中的参考和启示。最后,我们将讨论云原生技术面临的挑战及未来的发展趋势,为企业在这一领域的进一步探索提供指导。
|
3天前
|
监控 Cloud Native 测试技术
云原生架构下的性能优化与实践####
【10月更文挑战第21天】 本文深入探讨了在云原生环境下,如何通过一系列技术手段和最佳实践来提升应用性能。文章首先概述了云原生架构的基本原则与优势,随后详细分析了影响性能的关键因素,包括容器编排、微服务设计、持续集成/持续部署(CI/CD)流程以及监控与日志管理。针对这些因素,文中不仅介绍了具体的优化策略,如资源请求与限制的合理配置、服务间通信的高效实现、自动化测试与部署的优化,还结合案例分析,展示了如何在实际项目中有效实施这些策略以显著提升系统响应速度和处理能力。此外,文章还强调了性能测试的重要性,并提供了几种常用的性能测试工具和方法。最后,总结了云原生性能优化的未来趋势,为开发者和架构师
10 2
|
4天前
|
运维 Cloud Native API
云原生时代下的微服务架构实践
【10月更文挑战第22天】在数字化转型的浪潮中,云原生技术正以前所未有的速度重塑软件开发和运维的模式。微服务架构作为云原生的重要组成部分,其设计哲学、技术栈选择以及与传统单体应用的根本区别成为了现代软件工程讨论的焦点。本文将深入探讨微服务架构的核心概念,通过实际案例分析其在云平台下的应用,并分享在实施过程中的经验教训,旨在为读者提供一套清晰的微服务架构实践指南。
|
5天前
|
Cloud Native 持续交付 开发者
云原生技术在现代软件开发中的实践与挑战####
本文探讨了云原生技术在现代软件开发中的应用,重点分析了其核心组件如容器化、微服务架构、持续集成/持续部署(CI/CD)以及无服务器计算的优势与面临的挑战。通过实际案例,阐述了如何有效实施云原生策略以提升系统的可扩展性、可靠性和开发效率。同时,文章也指出了在向云原生转型过程中常见的技术障碍和解决策略,为开发者和企业提供了宝贵的实践经验分享。 ####
|
6天前
|
Cloud Native 安全 Devops
云原生技术在现代软件开发中的实践与挑战####
本文探讨了云原生技术在现代软件开发中的应用,深入分析了其核心概念、优势以及面临的挑战。通过实际案例,展示了云原生架构如何提升应用的灵活性和可扩展性,同时指出了企业在实施过程中需要注意的关键问题。本文旨在为开发者和企业提供有价值的参考,帮助他们更好地理解和应用云原生技术。 ####

热门文章

最新文章

相关产品

  • 函数计算