Every technology has its place and time. VMware is not ready for:
* RTP--Any application with RTP (voice, video) media that flows through it such as gateways, IVRs, and conference bridges.
* Strict Clocking--Any application that requires sub-second system clock time across multiple VM instances such as contact center routing engines. NTP works differently in a VM environment.
VMware is ready for:
* Test/Dev--Lab and other non-production development and test
* Set-up--Applications that process the call set-up such as SIP messages
* Reporting--All the logging and reporting applications
Things to consider when designing a VM cluster:
* Inter-processes--Getting applications that talk a lot to each other into the same VM cluster
* Memory--Making sure there is plenty of memory or that there is memory reservation per process
* Size--Cluster size has an impact on performance
* Keep Alive Timers--Call processing applications have strict keep alive timers (50-100ms) for hot standby failovers. The number of keep alive timer failures needs to be monitored.
Telephony applications are very time sensitive. Variation of performance by a few milliseconds can have an impact on the real time audio stream. As good as VMware is, there are still cases where one application can impact another, even if it is just for a short instance in time.
What are your thoughts and experiences?