是否有任何提供商每天只收取2小时的计算费用?从我阅读各种文献中我可以看出,只要代码部署到实例,Azure,EC2和GAE都会收费,无论它是否真的在做任何事情。我想如果我们能够自动按计划开启一个实例,并允许它在完成后自行终止,这将会有效......但我找不到任何允许这样做的东西。
我们有一个如下所示的程序:
我们希望以这样的方式运行它,它不需要任何人工干预。因此,每天,我们需要最多2小时的CPU时间。我们很乐意在某个地方举办这项会议,以最大限度地提高每天22小时闲置的效率(并相应收费)。
有没有人提供这样的服务?
答案 0 :(得分:4)
Windows Azure使用基于REST的API(http://msdn.microsoft.com/en-us/library/ee460799.aspx)公开应用程序(服务)的管理。您可以使用此REST API编写自己的代码来管理部署。有商业(Cerebrata Azure Management Cmdlets)和免费(Windows Azure Platform PowerShell Cmdlets)工具可用,可以帮助您自动化部署任务。
答案 1 :(得分:3)
App Engine拥有Cron Service,可以在一天中的特定时间发出请求。然后,您可以使用Task Queues来实际执行工作。
唯一的缺点是任务必须在10分钟内完成,这意味着您必须将处理分解成不连续的块,每个块都可以在不到10分钟的时间内完成。
与Amazon等人不同,App Engine不会根据时间收费,它会根据实际使用情况收费(例如您正在处理的每秒查询数,使用的字节数等)。
答案 2 :(得分:3)
我想说Google App Engine的Backends听起来就像你需要的那样:
动态后端在收到请求时就会存在,并且 闲置时被拒绝;他们非常适合工作 间歇性或由用户活动驱动。有关的更多信息 驻留和动态后端之间的差异,请参阅类型 后端以及启动和关闭的讨论。
后端不会自动缩放以响应请求量。 而是指定每个后端的实例数,以及 通过执行更新或配置命令更改此数字。该 实例数通常与a的大小成比例 数据集或您想要承担的处理能力程度 一个问题。成本也可能是一个考虑因素。
在你的情况下,你可以在早上6点启动一个后端,运行一个长时间运行的计算(没有任何队列的10分钟时间限制),并使用URLFetch库在任何需要的地方发送结果它。这里的缺点是(IIRC)如果你没有达到免费配额,那么你将为该应用支付每月9美元的费用(尽管你可以使用它来获得一个漂亮而健壮的后端)。
或者,您可以使用Amazon EC2并使用您需要的所有代码自定义图像,将其存储在S3中,并设置cron作业以在早上6点启动它的实例,运行计算并将其删除一次它已经完成,你有必要的结果。在这里,您只需支付其运行的两个小时的费用以及在S3中存储图像所需的额外费用。
答案 3 :(得分:2)
Amazon EC2可以做你想要的。
亚马逊的Auto Scaling支持安排您希望在任何特定时间点运行的实例数。您可以使用它在您想要的时间启动单个实例。您可以配置AMI / run参数,以便它在启动时运行批处理作业。
您可能不需要安排停止时间。您的批处理作业可以在完成任务时关闭实例,关闭费用。
更新:我写了一篇文章,描述了实现这种方法的步骤:
使用Auto Scaling在循环计划上运行EC2实例
http://alestic.com/2011/11/ec2-schedule-instance
感谢您的想法: - )
答案 4 :(得分:1)
从我的角度来看,Jelastic是您满足规定要求所必需的。
首先,您可以随时停止环境,并且不会使用任何动态资源(RAM,CPU)。因此,您将支付实际使用的资源。
或者,有一种方法可以直接使用您选择的主机提供商来管理此请求。
Jelastic计划开放API,允许用户管理他们的环境(停止,开始)循环,这些循环可以托管在您的代码上,也可以从浏览器实现。它将在最近的将来实现,所以不要失去尝试它的机会。
答案 5 :(得分:0)
实际上,只要您通过API自动创建和删除实例,每个具有每小时结算周期的提供商就可以实现这一目标。您可以在IaaS comparison engine中找到这些内容,如果在高级模式下,您可以在“时间开启”字段中指定每天2小时。
另一个指针是Selectel - 一个俄罗斯提供商,按照资源的实际负载收费。因此,如果你有50%的利用率,你可以支付一半的CPU价格。如果它变为0,不知道你是否根本不付钱。类似于RAM。