【ArchSummit】如何通过AIOps推动可量化的业务价值增长和效率提升?>>> 了解详情
写点什么

用 Amazon Web Service 实现视频文件转换程序

  • 2007-07-29
  • 本文字数:1267 字

    阅读完需:约 4 分钟

过去InfoQ 已经报道过,Amazon 的基础服务平台在节省成本方面上了一级新台阶,也让某些类型的应用得以利用它的可伸缩的计算和存储平台。最近有一个示例程序向我们演示了如何利用Amazon 的三个关键Web Services 构建一个视频文件转换服务:即简单存储服务(Simple Storage Service,S3)、简单队列服务(Simple Queue Service,SQS)和弹性计算云(Elastic Compute Cloud、EC2)这三个服务。

S3 用于存储要转换的文件:

“Amazon S3 不但是存储要转换的视频文件的最佳场所,也是存储我们的转换服务产生的输出文件的最佳场所。除了快速和可靠,我们还完全不需要担心磁盘空间不足的问题。”

为了实现服务的可伸缩性和高可用性,服务被设计成消息驱动的,其中利用了 SQS 的可靠消息传递。这保证了客户请求按照它们被接收到的顺序执行。

ConvertVideo 服务是用 Python 编写的,其中使用了 Boto 类库,这个库提供了一系列用于集成 Amazon Web Service 的类。为了向 EC2 提供这个服务,必须先创建并注册一个 AMI(Amazon Machine Image)文件,以便按需创建服务的实例。

在客户端,Boto 库提供了一个命令行接口,可以用来上传一个目录下的所有文件到一个 S3“桶”,并为每个文件发送一条 SQS 消息。一旦文件上传完毕,一个服务实例就会被启动来处理队列中的消息。

为了测试可伸缩性,我们现在用一个服务实例转换 50 个视频文件:

  • 平均处理时间:17.820000
  • 消耗时间:896
  • 产出:3.348214 事务 / 分钟

下一步我们用 10 个服务实例处理 500 个视频文件:

  • 平均处理时间:17.794000
  • 消耗时间:928
  • 产出:32.327586 事务 / 分钟

额外增加的服务实例使得产出以可预测的方式线性增长:

果然,平均处理时间和消耗时间几乎一样,而总体产出则大约是上一个例子的 10 倍,这正是我们所期望的结果。

教程还详列了转换 500 个视频文件的成本:

存储 2.5 GBytes $0.38/ 月 传输 2.5 GBytes $0.50 消息 1000 $0.10 计算资源 8 个实例~20 分钟 $0.80 总计: $1.78 转换 500 个视频共花费约 $1.78,也就是说转换每个视频文件的成本低于 $0.004。

AWS 基础设施看起来非常适合于像文件转换这样的计算服务,不过有人对这个缺少数据库的平台的实用性提出了疑问。Dare Obasanjo 在他的博文《 Amazon EC2 + S2 不够好》中对缺少数据库表示惋惜,他正在试验一个 Facebook 应用:

“看起来要实现这个相当简单直接的应用超出了目前 EC2 + S3 的能力。S3 主要适用于文件存储,虽然它为图片和 CSS 样式表的低成本存储提供了一个不错的选择,但在存储关系型数据和结构化数据上它不是一个好的选择。”

当然,Amazon 在大规模服务上有丰富的经验。在《 Google 西雅图可伸缩性会议总结》一文中,Robin Harris 就 Verner Wogels(Amazon 的 CTO)的名言:“数据库是恐龙”发表了评论。也许 Dynamo ——Amazon 将在 SOSP 2007 上演示的可伸缩数据存储——会是 AWS 拼图中缺失的那一块。

查看英文原文: Using Amazon Web Services to Implement a Video File Conversion app

2007-07-29 22:00929
用户头像

发布了 225 篇内容, 共 61.0 次阅读, 收获喜欢 50 次。

关注

评论

发布
暂无评论
发现更多内容

标准化,企业财务共享中心的灵魂内核(下)——领先实践分享

用友BIP

财务共享

云智慧「智能运维6.0产品发布会」与您相约7.24运维日

云智慧AIOps社区

智能运维 #运维 智能运维AIOps 运维智能化

软件测试 | 数据类型的转换

测吧(北京)科技有限公司

测试

阿里云中“间“力量!RocketMQ

指剑

阿里云 RocketMQ 函数计算FC 事件总线Eventbridge

陈毅威“掌舵”SUSE 中国 3.0,谋势数字江湖

Rancher

软件测试 | Java程序的注释

测吧(北京)科技有限公司

测试

如何设计一个低代码平台?安利这些技术组件

高端章鱼哥

低代码 低代码开发 表单设计 JNPF 代码生成器

异步 I/O 探秘 —— 为什么说 Go 为我们提供了同步的网络编程接口 ?

黑客不够黑

golang 异步IO asynchronous i/o netpoller

软件测试 | 在Windows平台安装MySQL

测吧(北京)科技有限公司

测试

语音标注平台是推动人工智能发展的关键工具之一

来自四九城儿

DTT直播回顾:一文带你全面了解openGemini

华为云开源

时序数据库 开源数据库 openGemini

一步一图带你构建 Linux 页表体系 —— 详解虚拟内存如何与物理内存进行映射

bin的技术小屋

内存管理 Linux Kenel Linux内核 页表 Linux内核源码

NetCore中将SQLServer数据库备份为Sql脚本

高端章鱼哥

sql .net core SQL Server

软件测试 | Windows平台下配置MySQL

测吧(北京)科技有限公司

测试

QCA9880+MT7915 mini pcie card chip difference

wifi6-yiyi

wifi5

.net core基于HttpClient实现的网络请求库

互联网工科生

.net core http client

从零开始学极狐GitLab|01 环境搭建

极狐GitLab

Linux DevOps gitlab DevSecOps 环境搭建

MES/MOM国内市场现状趋势与新生态模式参考

华为云开发者联盟

云计算 后端 华为云 华为云开发者联盟 企业号 7 月 PK 榜

与用户“同频”,海尔空调带来行业第三次科技革命

脑极体

绿色 空调

语音数据标注平台让语音识别技术更精准

来自四九城儿

软件测试 | 在Linux平台下安装MySQL

测吧(北京)科技有限公司

测试

全面解析JMeter环境变量配置步骤

Liam

程序员 软件测试 测试 Jmeter 测试工具

Windows10 下 Neo4j1.5.8 安装教程

北桥苏

Python neo4j 图数据库 py2neo 知识问答系统

定了!12支队伍进入HarmonyOS极客马拉松2023决赛

HarmonyOS开发者

HarmonyOS

TS 导入导出那些事

这我可不懂

typescript ts

MT7915 with MT7975|Wi-Fi 6 DBDC miniPCIe network card DR7915 and application

wallyslilly

MT7915

低代码开发前景如何,大家都真的看好低代码开发吗?

这我可不懂

低代码 开发 数字化

语音标注平台是构建智能语音技术的重要基石

来自四九城儿

软件测试 | Java中的关键字

测吧(北京)科技有限公司

测试

使用可视化低代码工具提高开发效率

互联网工科生

低代码 可视化开发 JNPF

NFTScan 与 Purelist 达成战略合作伙伴,双方在 NFT 一级发售方面展开合作

NFT Research

NFT\ 市场

用Amazon Web Service实现视频文件转换程序_SOA_Gavin Terrill_InfoQ精选文章