Take-up of virtualisation has seen exponential growth in recent years in all areas of IT, including call center infrastructure. With the rise of virtual machines (VMs), however, comes a responsibility to manage resources, especially for real-time, high-priority activities like predictive dialing.
Before virtualisation, you could work out the required resources pretty accurately. Assuming you got your calculations right, your installation would perform trouble-free. But using VMs for call center services, especially telephony, is another thing entirely.
The problem is that each service on each VM must fight for access to limited resources, such as processing power and data bandwidth. Pre-VM, it was like living in a flat by yourself. With VM, you have to share with others. And this brings new challenges, such as whether you can make a cup of tea or take a shower when you want to, or do you have to wait for someone else to finish.
To solve this, we must assign priority (and in our flat-sharing scenario, that’s a tricky business!) With call center services, telephony must be top dog. Why? Because a predictive dialer is only productive if it can generate the volume of live calls to the network that the algorithm decides is right. And that requires access to enough processing power and data bandwidth. Any restriction will result in choking off the potential productivity gains of the dialer.
If you are planning to deploy your telephony server as a virtual machine, here are several areas of contention that need careful management in order to maintain peak productivity:
- CPU resource allocation
You must reserve a sufficient minimum. As a rough example, 200 agents on a predictive campaign will generate around 500 concurrent calls to the network. To process that load will require a CPU reservation of around 7500 MHz.Leaving resource allocation to your hypervisor in response to demand will result in the frequent freezing of resources as they are reallocated – simply unacceptable for time-critical telephony.
- CPU affinity allocation
This enables the pinning/ binding of particular processes to a particular CPU/ range of CPUs.The advantage is that CPUs cannot be borrowed by other non-time-critical processes, so that resource is always available when required. It also means that unused resources will remain unused until they are needed. In our shared flat illustration, it’s like having a kettle with a label with your name on it. It will be available whenever you want a cup of tea.
- Network I/O
Your server will probably have a single physical Ethernet port, through which all data transactions must pass. Again, in order to maintain voice quality, telephony traffic must not be delayed, so it must be top priority.The mechanism to achieve this is the Quality of Service (QoS) provision. The good news is that the vast majority of hypervisors support QoS. The snag is that you have to choose the right software network interface. These come in different flavours and it’s likely that the right one for your setup is not the standard Intel one.
- Disk I/O
Call recording and writing of log files are real-time activities, and both are disk I/O intensive because of the sheer volume of data being written. There are a couple of ways to ensure that disk I/O speed is adequate:
- install fast hard disks; solid-state (SSD) are best
- for high volume deployments, use a Storage Area Network (SAN – a big server with multiple disks in a redundant array). While NAS (Network-Attached Storage) is useful for operations of up to around 50 agent seats, beyond that a SAN is the only real option.A SAN also requires considerable bandwidth. We recommend 10 gigabit Ethernet, or fibre-optic cable. Yes, deploying a SAN can be expensive but it is worth spending the cash to achieve infrastructure that will not only do the job now, but can also handle growth in years to come.
The only way to ensure peak performance of telephony services, and therefore your dialer, in a virtual environment is to give them top priority, and this takes careful management.