Have you ever helped a friend with a home improvement or auto repair project and watched as your friend struggled with a screwdriver trying to pry something free? You think to yourself “gee, a crowbar or pry bar would be the right tool for the job, but since the screw driver is all he has, I guess it will have to do.” Having the right tool for the job makes all the difference in achieving success without ending up with bloody knuckles.
The lesson holds true with scaling communications applications. This was the key takeaway message in a recent Communications Developer Zone podcast discussing load balancers and the new PowerVille LB software from Dialogic with Jim Machi, Senior Vice President for Marketing and Chris Boulton, Director of Systems Architecture for Dialogic.
As Jim noted, “The PowerVille LB Load Balancer is part of our PowerArchitecture,” an important part of Dialogic’s new application development and delivery capability that makes applications scalable. “We wanted to be the best at providing load balancing for SIP-based applications…and we have that now.”
Stepping back and discussing the role of a load balancer in deploying applications, Chris explained that “a load balancer is a software-based network entity that facilitates complex applications that are sitting behind a single HTTP entry point.” Users see one web page or application IP address, but the load balancer distributes the requests to multiple application servers to handle large volumes of demand and to provide a seamless experience. Congestion Management back-end server availability are also important to scaling applications.
Load balancing is part of virtually every web site, so what’s different about a load balancer for real-time communications? (This where having the right tool for the job makes a difference) As Chris explains, the key is that “Real-time communications applications use SIP, WebRTC, and other protocols providing RESTful services.” These protocols are very different from regular HTTP web services that need to maintain the state of sessions across lengthy communications sessions. Real-time communications applications also benefit from session affinity, bringing multiple clients together on a single server, a requirement for conferencing and collaboration applications. Encryption off-loading by load balancers also helps streamline the processing on communications application servers.
Like jamming a screwdriver into a task that it was never designed to perform, web-centric Application Delivery Controllers (ADCs) are often used to perform load balancing for real-time communications. Not the right tool for the job.
So before you reach for that screwdriver, ask yourself “is this the right tool for the job?”
(By the way, no screw drivers were harmed in the writing of this blog)