Hello,
I have just come upon Apostrophe this week, and wow I am blown away. What an undertaking you all have done to provide an outstanding open source CMS.
The first question I have, just as a friendly curiosity, is why? It’s such an excellent product, most folks don’t go to such an effort for a freely available open source product.
And second: I am considering using Apostrophe inside of a product where I will deploy many instances of the CMS (one per customer of mine). Will probably be hosting on mLab, and in discussions with them on this they relatively strenuously advise not doing one db per customer, as this would create scaling issues after several dozen databases.
But given the general CMS architecture paradigm of one database = one site, and everything that cascades down from that (content table design, user access, etc), it seems to be that it’s best to stick with that route.
Very curious for your input on this architecture design. My general thought is:
- Node app running my software.
- New customer signs up, triggers and event to deploy a new instance of a docker image
- The docker image has Apostrophe running and upon its first query to a database with its site name, it creates the database (as most Mongo drivers do), and that customer is away.
Does this sound about right?
Do you agree with mLab that things would best be accomplished instead with fewer databases / one database?
Thanks for any insight you can provide.
-Paul