使用EC2实例进行屏幕截图


Using EC2 instances for screenshots?

我想知道像这样的应用程序是如何为不同的浏览器生成屏幕截图的。他们是否使用EC2实例来运行各种浏览器并生成和存储(AmazonS3?)屏幕截图?

他们是否使用EC2实例来运行各种浏览器并生成和商店(亚马逊S3?)截图?

这显然正是他们正在做的事情——据我所知,这并没有得到官方的详细记录,但人们可以从以下信息中推断出这一点。

1) 他们的功能之旅->电子邮件测试答案它是如何工作的如下:

您通过上传HTML向我们发送电子邮件设计的副本或者给我们发一封测试电子邮件。几分钟后你就会看到所有不同电子邮件呈现的电子邮件截图客户。做出了改变?单击一下即可开始重新测试。

这正是人们所期望的,即他们显然正在运行一个测试工具,在通过队列安排新的测试后,该工具可以锻炼所有支持的电子邮件客户端(对于浏览器也是如此)。这需要对所有这些客户进行相当程度的自动化;虽然现在有些人可能会提供专门的自动化API/组件,以允许在不运行完整应用程序的情况下进行渲染,但我预计这将是一个相当复杂的过程,可能需要外部UI自动化,而外部UI自动化过去是脆弱和缓慢的(尽管近年来操作系统对此的支持有所改进)。

2) Litmus幸运地参与了2010年2月的AWS案例研究(2011年4月更新),该研究证实了他们的基础设施(同时)在AWS(特别是Amazon EC2和Amazon S3)上运行,并提供了额外的见解:

最初,Litmus由内部硬件和专用服务器。公司发展迅速,很快就发展壮大了他们的硬件。[…]Paul Farnell告诉我们这个过程,"我们寻找满足我们可扩展性和成本需求的解决方案。我们选择了亚马逊S3因为当我们第一次已启动。对于亚马逊EC2,我们最初试用了亚马逊的竞争对手,但发现它非常不可靠[强调矿]

此外(截至2011年4月)Litmus使用AmazonS3存储超过6TB的客户图像,并使用AmazonEC2运行客户测试:

当我们刚开始的时候,我们将图像存储在自己的硬件上,但随着我们的成长,我们意识到这很快就会成为头痛通过使用S3,我们能够专注于改进我们的产品,不用担心扩大存储规模。我们还使用亚马逊EC2为我们的客户运行自动化电子邮件测试;我们目前有400EC2服务器。通过使用EC2,我们可以在网格中添加更多的服务器在一天中繁忙的时候,在安静的时候把它们移走周期。

最后,他们使用Spot Instances[来]显著节省EC2成本:

具体来说,我们有一个基于队列的体系结构,其中工作节点将从队列中提取作业,然后对其进行处理。作为工作节点在Spot出价被接受后出现,他们可以从队列[强调矿]