I developed a web application for a company. It's a node app -- basically, all it needs is npm install
and npm start
to run. The app does need Puppetteer to run. DB wise, I am using JawsDb which can be located in Australia or the US. Right now it's in the US since the main server is in the US.
I am using Heroku at the moment, using the puppeteer-heroku buildpack. However, right now all of the users are in Australia, whereas the app is hosted in the US. This is proving bad -- especially last night, when the submarine link went down and traffic to the US was going through India -> Europe (it took about 2 minutes to download 1Mb).
I obviously need to deploy this in Australia somehow. Heroku does offer location of servers in Australia, but only for "private spaces" and enterprise customers. I emailed them, basically begging for a local Australian deployment, but I don't like my chances.
On one hand, Heroku really does everything for you -- click on one button, and you have the perfect environment with the buildpack installed. On the other hand, there is a lot more that can go wrong.
What are my options? I am considering these:
Get a Linux server from Amazon and install node on it. I've done it before. But, it would be another server to maintain. Also, I would need to install NginX as a reverse proxy etc. etc. Before I know it, I've entered sysadmin hell. Plus, scaling will be a problem later on.
Use Amazon directly. I heard that Amazon does have a system where you submit a node app "as is" and they provide the right environment for it. However, I can't find it. Hints?
Find a service equivalent to Heroku where I can deploy the software. However, it will need to be something that allows buildpacks so that it can run Puppetteer.
What would you do?