Я разработал веб-приложение для компании. Это приложение узла - все, что ему нужно, это npm install
и npm start
бежать. Приложению действительно нужен Puppetteer для запуска. Что касается БД, я использую JawsDb, который может находиться в Австралии или США. Сейчас он находится в США, так как главный сервер находится в США.
Сейчас я использую Heroku, используя buildpack кукольник-героку. Однако прямо сейчас все пользователей находятся в Австралии, а приложение размещено в США. Это оказывается плохим - особенно прошлой ночью, когда подводное соединение было отключено, и трафик в США шел через Индию -> Европу (на загрузку 1 Мб ушло около 2 минут).
Очевидно, мне нужно как-то развернуть это в Австралии. Heroku предлагает размещение серверов в Австралии, но только для «частных пространств» и корпоративных клиентов. Я написал им по электронной почте, в основном умоляя о развертывании в Австралии, но мне не нравятся мои шансы.
С одной стороны, Heroku действительно все делает за вас - нажмите одну кнопку, и у вас будет идеальная среда с установленным пакетом сборки. С другой стороны, есть еще много вещей, которые могут пойти не так.
Какие у меня варианты? Я рассматриваю это:
Получите Linux-сервер от Amazon и установите на нем узел. Я делал это раньше. Но это был бы другой сервер, который нужно обслуживать. Кроме того, мне нужно будет установить NginX в качестве обратного прокси-сервера и т.д. Кроме того, масштабирование станет проблемой позже.
Используйте Amazon напрямую. Я слышал, что у Amazon есть система, в которой вы отправляете приложение узла «как есть», и они предоставляют для него подходящую среду. Однако я не могу его найти. Подсказки?
Найдите службу, эквивалентную Heroku, где я могу развернуть программное обеспечение. Тем не менее, это должно быть что-то, что позволяет создавать пакеты, чтобы он мог запускать Puppetteer.
Что бы вы сделали?
Хотя я не являюсь экспертом в размещении приложений Node на AWS, похоже, что продукт, который вы ищете, - это Elastic Beanstalk, он предоставляет необходимые экземпляры для AWS и автоматизирует большую часть утомительной работы администратора. Однако вам, вероятно, потребуется внести некоторые изменения в свое приложение, чтобы оно заработало.
https://aws.amazon.com/getting-started/hands-on/deploy-nodejs-web-app/