I am developing a Web Application using sails.js as the back-end. The app will be used by different schools and my first approach is to deploy for each school an instance of the application.
Example:
school1.application.com having an instance of sails app on school.application.com:8080 school2.application.com having an instance of sails app on school.application.com:8081
Each instance have a Bitbucket repository (or branch) and the source is updated using Git.
For maintenance purpose, I was thinking of using a dashboard connected with all the Git repository and manage all push from there.
On the other hand, it is more manageable to have only one instance for all the school but how do I used a separate database for each one ? Using one DB is not too risky when having about 20 schools ?
Using the second approach, if the application is down, all the schools will be affected as opposed to the first one.
I hope I was clear in my explanations.
Thank you for your insights.