亚马逊|经过七年演进,Serverless流行起来了吗?( 四 )


最佳实践案例
发展到现在,用户在哪些场景下会使用无服务器计算?实际上,每年的亚马逊云科技 re:Invent 大会都会有一些团队给大家分享实践经验,其中不乏具有代表性的案例。
亚马逊|经过七年演进,Serverless流行起来了吗?
文章插图

在 2017 年的亚马逊云科技 re:Invent 会议上,美国电信 Verizon 的 Revvel 团队介绍了他们如何使用 Amazon Lambda 和 Amazon S3 进行视频不同格式的转码。早先团队使用的是 EC2 实例,如果视频长达 2 小时或大到几百 G,问题就变得很棘手,高清转换可能需要 4-6 个小时,而转换工作中途一旦停止或中断就意味着前功尽弃。所以,Revvel 团队采用的新方法是将视频分为 5M 的小块分别存储在 Amazon S3 存储桶中,然后用 Amazon Lambda 启用上千实例并行计算,完成转码后再合并成一个完整的视频,整个过程缩短到不足 10 分钟,费用也降低到了原来的十分之一。
在 2020 年的亚马逊云科技 re:Invent 会议上,Coca-Cola 的 Freestyle 设备创新团队分享了他们的非接触式售卖机解决方案:使用 Amazon Lambda 和 Amazon API Gateway 构建后端托管服务,前端使用 Amazon CloudFront ,从而可以在一周内推出原型,并在三个月内将 Web 应用程序从原型扩展到 10000 台机器,进而在疫情期间快速占领市场。
在今年的亚马逊云科技 re:Invent 会议主题演讲里,Werner Vogels 博士讲述了 New World Game 多人游戏中的无服务器解决方案。这是一款非常复杂的大规模分布式实时游戏,可处理 30 次 /s 的动作或状态,重绘和计算需要大量的 CPU 资源。它通过每 30 秒 80 万次写入将用户的状态存储在 Amazon DynamoDB 中,这样用户即使意外中断游戏也能及时恢复到之前的游戏状态。同时通过日志记录用户操作,然后使用 Amazon Kinesis 传输日志事件,速度可达 2300 万事件 / 分钟,随后将事件流推送到 Amazon S3 中,再用 Amazon Athena 进行分析处理。利用该数据流,团队可即时预测游戏用户行为和更改游戏中的策略。游戏环境中的运营,比如登录、交易、通知等操作事件,都是通过 Amazon Lambda 无服务器计算来实现的。
无服务器在这款多人游戏中发挥了非常重要的作用,但这种大型架构也对无服务器的性能提出了非常大的挑战。Amazon Lambda 达到了每分钟 1.5 亿次的调用频率,这比行业里的平均水准高出数倍。
亚马逊|经过七年演进,Serverless流行起来了吗?
文章插图

3.无服务器的未来在今年年底,亚马逊云科技一口气推出了五款无服务器产品:
Amazon Redshift Serverless,可自动配置计算资源,使用 SQL 跨数据仓库、运营数据库和数据湖分析结构化和非结构化数据。
Amazon EMR Serverless(预览版),是 Amazon EMR 中的一个新选项,让数据工程师和分析师能够借助开源分析框架,例如 Apache Spark、Hive 和 Presto,在云中运行 PB 级数据分析。
Amazon MSK Serverless(公开预览版),全新类型的 Amazon MSK 集群,完全兼容 Apache Kafka,且无需管理 Kafka 的容量,服务会自动预置和扩展计算及存储资源。
Amazon Kinesis On-demand,用于大规模实时流数据处理,服务会自动按需扩展和缩减。
Amazon SageMaker Serverless Inference(预览版),让开发者无需配置或管理底层基础设施即可部署机器学习模型进行推理,按执行时间和处理的数据量付费。
由此,我们可以看到云上的 Serverless 服务越来越多,无服务器计算的能力已经从计算、存储、数据库服务扩展到数据分析,以及机器学习的推理。以前机器学习的推理需要启动大量的资源来支撑峰值请求。如果使用 EC2 推理节点,空闲资源会推高成本,而使用 Amazon Lambda 服务,就不需要再考虑集群节点管理这些事情,服务会根据 Workload 自动预置、扩展和关闭计算容量,只为执行时间和处理的数据量付费,相比之下能节省很多。