Amazon PrimeDay 大促背后的 AWS 技术和服务启示

Amazon PrimeDay 大促背后的 AWS 技术和服务启示
Amazon PrimeDay 大促背后的 AWS 技术和服务启示

– 1 – 为什么会有 Prime Day?

新闻稿和逆向工作法是亚马逊产品研发和创新机制,要弄清楚这个问题的答案,我们不妨回到 2015年7月6日对外正式公开的 Prime Day 新闻稿 “Step Aside Black Friday – Meet Prime Day”的内容;

On the eve of Amazon’s 20th birthday, the company introduces Prime Day, a global shopping event, with more deals than Black Friday, exclusively for Prime members

一句话总结,2015年是亚马逊电商成立 20周年,亚马逊电商决定针对所有亚马逊 Prime 会员推出一个全新的全球购物活动,比黑色星期五购物节拥有更多促销。

SEATTLE–(BUSINESS WIRE)–Jul. 6, 2015– (NASDAQ:AMZN) – More than 90 years ago, holiday shopping found its official start the Friday after Thanksgiving, eventually becoming Black Friday, the biggest shopping day of the year. Over the years, Amazon has helped make Black Friday even more of a global online shopping phenomenon. Next week, Amazon turns 20 and on the eve of its birthday, the company introduces Prime Day, a global shopping event, offering more deals than Black Friday, exclusively for Prime members in the U.S., U.K., Spain, Japan, Italy, Germany, France, Canada and Austria. On Wednesday, July 15, new and existing members in the U.S. will find deals starting at midnight, with new deals starting as often as every ten minutes. They can shop thousands of Lightning Deals, seven popular Deals of the Day and receive unlimited fast, free shipping. Not a Prime member? To participate in Prime Day, Amazon customers can sign up for a 30-day free trial of Prime at amazon.com/primeday.

黑色星期五购物源自西方感恩节之后周五大购物的传统,逐渐成为每年最大的一次购物节;亚马逊电商进一步把黑五促销搬到了线上,成为一个全球性质的在线购物活动;亚马逊集团于 1995年7月16日成立,在 2015年为了庆祝 20周年庆,面向 Prime 会员的推出一个全新的年度大促活动,从7月15日凌晨开始,维持一天的时间;持续满足亚马逊 Prime 会员的更高期望和更好体验;亚马逊目前(来源于2020年财报数据)拥有2亿多 Prime 会员,亚马逊 Prime 会员福利超级多,比如 Pirme Videos,Prime Games,Prime Fresh,Prime Music,Prime Student 等等,详细可以自行搜索和注册体验;

– 2 – 7年 Prime Day 活动小结

Prime Day活动时间覆盖国家会员数量亮点
2021(66小时) Jun 21 ~ 2220个国家(包括中国)超2亿会员购买了超过2.5亿件商品;Prime Day Show线上音乐会;
2020(66小时) Oct 13 ~ 1419个国家(包括中国)超1.5亿第三方卖家超35亿美金的销售
2019(48小时) Jul 15 ~ 1618个国家(包括中国)超1亿会员购买了超1.75亿件商品;销售额超黑五和超级星期一总和;
2018(36小时) Jul 15 ~ 1617个国家(包括中国)超1亿16日新增会员超过以往任何一天;会员购买了超1亿件商品
2017(30小时) Jul 1113个国家(包括中国)数千万销售额比2016 Prime Day高 60%+;Echo Dot成了第一畅销品;
2016(24小时) Jul 1210个国家数千万比 2015年高出 60%+,会员平均每秒语音下一单
2015(24小时) Jul 159个国家数千万购买了超3千4百万件商品,每秒售出398件

– 3 – 从 AWS 视角观察 PrimeDay 背后的云技术的采用和架构演进

Amazon PrimeDay 大促背后的 AWS 技术和服务启示
Amazon PrimeDay 大促背后的 AWS 技术和服务启示

年度大促相信是电商技术人员每年最紧张和挑战的时间段,保障流量洪峰到来时,用户核心环节体验不受影响,需要团队有能力构建一个全站弹性和韧性架构,而其中,有状态服务和强一致性要求是最挑战的;弹性,是要求全站核心服务有能力匹配用户流量增长加速度,及时的横向扩展,通常在年度大促活动中,是需要提前规划和全链路压测的;韧性,是现代化电商系统必要特征,有设计的爆炸半径,日常的混沌演练和不断改进,故障的快速识别和尽可能的自动恢复等等;

– 3.1 – 概述:从2016 到 2021,PrimeDay 背后的 AWS

很多客户都很好奇,亚马逊电商采用了哪些 AWS 服务,今天我们来解读下 Jeff Barr 的 Prime Day 系列博文;AWS 作为亚马逊电商的技术基础设施,支持电商大促的准备期间(Game Day)需要保证电商每个模块都是经过充分测试,确保可扩展并已经为大促活动做好准备。

电商团队为了准备 2016 年的 Prime Day,从全球多个区域扩展了大量的计算资源(EC2实例),增加的量相当于 2009年整个 AWS 和 Amazon.com 的总和;大促流量从亚洲地区的日本开始激增,内部的 CloudWatch 监控指标显示大量的 CloudFront(CDN)和 ElastiCache(内存缓存)服务请求,随后这波流量开始环绕全球,在 40小时内到达欧洲和美国,产生了 850亿次用户点击流日志条目,全球 Prime 会员订单量比 2015年首次 Prime Day活动超 60% 以上增长,移动端有超 100万 用户首次下载并使用亚马逊电商移动应用。

使用了哪些 AWS 服务?

从 2016年的 Prime Day 大促活动中,我们看到亚马逊电商采用的 38种 AWS 服务的用量显著增加:

  • 数据分析 Analytics – Amazon Redshift, Amazon Machine Learning.
  • 应用服务Application Services – Amazon API Gateway, CloudSearch, Data Pipeline, Elastic Transcoder, SES, SNS, SQS, SWF.
  • 计算 Compute – EC2, Auto Scaling, EBS, EMR, Lambda.
  • 数据库 Database – DynamoDB, ElastiCache, Kinesis, Kinesis Firehose, RDS. 与前一周同一天相比,DynamoDB 在 Prime Day 期间为全球超 560亿次新增请求提供了服务;
  • 管理工具 Management Tools – CloudTrail, CloudWatch, Trusted Advisor. 与前一周同一天相比,全球的 CloudWatch 指标使用量增加了 400%
  • 移动 Mobile – 原 Mobile Analytics,现改名为 Amazon Pinpoint,与前一周同一天相比,AWS 营销服务事件增加了 1,661%
  • 网络 Networking – Direct Connect, Directory Service, Virtual Private Cloud, Route 53.
  • 安全和认证 Security & Identity – CloudHSM, IAM, KMS.
  • 存储和内容分发 Storage & Content Delivery – CloudFront, S3, Amazon Glacier.

除此之外,我们将历年 Jeff 披露的一些 Prime Day 期间 AWS 托管服务的使用量做了一个简单统计:

PrimeDay
年份
2021
(66小时)
2020
(66小时)
2019
(48小时)
2017
(30小时)
EC2 -*NIs 内部标准化单位+ 12.5%,第一次大规模采用 Graviton2N/AN/AN/A
EC2 – Server Equivalent 内部单位N/AN/A37万2千 到 42万6千(高峰)N/A
EBS – 新增磁盘容量159PB241PB64PB增长40% (YoY)
EBS – 处理请求量每天 11.1万亿次,即每秒1.28亿次每天 6.2万亿次,即每秒7.17千万次每天 2.1万亿次,即每秒2.43千万次EBS 存储处理了 8.35亿次请求
EBS – 读写传输数据量每天614PB数据,即每秒7.27TB每天563PB数据,即每秒6.67TB每天185PB数据,即每秒2.19TB总计读写 52 PB 的数据
DDB – RPS8.92 千万次每秒8.01 千万次每秒4.54 千万次每秒1.29 千万次每秒
DDB – 总请求数N/A16.4 万亿次7.11 万亿次3.34 万亿次
Aurora Postgre(Fulfillment Center) – 总实例数37151900N/AN/A
Aurora Postgre(Fulfillment Center) – 总交易量2330亿1480亿N/AN/A
Aurora Postgre(Fulfillment Center) – 处理数据量写入1595TB,传输 615TB写入609TB
传输306TB
N/AN/A
CloudFront – RPS(HTTP)483万次每秒(峰值)467万次每秒(峰值)N/AN/A
CloudFront – 总请求量6000亿4500亿N/AN/A
SQS – MPS4.77千万次消息每秒(高峰)N/AN/AN/A

NIs(Normalized Instances):为了更直观比较众多 AWS 机型的不同算力,亚马逊内部将不同的实例类型都标准化到以一个 NI(a Normalized Instance为基本单位的衡量值;从公开资料也可以理解这个概念,早在 2017年,AWS 就开始支持预留实例的大小灵活性,其中就引入 Normalized Factor 这个参数,比如 small 为 1个单位,那么medium 大小就是 2个单位,large 就是 4个单位以此类推,一个 32xlarge大小的实例可以用 256 单位来表达;2019年 AWS Cost Explorer 成本分析中也引入了Normalized Units 来可视化和分析预留实例的使用情况;

https://aws.amazon.com/blogs/aws/new-instance-size-flexibility-for-ec2-reserved-instances/

– 3.2 – 成功的电商大促活动经验总结

准备阶段的规划和测试至关重要

使用历史数据来帮助预测和建模未来的流量,并相应地评估您的资源需求

使用审计来跟踪准备情况、识别风险和跟踪目标进展

每个团队必须回答一系列详细的技术和操作问题,这些问题旨在帮助他们确定自己的准备情况;在技术方面,问题可能围绕着数据库故障后的恢复时间,包括对 CNAME TTL时间的检查;运营问题涉及值班人员的时间表、联系方式以及服务和实例的所属团队;

用 Game Day 为故障做演练

游戏日实践旨在验证所有容量规划和准备工作,并验证所有必要的操作实践是否到位并按预期工作,类似今天的混沌实验;它引入了故障模拟,并有助于训练团队识别潜在问题和快速解决问题,在此过程中建立肌肉记忆;它还测试故障转移和恢复能力,并可以暴露隐藏在幕后的潜在缺陷;GameDays帮助团队了解弹性伸缩驱动因素(页面浏览量、订单等),并为他们提供测试其伸缩策略的机会。

扩展阅读《Resilience Engineering – Learning to Embrace Failure》 《Video – GameDay: Creating Resiliency Through Destruction》———— 学会拥抱故障,了解更多关于亚马逊游戏日练习的信息。

自动化一切,减少手动操作,避免人为错误。

利用可根据需求自动扩展的服务,比如 Route53 可自动扩展您的 DNS,可根据需求扩展您的 EC2 容量,弹性负载平衡可实现自动故障转移并平衡多个区域和可用性区域(AZs)之间的流量。

当然在大促前期,很多团队也会采取封版的做法,减少生产环境变更甚至零变以保障年度大促活动的顺利进行;

从大处着眼,从小处着手

大促背后的准备工作是一个系统性工程,而使用 AWS 基础设施,不断优化应用架构,和通过 Game Day 进行演练使得你有信心不断扩展大型促销活动提升业绩;我们鼓励您从大处着眼,充分利用我们的技术支持计划和托管服务。

AWS 基础设施事件管理(IEM) 帮助我们的客户规划和运行大型业务关键事件;该计划包含在企业支持(Enterprise Support)计划中,商业支持(Biz Support) 客户需要收取额外费用;IEM 包括对运行准备情况的评估、风险的识别和缓解建议,以及 AWS 有经验的专家团队随时提供帮助;我们的解决方案架构师和技术客户经理随时准备提供帮助,我们的 APN 咨询合作伙伴也是如此,如果您计划举办一次大型活动,请提前通知我们,我们将在活动之前和期间与您合作。

2019年,亚马逊电商 Prime Day 活动中,支持 IEM 项目的技术客户经理创建了一个 100% 在线的快速反应虚拟团队;Slack 和 Amazon Chime 配合使用,使 AWS 服务团队、AWS 技术支持、IT 支持和 Amazon 电商可靠性工程团队 (总共数千人) 能够实时沟通和协作。

– 3.3 – Prime Day 使用 AWS 一些启示

大规模使用 Graviton 2

EC2 实例和 EBS 存储依然是亚马逊电商大规模基础设施的重要组成部分,2021年电商团队第一次在电商大促活动中,大规模采用 Graviton 2 (ARM)实例,12 个核心电商服务从 x86 迁移到 ARM;其中一个核心服务 Datapath 该服务针对电商大规模请求的特殊需求进行了高度优化,并支持跨结构化数据块的搜索、查询和连接,该服务团队经过大量的调研和测试,决定将 Datapath 服务迁移到跨 3个区域的 53,000台 C6g 实例上。

Graviton 2 相对于基于 X86的 5系列可以获得最高 40% 的性价比提升,2021年 Prime Day 大促由于采用了 Graviton 2,总 EC2 标准化单位 NIs 增长了 12.5%,但相比 2020年超级星期一促销,实际使用的物理机数量减少了 6000台。

Amazon DynamoDB 是亚马逊电商的重要组件

从 Prime Day 2016 到 2021 公开披露的数据,都可以看到 DynamoDB 在 Alexa,电商平台和物流中心的广泛应用,在电商大促活动中,它可以支持高达 8.92千万次每秒的 RPS 请求洪峰同时满足 10毫秒以内的响应延迟;在 2017年 AWS 的 re:Invent 大会上,《ARC406: Amazon.com Replacing 100s of Oracle DBs with Just 1 DynamoDB》 来自亚马逊电商的资深开发人员介绍到,扩展和运维分库分表的关系数据库非常“痛苦”,这项工作,要求有专门的系统和数据库管理员全神贯注的一项劳动密集型型工作;2019 年 10月15日,AWS 布道师 Jeff Barr 在官方博客发布标题为《迁移完成–亚马逊的消费者业务部关闭最后的 Oracle 数据库》,我们可以看到亚马逊消费者业务部门包括 Alexa,Amazon Prime,Amazon Fresh, Kindle,Twitch,AdTech,付款,退货,市场,订购和零售系统等等 100多个团队,抛弃了传统的分库分表的 Oracle 关系数据库,转向主要两个重要的分布式数据库 Amazon DynamoDB 和 Amazon Aurora。就比如订单分布式工作流系统,从分库分表直接重构到以一张 Amazon DynamoDB 表为核心的新的数据处理方式,从而使得数据库管理员摆脱无差异的分库分表运维工作:

Use Case 电商场景Dynamo DB 特性
Customer Profiles 客户档案支持文档和KV表结构;零运维;支持本地和全局索引;DynamoDB Data Streams;PartiQL 查询更新数据;可选的强一致性和条件一致性;支持 Lambda触发器;和 AWS 分析服务无缝集成;联合查询;Ealstic Views;按时间点恢复;99.99% SLA 设计,全局表支持 99.999% SLA;
Shopping Cart 购物车同上
WorkFlow Engin 工作流引擎同上
Orders 订单同上
Reviews 评论同上
Promotions/Coupons 促销折扣性能自动弹性扩展,多区域多活全局表,通过DAX 内存加速实现微妙级延迟
Payments-Credit Cards 信用卡支付数据服务器端静态加密(AES256),VPC Endpoint私有访问

关系数据库 Aurora

Prime Day 唯一对外披露的关系数据库场景是 AFT(Amazon Fulfillment Technologies)即亚马逊电商履约中心技术团队,该团队建立和维护公司的仓库管理系统(WMS – Warehouse Management Systems),其中包括库存管理服务(IMS – Inventory Management Services),它负责管理仓库流程,包括商品出入站装运、项目拣选、分类、包装和库存存储;这些对于按时交付客户订单至关重要;2021年 Prime Day,AFT 总计使用了 3715个 兼容 PostgreSQL 的 Aurora 实例,处理了 2330 亿笔交易,接近 2020年 Prime Day 的两倍;

消息中间件

2021年 Prime Day 首次披露 SQS 在订单流程中的性能数据,高峰时每秒处理4770万条消息;电商架构中,消息中间件解耦是一个不可或缺的考量,不妨试试这个简单、高性能、高可用的消息服务 SQS。

线上音乐会和直播带货

2019年 Prime Day 开始不仅仅是电商,在线互动音乐会 Prime Day Concert 和直播也丰富了会员的在线购物体验,该活动基于 AWS Media 系列的开箱即用的托管服务,向多个内容分发渠道包括 CloudFront 推送 1080P分辨率,30fps直播流;而 2020年 Prime Day,电商会员可以直接在 Amazon Live 观看互动直播并下单,背后采用的是 AWS 发布不久的 Amazon Interactive Video Service (IVS) 服务,该服务采用与 Twitch 平台同样的技术;

– 4 – 总结

电商大促要求应用和平台能够有端到端的全站可扩展、高可用和高韧性(快速恢复)的能力,亚马逊电商作为 AWS 一个重要的客户,复杂的全球多个市场的业务要求,超大的规模,每年多个全球范围的大型促销活动,对 AWS 提出了很多新挑战,AWS 90%的新服务和新特性来自客户真实的需求,相信随着时间的推移,云服务的不断进化,基于 AWS 的现代化电商应用架构会变得更加安全、简单和便捷,客户更多聚焦在业务逻辑本身;

来源:求索云途,本文观点不代表自营销立场,网址:https://www.zyxiao.com/p/135476

发表评论

登录后才能评论
服务中心
服务中心
联系客服
联系客服
侵权联系 投诉举报
返回顶部
河南,挺住!郑州,挺住!一起为他们加油!!