Cloud 如何处理云上的大量存储(或其他?)

Cloud 如何处理云上的大量存储(或其他?),cloud,storage,cloud-hosting,cloud-storage,Cloud,Storage,Cloud Hosting,Cloud Storage,我已经写了一个应用程序,做视频编码。编码是一个流水线过程:首先获取视频,然后使用ffmpeg对其进行编码,然后将视频分割为多个部分,等等 在此过程中,一个1GB的视频会膨胀成几GB的中间数据。编写此服务是为了让不同的程序(通过RabbitMQ)可以处理管道的每一部分。当然,这个过程不必以这种方式运行,这就引出了我的问题 我正在研究使应用程序“实时”的存储要求。对于云提供商,您需要支付每GB存储和每GB传输的费用。到目前为止还不错 当我将这个1GB视频blob从一个云VM实例传输到另一个云VM实例

我已经写了一个应用程序,做视频编码。编码是一个流水线过程:首先获取视频,然后使用ffmpeg对其进行编码,然后将视频分割为多个部分,等等

在此过程中,一个1GB的视频会膨胀成几GB的中间数据。编写此服务是为了让不同的程序(通过RabbitMQ)可以处理管道的每一部分。当然,这个过程不必以这种方式运行,这就引出了我的问题

我正在研究使应用程序“实时”的存储要求。对于云提供商,您需要支付每GB存储和每GB传输的费用。到目前为止还不错

当我将这个1GB视频blob从一个云VM实例传输到另一个云VM实例,或从VM传输到公共存储服务时,这是否计入我的带宽?(我知道这个答案会随着主人的服务条款而改变。)

让一个VM执行整个过程,然后启动多个实例,这样做更有意义吗?与1个VM只执行管道中的单个任务相反?我问这个问题是为了优化成本(最低的存储成本,最低的虚拟机启动成本。因为编码将成批进行,所以我不太担心快速推出请求)

这个场景有点独特,因为我有大量的二进制数据,不能有效地存储在数据库中。这就提出了一个类似的问题:对于那些有经验的人来说,当你的DB虚拟机将结果发送回你的web应用程序时,你会为中间传输收费吗


我问对问题了吗?除了给主机提供商打电话询问自己的定价之外,还有什么指南值得我阅读吗?

我想说的是,您的场景的独特性让它非常有趣

关于在云中的虚拟机之间传输数据,这取决于提供商和位置例如,在EC2中,亚马逊对同一位置上的Web服务之间的数据传输不收费。因此,您可以将传输成本降到最低,直至首次上传/下载“大量二进制数据”

现在,您的任务可以有效地并行化吗?如果是,请考虑同时启动大量虚拟机,以更快地完成工作。如果时间=金钱,这肯定是有成本效益的,但我不愿意考虑你的情况,因为你提到你不太关心快速推动变革。您仍然可以让主VM处理请求和协调批处理,并启动和关闭将处理部分工作负载的其他VM。只要你的虚拟机还在运行,你就会付费,就像一个实用程序一样


在您的场景中,好的方面是,这类批处理任务对于云计算来说是理想的,而且它们的定价模型非常简单。这些任务是资源密集型的(CPU/RAM),因此云可以提供几乎无限的资源来满足它们的“贪婪”

谢谢你!我的决定是:我的媒体相关任务可以并行化。但是“锁存”的成本——将一个媒体块从一个阶段传输到下一个阶段——是巨大的,因为我将传输很多GB的数据。因此,启动一个实例来完成每个流程(从而避免缓慢的数据传输)比为每个阶段启动多个实例更有意义。谢谢你为我澄清这一点!