Hello all. If you have read any of my past How-To posts, you know I take the details of setting up ERPNext very seriously. And now I am starting to work on how to setup and configure ERPNext in the MulitTenant mode. This process may take me s few weeks to get worked out, but whne I do, I will publish another Step-by-Step guide and a list of important things to understand before starting.
In order to get there, I need a better understanding of how a multi-tenant configuration operates differently from, and similarly to, a free-standing single entity system that we are used familiar with now.
So I have some questions so I can get my head wrapped around this:
-
When operating multi-tenant, does MariaDB run multiple iterations of itself or is it a single running instance and all data across all tenants is in a single database set?
-
Can a tenant of a multi-tenant installation expect to get a backup of only their part of the system (as if it were a stand alone environment) or is their backup data lumped into a single backup file with the rest of the tenants? How are backups handled or are those functions disabled (like setting up Dropbox Backup)?
-
In understand that the multi-tenant system must have a central system manager (or service provider) like myself to manage things like backing up data, and root access server side maintenance. How do these activities differ from the same activities on a single entity server?
-
Will the multi-tenant system be able to support users of the same exact name and email address across multiple tenants of the same system? For example, a hair stylist or a tattoo artist that rent chairs (workspace) in multiple private businesses (salons) that may exist on the same multi-tenant server. They are independent operators and work in several locations, but they all use their own email address as their identity.
-
Does multi-tenancy have some sort of firewall between the accounting data of the individual tenants, or would there be any crossover of some sort?
-
When a tenant uses the Data Import tool to download templates that include their data, would it always be only their data, or is there any crossover in this function?
-
In a multi-tenancy system, there would likely be a need to do server maintenance at times. Is there a way to force the logout of all users on all tenant sites to logout so the server can be rebooted without causing data issues? This would seem to be a very necessary element for systems with 4 or 5 sites running.
-
Are there any helpful guidelines for setting a multi-tenant system up such as requires swap space per tenant, additional RAM memory overhead per tenant, operating system settings that need to be altered to support the configuration, etc.?
-
Does each tenant site have a separate Administrator User, or is there only one for the system? If there is only one for the system, which site would the admin use to login?
-
If a tenant grows their business to the point they are putting an excessive burden on the server for the other tenants, how could they be moved to their own stand alone version of ERPNext with their own server? Would their data be segregated enough to pull it out and easily set up their new server?
-
There is a function in the stand alone version of ERPNext that allows you to discard all transactions ever made in the system to essentially wipe the slate clean after a testing period and start actually running your business with real data. Is this function available to a tenant as well? Or would it wind up wiping out all transactions across all tenants?
-
Would custom fields, or custom apps be per tenant or would they have to apply across all tenants?
-
If multiple tenants the same server wanted to also setup their own online shops to sell their products online, would they each be able to select their own integrations or would they conflict with each other? Would it even be possible to setup multiple online stores (one for each tenant)?
-
Would tenants be able to use the standard integrations in the Integration section of Setup to add things like Strip, PayPal, GSuite, OAuth and so on, or would they possibly interfere with each other (from a tenant perspective)?
-
Would tenants be able to setup different email settings for themselves or would all tenants on the same server have to be on the same email system?
-
When setting up a single server on a VPS service provider, would a multi-tenant ERPNext installation need a separate IP address added for each tenant site, or could it all be run from one IP address and let the DNS records of the URL providers just point to the right place? Can anyone point me to documentation on how to set this up?
-
In the event of trouble in paradise for a single tenant, can bench be restarted for a single site without causing issues with other sites on the same multi-tenant setup? What are the limitations of dealing with single site errors when it is part of a multi-tenant server?
I am sure there will be other questions after I find answers to the ones I have listed above. Stay tuned or bookmark this post if you also want to know about this topic.
I hope to be able to help others figure out this process as I learn myself. I think the multi-tenant configuration has the potential to introduce many new businesses to the power of ERPNext. Just imagine if you used this model to maybe give one small business a site to get started for the first months while the other 4 older tenants fund the rest of the server.
Anyway, I see potential to use this to expand our user base. If tenants of a multi-tenant server grow enough to need their own single entity server, then we have expanded our world by another successful business story. I find that both exciting and challenging.
So I need your help understanding how this configuration works and how to get it up and running. I promise to then publish the Step-by-Step thread for this like I did here:
Thank you in advance to anyone with knowledge around this topic that helps me to help others.
BKM