【问题标题】:Choose a cloud-computing service for a web application that uses Selenium web-driver [closed]为使用 Selenium web-driver 的 web 应用程序选择云计算服务 [关闭]
【发布时间】:2014-02-16 23:48:22
【问题描述】:

我有一个使用 Selenium 网络驱动程序的应用程序。

我想让它成为一个网络应用程序,并考虑以下云计算服务:

  1. 谷歌应用引擎 (GAE)
  2. 谷歌计算引擎 (GCE)
  3. 亚马逊弹性计算 (EC2)

选项 1:

GAE 是我的首选,因为它是免费的。

但是,我不太确定是否可以在其上运行 Selenium web-driver(即打开远程浏览器)。

根据https://stackoverflow.com/a/19940165/1382251我不能,因为它不支持创建线程,也不支持原生代码(浏览器需要两者)。

这个答案没有任何赞成票,所以我想断言:

  • 关于线程问题 - 是否不能像在本地运行时那样打开一个进程 (Firefox) 并从另一个进程(我的应用程序)访问它?
  • 关于本机代码问题 - 如果我使用 Selenium web-driver 源代码而不是 JAR 文件,是否不能解决此问题?

选项 2 和 3:

  • 目前,我不需要任何额外的计算能力或内存空间。我的应用程序也不需要在磁盘上存储任何东西。那么就仅优化每小时价格而言,哪个更好 - GCE 还是 EC2?
  • 在 GAE 中,我知道我的服务器实例仅在收到 HTTP 请求时才“活动”,并且仅在之后的有限时间内处于“活动状态”。所以我猜GAE用某种通用服务来包装它,该服务在将请求传递给应用程序本身之前监听请求。 GCE 和 EC2 上的每小时价格是指我的服务器的“实时时间”,还是从我上传的那一刻起每小时固定?

【问题讨论】:

    标签: java google-app-engine amazon-ec2 selenium-webdriver google-compute-engine


    【解决方案1】:

    无法回答您的所有问题,因为我不熟悉 Google 的云产品,但就 EC2 而言,您需要为让实例运行的每一小时(或部分小时)按整小时付费 -无论它是否在做任何事情——将 ec2 想象成坐在你旁边桌子上的服务器;每次打开电源时,您都会按小时计费,直到您关闭电源为止。根据您关闭它的方式,您还可以为未运行的服务器支付存储费(即,如果您执行相当于“关闭它”的操作,您将支付存储费,如果您在你把它关掉,你就不需要支付那些存储费——这不是一个完美的类比,但足够接近了。

    另外请记住,“存储”非运行服务器的成本仅为几美分,因此在大多数情况下应该不是问题 - 您的大部分 ec2 成本将与每小时的运行成本有关,即对于一台非常强大的机器来说,范围从每小时不到一美分到几美元不等。

    如果您能够承诺 1-3 年的期限,您应该尽可能购买预留实例,这样每小时可以为您节省大量费用。

    【讨论】:

    • 感谢您提供的信息:)
    猜你喜欢
    • 1970-01-01
    • 2011-02-11
    • 1970-01-01
    • 1970-01-01
    • 2020-10-08
    • 1970-01-01
    • 1970-01-01
    • 2011-11-29
    • 2015-08-27
    相关资源
    最近更新 更多