Serverless 的承诺都兑现了吗?( 四 )


Serverless 的承诺都兑现了吗?】最佳实践案例
发展到现在 , 用户在哪些场景下会使用无服务器计算?实际上 , 每年的亚马逊云科技re:Invent大会都会有一些团队给大家分享实践经验 , 其中不乏具有代表性的案例 。
Serverless 的承诺都兑现了吗?
文章图片
在2017年的亚马逊云科技re:Invent会议上 , 美国电信Verizon的Revvel团队介绍了他们如何使用AmazonLambda和AmazonS3进行视频不同格式的转码 。 早先团队使用的是EC2实例 , 如果视频长达2小时或大到几百G , 问题就变得很棘手 , 高清转换可能需要4-6个小时 , 而转换工作中途一旦停止或中断就意味着前功尽弃 。 所以 , Revvel团队采用的新方法是将视频分为5M的小块分别存储在AmazonS3存储桶中 , 然后用AmazonLambda启用上千实例并行计算 , 完成转码后再合并成一个完整的视频 , 整个过程缩短到不足10分钟 , 费用也降低到了原来的十分之一 。
在2020年的亚马逊云科技re:Invent会议上 , Coca-Cola的Freestyle设备创新团队分享了他们的非接触式售卖机解决方案:使用AmazonLambda和AmazonAPIGateway构建后端托管服务 , 前端使用AmazonCloudFront , 从而可以在一周内推出原型 , 并在三个月内将Web应用程序从原型扩展到10000台机器 , 进而在疫情期间快速占领市场 。
在今年的亚马逊云科技re:Invent会议主题演讲里 , WernerVogels博士讲述了NewWorldGame多人游戏中的无服务器解决方案 。 这是一款非常复杂的大规模分布式实时游戏 , 可处理30次/s的动作或状态 , 重绘和计算需要大量的CPU资源 。 它通过每30秒80万次写入将用户的状态存储在AmazonDynamoDB中 , 这样用户即使意外中断游戏也能及时恢复到之前的游戏状态 。 同时通过日志记录用户操作 , 然后使用AmazonKinesis传输日志事件 , 速度可达2300万事件/分钟 , 随后将事件流推送到AmazonS3中 , 再用AmazonAthena进行分析处理 。 利用该数据流 , 团队可即时预测游戏用户行为和更改游戏中的策略 。 游戏环境中的运营 , 比如登录、交易、通知等操作事件 , 都是通过AmazonLambda无服务器计算来实现的 。
无服务器在这款多人游戏中发挥了非常重要的作用 , 但这种大型架构也对无服务器的性能提出了非常大的挑战 。 AmazonLambda达到了每分钟1.5亿次的调用频率 , 这比行业里的平均水准高出数倍 。
Serverless 的承诺都兑现了吗?
文章图片
无服务器的未来
在今年年底 , 亚马逊云科技一口气推出了五款无服务器产品:
AmazonRedshiftServerless , 可自动配置计算资源 , 使用SQL跨数据仓库、运营数据库和数据湖分析结构化和非结构化数据 。
AmazonEMRServerless(预览版) , 是AmazonEMR中的一个新选项 , 让数据工程师和分析师能够借助开源分析框架 , 例如ApacheSpark、Hive和Presto , 在云中运行PB级数据分析 。
AmazonMSKServerless(公开预览版),全新类型的AmazonMSK集群 , 完全兼容ApacheKafka , 且无需管理Kafka的容量 , 服务会自动预置和扩展计算及存储资源 。
AmazonKinesisOn-demand , 用于大规模实时流数据处理 , 服务会自动按需扩展和缩减 。
AmazonSageMakerServerlessInference(预览版) , 让开发者无需配置或管理底层基础设施即可部署机器学习模型进行推理 , 按执行时间和处理的数据量付费 。
由此 , 我们可以看到云上的Serverless服务越来越多 , 无服务器计算的能力已经从计算、存储、数据库服务扩展到数据分析 , 以及机器学习的推理 。 以前机器学习的推理需要启动大量的资源来支撑峰值请求 。 如果使用EC2推理节点 , 空闲资源会推高成本 , 而使用AmazonLambda服务 , 就不需要再考虑集群节点管理这些事情 , 服务会根据Workload自动预置、扩展和关闭计算容量 , 只为执行时间和处理的数据量付费 , 相比之下能节省很多 。