Multi-tenant
Posted:
Tue Oct 02, 2012 12:10 pm
by tuanle55
I understand this topic has come up a few times and its clear that it is not supported and through various threads. However I do see multiple mention about setting up a multi-server where it uses a shared database server (separate database for each customer) / webserver (different folder) but separate telephony engine for each customer. For smaller customers, they can be shared on the same telephony engine. I don't see any clear instructions how to do this. I am looking to set it up so we can have multiple customers share some hardware resources and scale out as we need to. We are thinking for customers that'll be sharing telephony engine, we can modify the www/php codes to fix certain value so they cannot over-use the system unfairly.
Re: Multi-tenant
Posted:
Fri Oct 26, 2012 5:35 pm
by williamconley
The reason there is no online instruction set is that it's not "supported" and anyone who can do it ... is fairly adept at web / mysql / linux and "just does it". Apparently no one has found it necessary to post back, primarily because you'd still need to be adept at web/mysql/linux to do it anyway and if you can't figure it out ... you aren't. LOL
Besides which a solution that uses a sep dialer for each client is generally just the same as just installing a complete machine for each client. So why try to share any of the resources? Simpler and cleaner to just have a sep box for each client.
For instance: If you have a "central database/web server" shared among all clients and a "dialer" for each client (to be sure they do not infect one another ... by calling each other's meeting rooms for instance and "monitoring" the conversations of their competition!) ... you end up with (for, say 4 clients):
1 - DB/Web server
4 - Dialers
Total: 5 servers.
But you could have done that with FOUR servers if you had just built a machine for each of them. No hassles, standard installation on each. And if one wanted an upgrade ... it would have Zero effect on the others. If one "overused" their system or pissed off someone in China and got hacked or DOS attacked ... once again, no effect on the other users.
So maybe it's just because there's not a lot of benefit to be had from trying to share the resources.
I will say, however, that if you want to do this I could see sharing a powerful MySQL server to allow the inidividual customer's web/dialers to be "Less Powerful". This would justify the expensive and yet leave each machine "disposable" with little likelihood of infection across the board. But you'll need to use a different database for each "client box" and be sure to limit access to each client database to the appropriate IP address of each client box for security reasons. And if you don't put the web server on it, your installation is almost identical to a stock install (just change the db ip server and db name in /etc/astguiclient.conf on each box and then work out credentials in the master mysql server)
Re: Multi-tenant
Posted:
Fri Oct 26, 2012 7:45 pm
by gardo
Re: Multi-tenant
Posted:
Fri Oct 26, 2012 8:30 pm
by williamconley
This is true, Gardo has posted links to his zips for his "cloud" multi-tenant solution. I haven't seen anyone who claims to have duplicated it yet, although there were some attempts. I'm not sure the installation instructions are entirely clear yet.
Hopefully someone will decipher soon and post a video or something (maybe just a walkthrough ...).
Maybe tuanle55!