Restcomm is a next generation Cloud Communications Platform to rapidly build voice and text messaging applications, using mainstream web development skills. Restcomm lets companies use the Restcomm Visual Designer or any popular programming language to build voice, video and messaging applications. Restcomm does the heavy lifting by integrating with obscure Carrier Networks behind the scenes. Restcomm exposes clean and powerful APIs for web and mobile phones, so companies can run their telephony applications alongside other IT apps.
A frequently asked question from our customers is how Restcomm can scale horizontally on a Cloud Platform. Telestax provides the toolset and expertise to make this complex problem as simple as possible to solve.
Let’s cover at a high level how we approach High Availability and Scalability:
Multiple TelScale Restcomm Servers can run in a cluster across one or more geographically distributed data centers to scale up throughput and provide various levels of redundancy and high availability. The typical Restcomm cluster topography is as following with all traffic between the nodes being SIP and HTTP.
TeleStax Converged Load Balancer can be used to achieve 99.999% reliability. The TeleStax Converged Load Balancer has the capacity to gracefully shutdown any node of the cluster for maintenance operations and to add or remove nodes from the cluster as load grows or reduces without any downtime. TeleStax Converged Load Balancer also allows SIP and HTTP Sessions affinity to a given Restcomm node in the cluster. This affinity can be controlled through a pluggable algorithm mechanism for the highest flexibility.
All Restcomm instances share the same SQL Database configured to serve distributed read and write queries. Call Detail Records and other Big Data structures are stored outside the shared SQL database.
High performance is often a reason to implement a horizontally scalable Restcomm deployment. Its not always simple to predict the performance of an application prior to its actual testing in a realistic environment. However a few base metrics are useful for initial planning.
Our tests show that a single instance of Restcomm on a machine with 8GB Ram on a i5 CPU can handle the following traffic:
1. For conferencing application: 480 Concurrent calls with a rate of 90 calls per second and average call duration of 2:30
2. Short IVR application: 200 concurrent calls with a rate of 80 calls per second and average call duration of 40 secs
3. VoiceMail application: 100 concurrent calls with a rate of 50 calls per second and avarage call duration 1:30 minutes
The following video walks through an actual HA deployment of Restcomm with dynamic, real-time auto-scaling in action. This setup was demonstrated live at MWC 2015 on a real world mobile operator network (TruPhone).