Universal Contact Server Sizing and Hardware Guide
Before deploying the UCS solution to your production site, you must estimate the size of the solution that will be able to handle the expected user load. Genesys recommends that you download the UCS Sizing Calculator, an Excel workbook that you can use to help calculate the number of UCS, Cassandra and Elasticsearch nodes required for your production deployment.
The process of estimation starts from input values, usually given in the terms of business operations; for example, number of interactions, or the size of email attachments. Using some math, and having in mind the workflow that is applied to the input traffic, you can then produce the expected load values in terms of requests per second. By applying these values to the experimentally produced measurements, you can estimate the size of the solution required to be deployed.
Input Data for Basic Load Estimation
To estimate the load, you need to know the following data:
- Number of voice calls received per hour
- Number of emails received per hour
- % of emails with attachments and their average size
- Number of chats received per hour
- Number of contacts created per hour
You can use these numbers as inputs into the UCS Sizing Tool.
- UCS—2 nodes minimum (to support high availability and load balancing).
- Cassandra—3 nodes minimum (to provide data consistency and to allow a fault tolerance of one node), mapped to RF. The consistency level is LOCAL_QUORUM.
- Elasticsearch—Same as Cassandra. You must configure an external Elasticsearch cluster with at least as many nodes as Cassandra.
For more help calculating the number of Cassandra nodes you need to support data consistency in the cluster, see the Cassandra calculator.
Cassandra Replication Factor
You are encouraged to read this Apache documentation about replication and data consistency.
Elasticsearch Replication Factor
Default configuration will use number_of_replicas=1, meaning that one Elasticsearch node can go down without interruption of the service.
You are encouraged to read Elasticsearch basic concepts.
Entities Life Time (days)
This corresponds to the Cassandra TTL (time to live) parameters for data expiry. You are encouraged to read this Apache documentation about data expiration.
Please also explore configuration settings here.
Disk Space Usage
Disk space usage directly depends on the following factors:
- The volume of interactions in the solution
- The volume of contacts in the solution
- The replication factor specified for Cassandra (and Elasticsearch)
Worksheet Tab Summaries
- Main—Overall numbers of interactions, recommended numbers of Cassandra and Elasticsearch nodes, and recommendations for disk capacity.
- Advanced—Statistical information on average sizes of interactions and attachments, business hours/days and replication factors.
- Migration—As for Main but in relation to calculating migration values and time.
- Server Profiles—Hardware and software (operating system, heap sizes) calculations for server configurations.
- Data Transfer—Calculations of incoming data transfer requirements (gigabits) per time unit (hours, days weeks, months and years so on).
- Input parameters have yellow background color.
- Result values have green background color.
- Minimal settings values are provided without taking into account the Cassandra Max Disk Size parameter.
Refer to the following links for more information about planning an external Cassandra cluster:
- For help understanding the Cassandra architecture, see http://cassandra.apache.org/doc/latest/architecture/index.html
- For information about hardware considerations for Cassandra nodes, see http://cassandra.apache.org/doc/latest/operating/hardware.html
- For details about Cassandra cluster configuration, refer to http://cassandra.apache.org/doc/latest/configuration/cassandra_config_file.html
- For more help calculating the number of Cassandra nodes you need to support data consistency in the cluster, see http://www.ecyrd.com/cassandracalculator/.
- For more help in working with Elasticsearch, see https://www.elastic.co/products/elasticsearch.