Выберите службу облачных вычислений для веб-приложения, использующего веб-драйвер Selenium

У меня есть приложение, использующее веб-драйвер Selenium.

Я хотел бы сделать это веб-приложением и рассмотреть следующие службы облачных вычислений:

  1. Google App Engine (GAE)
  2. Google Compute Engine (GCE)
  3. Эластичные вычисления Amazon (EC2)

Вариант 1:

GAE был бы моим первым выбором, потому что это бесплатно.

Однако я не уверен, что смогу запустить на нем веб-драйвер Selenium (т. е. открыть удаленный браузер).

Согласно https://stackoverflow.com/a/19940165/1382251 я не могу, потому что он не поддерживает создание потоков и не поддерживает нативный код (а браузерам нужно и то, и другое).

Однако у этого ответа нет голосов, поэтому я хотел бы утверждать, что:

  • Что касается проблемы с потоками - нельзя ли открыть процесс (Firefox) и получить к нему доступ из другого процесса (моего приложения), как я делаю при локальном запуске?
  • Что касается проблемы с собственным кодом - если я использую исходный код веб-драйвера Selenium вместо файла JAR, не решит ли это эту проблему?

Варианты 2 и 3:

  • В настоящее время мне не требуются дополнительные вычислительные мощности или объем памяти. Моему приложению также не нужно ничего хранить на диске. Итак, с точки зрения оптимизации только цены за час, что лучше — GCE или EC2?
  • В GAE я знаю, что мой экземпляр сервера «живой» только тогда, когда получен HTTP-запрос, и только в течение ограниченного периода времени после этого. Поэтому я предполагаю, что GAE оборачивает его какой-то общей службой, которая прослушивает запросы, прежде чем передавать их самому приложению. Относится ли цена за час на GCE и EC2 к «живому времени» моего сервера или она фиксируется в час с момента загрузки?

person barak manos    schedule 16.02.2014    source источник


Ответы (1)


Не могу ответить на все ваши вопросы, так как я не знаком с облачными предложениями Google, но что касается EC2, вы платите за каждый час (или часть часа), в течение которого вы оставляете инстанс работающим, независимо от того, работает он или нет. он делает что угодно — думайте о ec2 как о сервере, сидящем на столе рядом с вами; каждый раз, когда вы включаете его, вы получаете счет за час, пока не выключите его. В зависимости от того, как вы его выключите, вы также можете заплатить за хранение неработающего сервера (т. е. если вы сделаете то же самое, что «выключить его», вы заплатите за хранение, если вы сделаете то же самое, что выбросите его, когда вы выключите его, вам не нужно будет платить за хранение — не идеальная аналогия, но достаточно близкая.

Также имейте в виду, что стоимость «хранения» неработающего сервера составляет всего несколько копеек, поэтому в большинстве случаев это не должно быть проблемой — большая часть ваших затрат на ec2 будет связана с почасовыми расходами, которые могут варьироваться от менее копейки в час до нескольких долларов в час для очень мощной машины.

По возможности следует приобретать зарезервированные экземпляры, которые экономят огромную сумму в час, если вы в состоянии взять на себя обязательство на 1–3 года.

person E.J. Brennan    schedule 16.02.2014
comment
Спасибо за информацию :) - person barak manos; 16.02.2014