Skip to main content
Skip table of contents

CX High Availability

CX Core is deployed on a Kubernetes infrastructure. For high availability, it requires four virtual machines in the same data centre.

  • Control Plane is deployed on three VMs and the reporting VM is separate.

  • The workload is distributed across 3 Worker nodes. To increase redundancy, more worker nodes can be added.

  • All the application components (stateless) are deployed in Kubernetes

  • The Statefulsets comprising of underlying data (Mongo,Redis, etc) are setup as system services in HA mode.

Limitations

  • Out of three nodes, at least two nodes must always be up and connected for the cluster to function. More nodes can be added if required. For example solution can be deployed on five nodes instead of three, which will allow the solution to keep functioning as long as two out of five are available.

  • HA is not supported for Voice. Manual intervention is required in case of failure.

  • The reporting server is deployed on a single node. If the reporting server goes down, reporting will not be accessible until the reporting server is restored. No data loss occurs in the meantime. If an HA for the reporting server is required, a redundant deployment on additional hardware, along with additional professional services, will be required.

Deployment Prerequisites

  • At least four VMs.

  • Full network connectivity between all nodes.

Hardware Requirement

The worker node hardware sizing for CX in the table below can handle workloads of up to 100 concurrent agents or 300 concurrent conversations.

  • CX Core, Channels, and Add-On modules are collocated on the same VM(s) to optimize infrastructure.

  • Resource requirements should be adjusted based on the number of enabled channels, the expected workload (agents/conversations), and the selected Add-On features.

  • Reporting and Voice profiles are deployed on separate VMs due to their isolation and specific workloads

  • Com

Profile

vCpu

vRam

vDisk (GiB)

Notes

CX Core

3)

6

200 (100+100)

Required. Deployed across 2 VMs (CX A & CX B) for High Availability

Digital Channels

1

2

20 (10+10)

Included within CX VMs (A & B).

Sizing supports 3 digital channels. Increase if additional channels needed.

Reporting

8

16

500 (250+250)

Required, non-HA

Voice

8

16

300 (150+150)

Optional, non-HA

WFM ADD-ON

4 (2+2)

8 (4+4)

QM ADD-ON

6 (3+3)

12 (6+6)

500 (250+250)

Refer to this document to determine the hardware requirements for additional QM workload.

Survey ADD-ON

4 (2+2)

8(4+4)

20 (10+10)

Campaign ADD-ON

6 (3+3)

12 (6+6)

100 (25 +25)

Scripted Bot ADD-ON

8 (4+4)

16 (8+8)

(150+150)

@a user

Autonomous Bot ADD-ON

@a user

Profile

vCpu

vRam

vDisk (GiB)

Notes

CX Core

6 (3+3)

12 (6+6)

200 (100+100)

Required. Deployed across 2 VMs (CX A & CX B) for High Availability

Digital Channels

2 (1+1)

4 (2+2)

20 (10+10)

Included within CX VMs (A & B).

Sizing supports 3 digital channels. Increase if additional channels needed.

Reporting

8

16

500 (250+250)

Required, non-HA

Voice

8

16

300 (150+150)

Optional, non-HA

WFM ADD-ON

4 (2+2)

8 (4+4)

QM ADD-ON

6 (3+3)

12 (6+6)

500 (250+250)

Refer to this document to determine the hardware requirements for additional QM workload.

Survey ADD-ON

4 (2+2)

8(4+4)

20 (10+10)

Campaign ADD-ON

6 (3+3)

12 (6+6)

100 (25 +25)

Scripted Bot ADD-ON

8 (4+4)

16 (8+8)

(150+150)

@a user

Autonomous Bot ADD-ON

@a user

Profile

vCpu

vRam

vDisk (GiB)

Notes

CX Core

6 (3+3)

12 (6+6)

200 (100+100)

Required. Deployed across 2 VMs (CX A & CX B) for High Availability

Digital Channels

2 (1+1)

4 (2+2)

20 (10+10)

Included within CX VMs (A & B).

Sizing supports 3 digital channels. Increase if additional channels needed.

Reporting

8

16

500 (250+250)

Required, non-HA

Voice

8

16

300 (150+150)

Optional, non-HA

WFM ADD-ON

4 (2+2)

8 (4+4)

QM ADD-ON

6 (3+3)

12 (6+6)

500 (250+250)

Refer to this document to determine the hardware requirements for additional QM workload.

Survey ADD-ON

4 (2+2)

8(4+4)

20 (10+10)

Campaign ADD-ON

6 (3+3)

12 (6+6)

100 (25 +25)

Scripted Bot ADD-ON

8 (4+4)

16 (8+8)

(150+150)

@a user

Autonomous Bot ADD-ON

@a user

Network topology

For load balancing of control planes, consider any of the following three options.

External Load Balancer (ELB)

A Load balancer is used for routing the traffic to the Kubernetes cluster. For a layer-7 load balancer, you may use NGINX reverse proxy, HAproxy, or any available load balancer.

For setting up an HA cluster using external load balancer, see High Availability using External Load Balancer

KubeVIP

Kube-vip provides Kubernetes clusters with a virtual IP and load balancer for both the control plane (for building a highly-available cluster) and Kubernetes Services of type LoadBalancer without relying on any external hardware or software.High Availability with Kube-VIP

DNS

DNS can be configured to point all the traffic of a domain to any of the needed Control-Plane Nodes High Availability with DNS

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.