Cluster installation logic

All installation and configuration problems and questions

Moderators: gerski, enjay, williamconley, Op3r, Staydog, gardo, mflorell, MJCoate, mcargile, Kumba, Michael_N

Cluster installation logic

Postby muratyilmaz.dev » Mon Mar 02, 2020 2:41 am

Hello.
I am currently actively working with a system other than vicidial.

1. I have accounts from SIP Provider.
2. I'm using MagnusBilling as softswitch on a different server. I'm recording my Provider and Trunk. Then, I open a User account for each of my customers. I'm loading credit. Then I open separate SIP accounts for the agents of the customers. (The number of agents is very different according to the customers. 5, 25.50, 100 ...)

I installed one Vicidial. I created an account. I created a Test Carrier and made a successful call.

I'm going to build a new structure now and use Vicidial for all customers.

Scenario 1 (ViciDial Express Installation)
I. Customer 1
----a. 1 Virtual machine -> 1 Vicidial -> 10 Agents
ii. Customer 2
----a. 1 Virtual machine -> 1 Vicidial -> 15 Agents
iii. Customer 3
----a. 1 Virtual machine -> 1 Vicidial -> 8 Agents

Scenario 2 (ViciDial Cluster Installation)
I. Databaser Server 1 -> Virtual machine
----a. Customer 1 Vicidial DB
----b. Customer 2 Vicidial DB
----c. Customer 3 Vicidial DB
ii. Phone Server-> Virtual machine
----a. Customer 1 Asterisk
----b. Customer 2 Asterisk
----c. Customer 3 Asterisk
iii. Web Server-> Virtual machine
----a. Customer 1 Vicidial
----b. Customer 2 Vicidial
----c. Customer 3 Vicidial
iv. Archive server -> Virtual machine
----a. Customer 1 Archive
----b. Customer 2 Archive
----c. Customer 3 Archive

Now, I have two questions.

1. Do you think this is the right process?
2. Do I need to set up a separate vicidial for each customer? I plan to do this. I have dedicated servers. I will divide them into virtual machines. (Ex: 20 Virtual Machine). If this happens, 20 Centos, 20 asterisk :)) Tracking, updates, maintenance will be a little difficult. Or is the cluster installation correct as above?

Thanks in advance.
Murat Yılmaz / Software Developer - agola.net - Turkey
ViciBox v.9.0.3 | Version: 2.14b0.5 | SVN Version: 3346 | DB Schema Version: 1615 | Build: 200630-2117 | Cloud-Cluster
muratyilmaz.dev
 
Posts: 17
Joined: Sun Feb 16, 2020 4:24 am
Location: Turkey

Re: Cluster installation logic

Postby williamconley » Mon Mar 02, 2020 10:31 am

Virtual Vicidial will fail. You'll need physical servers to maintain the hi-res perl timing for more than one or two agents. Test to verify with full power, of course, but to date Virtual Vicidial ONLY works when it's wasteful.

IE: You pretty much need to use the entire virtual server for each vicidial, but end up with less agents than you would if you skipped the virtual and went straight hardware.

To be clear: Vicidial is NOT a website. Hi-Res perl timing that uses every tick and communicates with the DB on a nanosecond level to route calls. So when you put your 2nd client on the system and start sharing the virtual cores ... crash and burn. 8-)
Vicidial Installation and Repair, plus Hosting and Colocation
Newest Product: Vicidial Agent Only Beep - Beta
http://www.PoundTeam.com # 352-269-0000 # +44(203) 769-2294
williamconley
 
Posts: 20258
Joined: Wed Oct 31, 2007 4:17 pm
Location: Davenport, FL (By Disney!)

Re: Cluster installation logic

Postby muratyilmaz.dev » Mon Mar 02, 2020 3:07 pm

It's not VDS or VPS I'm saying. I'm talking about Virtual Machines with resource sharing on Dedicated Server (ESXI). If you say virtual machine is insufficient, of course I will plan to use dedicated server.
I carefully read the Installation Guide. I also read the server requirements. But I am not able to get the answer to my question above :) I ask to understand. Are both of the above scenarios correct? What kind of structure do you propose for more than one customer?

Thank you.
Murat Yılmaz / Software Developer - agola.net - Turkey
ViciBox v.9.0.3 | Version: 2.14b0.5 | SVN Version: 3346 | DB Schema Version: 1615 | Build: 200630-2117 | Cloud-Cluster
muratyilmaz.dev
 
Posts: 17
Joined: Sun Feb 16, 2020 4:24 am
Location: Turkey

Re: Cluster installation logic

Postby williamconley » Mon Mar 02, 2020 5:28 pm

Dedicated Server (ESXI) is (by definition) a VPS.

For compartmentalization of clients to avoid collision or interaction between them in a Multi-Manager scenario you have to configure the system and decide for yourself if they each require their own server/cluster/VPS, etc. Nobody else knows how you'll be using the system. Perhaps a more clear answer: Vicidial is not presently capable of hiding the existence of one manager from another manager in the Vicidial Admin login completely. So whether the present options meet your needs can only be answered by ... you.

Build your first one and see if you can hide one manager account and associated agents from another manager account and associated agents to YOUR satisfaction or not.
Vicidial Installation and Repair, plus Hosting and Colocation
Newest Product: Vicidial Agent Only Beep - Beta
http://www.PoundTeam.com # 352-269-0000 # +44(203) 769-2294
williamconley
 
Posts: 20258
Joined: Wed Oct 31, 2007 4:17 pm
Location: Davenport, FL (By Disney!)

Re: Cluster installation logic

Postby muratyilmaz.dev » Mon Mar 02, 2020 5:35 pm

VPS, VDS, VM different objects.All of them are virtualization technologies, but VDS and VM are not completely shared. We can fully optimize the resources.
I will listen to your advice. I will focus on Dedicated. But I have not learned your advice about the scenarios.
Murat Yılmaz / Software Developer - agola.net - Turkey
ViciBox v.9.0.3 | Version: 2.14b0.5 | SVN Version: 3346 | DB Schema Version: 1615 | Build: 200630-2117 | Cloud-Cluster
muratyilmaz.dev
 
Posts: 17
Joined: Sun Feb 16, 2020 4:24 am
Location: Turkey

Re: Cluster installation logic

Postby williamconley » Mon Mar 02, 2020 9:33 pm

VPS and VM are not technical "standards-based" terms. One is a virtual private server, which is defined as a virtual server that is not shared with anyone else, the other is (literally) Virtual Machine. Those are the same thing if you don't have anyone else sharing the VM.

Regardless of their descriptions or definitions or "how much" resource sharing is going on, the reality on the ground is that the ONLY useful/meaningful/helpful use of Virtualization technology for Vicidial is for small servers that would ordinarily only be utilized at 25% or less being able to share processes on a system. In that situation we (and several others) have been able to share several machines on a single server successfully. But we limit it to 2-3 agents per VPS.

But when you are talking more than 15 agents on each server ... you need a full server for each client and Virtual WILL fail.

I'm not really trying to discourage you from trying it. I'd love to hear your results. If you make it work ... post your method! Lots of people will be very happy to see them. But it only counts if you manage to get your investment to work monetarily. If you purchase equipment capable of running 200 agents (if a hardware-based Vicidial cluster) but you can only get 50 agents running ... that's ONLY useful for those who have 2-5 agents per client and just want to avoid purchasing a server for each room (15 servers for 15 rooms with a total of 45 agents is not cost-effective, but 8 powerful servers that COULD run 200 agents is much better, cost-wise)
Vicidial Installation and Repair, plus Hosting and Colocation
Newest Product: Vicidial Agent Only Beep - Beta
http://www.PoundTeam.com # 352-269-0000 # +44(203) 769-2294
williamconley
 
Posts: 20258
Joined: Wed Oct 31, 2007 4:17 pm
Location: Davenport, FL (By Disney!)

Re: Cluster installation logic

Postby muratyilmaz.dev » Tue Mar 03, 2020 6:19 am

Thank you. I will plan a dedicated server.
But there is still a point I cannot fully solve.

Customer 1 -> 20 agents
Customer 2 -> 10 agents
Customer 3 -> 30 agents
...

Does it make sense to install a cluster in such a situation?
Is the cluster working logic as follows?

I. Databaser Server 1 -> Virtual machine
---- a. Customer 1 Vicidial DB
---- b. Customer 2 Vicidial DB
---- c. Customer 3 Vicidial DB
ii. Phone Server-> Virtual machine
---- a. Customer 1 Asterisk
---- b. Customer 2 Asterisk
---- c. Customer 3 Asterisk
iii. Web Server-> Virtual machine
---- a. Customer 1 Vicidial
---- b. Customer 2 Vicidial
---- c. Customer 3 Vicidial
iv. Archive server -> Virtual machine
---- a. Customer 1 Archive
---- b. Customer 2 Archive
---- c. Customer 3 Archive

Or;
Is there 1 asterisk on the phone server?
Is it 1 vicidial on the web server? Are all customers logging in from the same screen?

I couldn't solve this logic.
Murat Yılmaz / Software Developer - agola.net - Turkey
ViciBox v.9.0.3 | Version: 2.14b0.5 | SVN Version: 3346 | DB Schema Version: 1615 | Build: 200630-2117 | Cloud-Cluster
muratyilmaz.dev
 
Posts: 17
Joined: Sun Feb 16, 2020 4:24 am
Location: Turkey

Re: Cluster installation logic

Postby williamconley » Tue Mar 03, 2020 9:40 am

Moving this thread to the Support board where it belongs (this is not a "general discussion").

Each of those clients should just have their own independent Vicidial server. Then there's zero chance of the administrators or agents interacting between clilents. Three servers, one for each client, and you're done.

Note that Any vicidial server can have as many roles as the hardware can support. With 25 agents or less, this often means a single server can handle Everything.

After you've got your first server online with your first client in it (or perhaps all three servers with all three clients), you can experiment with adding a second client to a server and see if separation is possible to your satisfaction.

As far as which roles belong in which servers, you will find that:
* Archive can be on any FTP/HTTP server in or out of the Vicidial cluster. It has no code. It's just an FTP/HTTP server for storage and retrieval. Vicidial does not even need to be installed on it.
* Replication (For reporting, if reporting overloads the DB) can be on any server as well. It merely requires MySQL and permission for the other servers in the cluster to request data.
* DB can be on any server in or out of the cluster as well. Technically. We've had many clients whose "single-server-setup" was overloading, and all they did is move the DB to a different server to resolve the overload. No code needs to run on the DB server so it doesn't NEED to be a Vicidial server. Just mySQL.
* Admin Web and Agent Web can be on the same server or (in major systems) can be separate
* Carrier Dialer / Agent Phone Registration can be on the same server or (in major systems) can be separate.

While Vicidial doesn't need to be installed on a DB/Replication/FTP server, for those who have been using Vicidial for a long time ... installing the servers with these roles using the Vciibox installation .iso is usually the easies method. And it comes with the added benefit that your Archive server CAN have other roles installed and be used as a dialer in an emergency (or all the time, since it would be a waste of hardware otherwise). Same applies to the DB and Replication servers ... however, they are usually only used for Web as DB and replication can have some serious load while in use and Web is rather unaffected by that heavy load whereas Dialer heavy load tends to be more problematic. But everyone's experience is different based on their usage. We install all roles in all servers and only use what each client needs for each one. Dormant roles don't add load, but they do add options for future expandabaility and redundancy.

It's not necessary for any of the roles to be on a different server or on the same server as any other role. The ONLY advantage to having two roles on the same server is Carrier Dialer / Agent Phone Registration as that removes the need for the calls to "bounce" between servers when Leads answer the phone. Instead of having the Vicidial system select an agent on another server and route the call to that agent's session, the call can then stay on the same server. This can reduce load, increase throughput slightly and allow for removal of "Balance Dialing" which can improve server performance dramatically on heavily dialing systems.

Happy Hunting! 8-)
Vicidial Installation and Repair, plus Hosting and Colocation
Newest Product: Vicidial Agent Only Beep - Beta
http://www.PoundTeam.com # 352-269-0000 # +44(203) 769-2294
williamconley
 
Posts: 20258
Joined: Wed Oct 31, 2007 4:17 pm
Location: Davenport, FL (By Disney!)


Return to Support

Who is online

Users browsing this forum: Google [Bot] and 106 guests