I am currently creating a mobile application which will run on iOS and Android. Apart from that, there will be a web platform to log in to and handle some stuff too - think about it as a dashboard.
It will be a social network where users can post messages, reply to and like messages of the people they follow, communicate with each other, etc. The web platform will be a place to do the same, but with a few more options we can't implement in the mobile app.
The development of our mobile application is nearly finished and we have been running this entirely on Firebase to devote our time to front-end development. Currently, we are looking into creating our own backend with Node.js and MySQL, but we will probably add MongoDB in the near future as well (for example, to handle our chat database).
Now we are developing the REST API to support the backend on a local machine, nothing too fancy. We are now however also looking on what we will need to run this on. A couple of options we came across are:
- A regular VPS
- Cloud Hosting services like Amazon, Firebase, ...
- Special backend services like back4app
- Hosting solutions like DigitalOcean
I am merely wondering what would be the best solution to go with as we plan to deploy and then scale - so adding extra resources to satisfy the needs at a certain point in time is an absolute priority.
Currently, the choice for DigitalOcean seems perfect, all of their products & prices can be found on their website. So basically what I would like to know is 1. any downsides to using a product/solution like DigitalOcean and 2. what we would need to start (e.g. we are now running on Firebase - what kind of server, what memory, what CPU capacity should we consider to serve at least what we can save with the Blaze plan of Firebase?
I hope this is the right place to ask a question like this. Thank you for any help!
Full disclosure, but probably obvious from my question: I have little experience with setting up servers etc. I managed to develop the frontend application, will now look into creating the backend but need some help with the requirements for the server.