У меня есть приложение, использующее веб-драйвер Selenium.
Я хотел бы сделать это веб-приложением и рассмотреть следующие службы облачных вычислений:
- Google App Engine (GAE)
- Google Compute Engine (GCE)
- Эластичные вычисления Amazon (EC2)
Вариант 1:
GAE был бы моим первым выбором, потому что это бесплатно.
Однако я не уверен, что смогу запустить на нем веб-драйвер Selenium (т. е. открыть удаленный браузер).
Согласно https://stackoverflow.com/a/19940165/1382251 я не могу, потому что он не поддерживает создание потоков и не поддерживает нативный код (а браузерам нужно и то, и другое).
Однако у этого ответа нет голосов, поэтому я хотел бы утверждать, что:
- Что касается проблемы с потоками - нельзя ли открыть процесс (Firefox) и получить к нему доступ из другого процесса (моего приложения), как я делаю при локальном запуске?
- Что касается проблемы с собственным кодом - если я использую исходный код веб-драйвера Selenium вместо файла JAR, не решит ли это эту проблему?
Варианты 2 и 3:
- В настоящее время мне не требуются дополнительные вычислительные мощности или объем памяти. Моему приложению также не нужно ничего хранить на диске. Итак, с точки зрения оптимизации только цены за час, что лучше — GCE или EC2?
- В GAE я знаю, что мой экземпляр сервера «живой» только тогда, когда получен HTTP-запрос, и только в течение ограниченного периода времени после этого. Поэтому я предполагаю, что GAE оборачивает его какой-то общей службой, которая прослушивает запросы, прежде чем передавать их самому приложению. Относится ли цена за час на GCE и EC2 к «живому времени» моего сервера или она фиксируется в час с момента загрузки?