50万奖金+官方证书,深圳国际金融科技大赛正式启动,点击报名 了解详情
写点什么

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

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

关注

评论

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

写作的意义

ES_her0

28天写作 3月日更

DataPipeline亮相“2021科技助力湾区数字金融发展峰会”,解锁“实时数据管理”密码

DataPipeline数见科技

互联网信贷风险与大数据 存量管理

张老蔫

28天写作

OpenKruise v0.8.0 版本发布:K8s 社区首个规模化镜像预热能力

阿里巴巴云原生

容器 云原生 k8s 安全 应用服务中间件

叹服!微软自爆虐心405页程序员面试通关手册,Github上已获赞75.6K

Java架构之路

Java 程序员 架构 面试 编程语言

浅谈:国内低代码开发平台能搭建哪些企业管理系统?

优秀

低代码开发平台

读书笔记:我的安全世界观

架构精进之路

安全 #读书 3月日更

融云即时通讯SDK集成 -- 国内厂商推送集成踩坑篇(Android平台)

融云 RongCloud

即时通讯

助我拿到37KOffer,这份阿里巴巴890页Redis笔记可谓功不可没

Java架构之路

Java 程序员 架构 面试 编程语言

并发编程-原子操作CAS

赖猫

c++ 高并发 并发 CAS Linux服务器开发

CodeHub#4 前情预告|H5 容器在技术实践中的应用

蚂蚁集团移动开发平台 mPaaS

html5 移动开发 codehub 教育科技

粉丝福利 | 秒 get 支付宝同款扫码组件

蚂蚁集团移动开发平台 mPaaS

支付宝 二维码 mPaaS 扫码 QRCODE

飞行汽车到底能不能普及?

石云升

思维方式 科技革命 28天写作 3月日更

高质量、高并发的实时通信架构设计与探索

融云 RongCloud

架构 通信

十四五重头戏的工业互联网,为什么需要IP化先行

脑极体

Lex Fridman: How to learn and master a new skill 简评

teoking

融云集成之避坑指南-Android推送篇

融云 RongCloud

音视频

融云即时通讯SDK集成 -- FCM推送集成指南(Android平台)

融云 RongCloud

即时通讯

对标阿里P7Java架构师面试题,已助我拿下字节、蚂蚁、滴滴三家Offer

Java架构之路

Java 程序员 架构 面试 编程语言

【数独问题】经典面试题:解数独 ...

宫水三叶的刷题日记

面试 LeetCode 数据结构与算法

嵌入式技术与人工智能有什么关系?

cdhqyj

人工智能 嵌入式 系统 科技

Linux 高并发服务器 select/poll实现

赖猫

Linux linux编程 linux开发 Linux服务器开发

跳表

一个大红包

3月日更

为啥你一入场就开始跌呢?聊聊长期主义

池建强

长期主义

WebRTC服务器模型

赖猫

音视频 WebRTC

融云 IM SDK 转 AndroidX

融云 RongCloud

IM

Redis和Memcached的区别

赖猫

redis memcached 服务器开发 Linux服务器开发

San CLI 的实现原理

百度Geek说

cli service san command

网易游戏基于 Flink 的流式 ETL 建设

Apache Flink

flink

​Web攻击怎么办?安全防护有方案

安全

优化自动化测试流程,使用 flask 开发一个 toy jenkins工具

和牛

Python 软件测试

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