亚马逊AWS官方博客

AWS Team

Author: AWS Team

通过亚马逊云科技Marketplace中合作伙伴(Zenlayer)的产品来加速Amazon S3的访问

AWS Marketplace 是一个精挑细选的数字化产品目录,您可以使用它来查找、购买、部署和管理构建解决方案及运营业务所需的第三方软件、数据和服务。 AWS Marketplace 囊括了众多常见类别下的数千个软件名录,例如安全、联网、存储、机器学习、IoT、商业智能、数据库和开发运营。 AWS Marketplace 还提供灵活的定价选项和多种部署方法,从而简化了软件的许可和采购。此外, AWS Marketplace 包括 AWS Data Exchange 提供的数据产品。

Read More

Amazon DynamoDB 的十年之约

Dynamo 数据存储的成功激励了亚马逊机器学习副总裁 Swami Sivasubramanian、Amazon.com 首席技术官 Werner Vogels 和同事撰写 Dynamo 研究论文,并在2007年 ACM 操作系统原理研讨会(SOSP会议)上分享。Dynamo 论文被认为是 NoSQL 的开篇之作。Amazon DynamoDB,云托管 NoSQL 数据库服务于10年前的今天走上历史舞台。

Read More

基于 Amazon Lambda 的无服务器视频转码方案

在 re:Invent 2020 上,Amazon Lambda推出了大函数支持。Amazon Lambda客户可以设置Lambda函数的最大内存为 10,240 MB(10GB),与之前最大内存3,008MB的限制相比增加了3倍多。Lambda函数配置更大的内存有助于更快的执行大规模内存密集型操作,比如批处理、提取、转换、加载(ETL)作业和处理媒体音视频文件等。 由于Lambda函数根据配置的内存大小按比例分配CPU能力,因此客户现在可以访问多达6个vCPU。这有助于更快地执行机器学习、建模、基因组学和高性能计算(HPC)应用程序等计算密集型应用程序。在这篇博文中,我们将介绍基于无服务器架构的视频转码方案的设计,并展示其在大内存Lambda函数中的性能。 简介 视频转码是一项计算密集型任务。 在 c5.large实例上,将1小时长的1080p h264视频转码为720p h264视频可能需要计算将近2小时。Lambda函数的最大超时时间为15分钟,貌似单个Lambda函数似乎不太适合作为视频转码的计算平台。 但是,因为客户特别喜欢Lambda函数的快速扩展、按使用量付费且无需自己管理服务器的特性,多个客户自己找到了使用 Lambda函数来运行并行视频转码系统的创新方法。2017年,Revvel 为Verizon构建了无服务器视频转码系统,可以在不到10分钟的时间内完成一个两小时的视频转码任务[1]。 同样在2017年,斯坦福大学的Sadjad Fouladi设计了一个名为ExCamera的系统,可以对视频进行低延迟编辑、转换和编码。ExCamera通过并行运行5000个Lambda可以在2分36秒内将时长为14分48秒的4k原始视频@20dB编码到VP8编解码器[2]。2020年6月,来自A Cloud Guru的Peter Sbarski使用Lambda函数、Step Functions工作流和EFS文件系统构建了一个无服务器视频转码演示。Peter演示了该系统可以在3分钟内完成1GB MKV 的视频转码 [3]。 这些成功案例证明基于Lambda函数的无服务器视频转码不仅可行,而且很实用。本篇博客让我们来给大家介绍一个简单的无服务器视频转码方案。 基于无服务器视频转码解决方案 无服务器视频转码是一种典型的并行视频转码系统: 将输入视频分成小到可以在15分钟内处理完的视频片段,并行处理每个视频片段,并将处理后的视频片段合并成一个完整的输出视频。它由4个lambda函数、1个Step Functions 工作流和用于输入和输出视频的 S3 存储桶组成。Lambda是无服务器计算平台,Amazon Step Functions工作流负责协调多个视频转码Lambda函数的执行。Amazon S3用于长期存储视频文件。整个解决方案无需用户管理任何EC2实例。 解决方案是这样工作的: 用户通过命令行或者Web控制台将一个视频上传到输入S3桶,S3调用TriggerWorkflow lambda函数。TriggerWorkflow lambda函数启动Step Function工作流以对输入视频文件进行转码。工作流包括3个步骤: 控制器函数分析输入的需要转码的原始视频文件,通过分析原始视频文件生成下一步操作所需要的控制数据,例如输入视频将被分成多少个视频片段,每个视频片段的时长,每个视频片段的开始位置。 Step Functions工作流启动并发Transcoder lambda函数并传入每个视频片段的开始时间和持续时间。每个转码器将从S3读取其分配的输入视频片段并将其转码并将结果保存到S3桶。 当所有Transcoder lambda函数完成后,Step Functions 启动MergeVideo Lambda函数。MergeVideo Lambda函数将从S3中读取所有转码后的视频片段,将它们合并为一个完整的视频,最终上传到S3输出桶。 FFmpeg Layer […]

Read More