2025上半年,最新 AI实践都在这!20+ 应用案例,任听一场议题就值回票价 了解详情
写点什么

用 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:001281
用户头像

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

关注

评论

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

破解数据匮乏现状:纵向联邦学习场景下的逻辑回归(LR)

华为云开发者联盟

联邦学习 数据隐私 数据安全 逻辑回归 纵向联邦学习

高可用是什么意思啊?行云管家支持高可用部署吗?

行云管家

高可用 服务器 IT运维

如何与 Dapr 集成打造 Apache APISIX 网关控制器

API7.ai 技术团队

云原生 网关 dapr Apache APISIX ingress-controller

前端开发规范之代码规范

@零度

大前端

「Oracle」Oracle 数据库基本概念

恒生LIGHT云社区

数据库 oracle

CWE4.6标准中加入 OWASP 2021 TOP10

华为云开发者联盟

漏洞 cwe 软件安全 CWE4.6 OWASP

Kvrocks 发布 Exporter 工具

Kvrocks

redis Prometheus kvrocks

vue3 学习笔记 (三)——vue3 自定义指令

码仔

Vue3 自定义指令

深入理解 volatile 关键字

编程江湖

volatile JAVA开发

【活动预告】Apache ShardingSphere 5.0.0 全新 Database Plus 架构演进

SphereEx

开源社区 ShardingSphere TiDB SphereEx 线下沙龙

云小课|打造企业数据“高内聚,低耦合”--试试GaussDB(DWS)逻辑集群,实现数据物理隔离

华为云开发者联盟

EI企业智能 数据仓库服务GaussDB(DWS) 逻辑集群

本周话题:元宇宙到底是不是未来?

InfoQ写作社区官方

话题讨论 元宇宙

Java 项目中使用 Resilience4j 框架实现异步超时处理

码语者

Java TimeLimiter 超时管理

Linux学习有用吗?《Linux一学就会》教你如何学会Linux

侠盗安全

Linux 运维 云计算架构师 linux电子书

【干货】大数据开发之Spark总结

@零度

大数据 spark

HBase 的协处理器详细剖析

五分钟学大数据

11月日更

加速云原生应用落地,焱融 YRCloudFile 与天翼云完成兼容性认证

焱融科技

云计算 分布式 云原生 高性能 文件存储

龙智携手Atlassian亮相GOPS全球运维大会,助力企业高效开发与运维

龙智—DevSecOps解决方案

运维 运维大会 GOPS大会

Java开发基础之开发环境搭建

@零度

JAVA开发

模块四 千万级学生管理系统的考试试卷存储方案

复杂业务系统高扩展架构设计与实践

鲸品堂

构架

Hadoop 入门笔记—核心组件 YARN

编程江湖

大数据 hadoop

基于CarbonData的电信时空大数据探索

华为云开发者联盟

大数据 网络 电信 CarbonData 无线通信网络

详解阿里开源分布式事务框架Seata

博文视点Broadview

JSRE中的多任务与多线程

编程江湖

html5 大前端

架构实战营模块 9 作业指导

华仔

架构实战营

《致命愿望》:与魔鬼签订契约

爱奇艺技术产品团队

使用kubeadm快速搭建K8s环境

walker12138

微信 ClickHouse 实时数仓的最佳实践

科技热闻

Apache APISIX request_uri 变量控制不当,存在路径穿透风险公告(CVE-2021-43557)

API7.ai 技术团队

Apache 云原生 漏洞修复 Apache APISIX ingress-controller

基于内存通信的gRPC调用

Robert Lu

gRPC Go 语言

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