Load Balancing and High-Availability
Introduction
Geomant Desktop Connect for CRM offers scalability and high-availability for customers with a large number of users.
The Geomant Desktop Connect for CRM server component is able to serve 1000 concurrent users per instance.
These are just high-level overviews of technical possibilites. Do not attempt to implement HA or Load Balancing based on this guide alone. Implementing HA/Load Balancing requires extensive network engineering expertise and expertise specific to the method/technology used. The implementation details should be decided for each project individually. Depending on the method used some of the components (Load Balancers, Apache servers, etc.) may not be maintained by Geomant.
Load-balanced High Availability Solution
It means that every deployed instance is fully live and operational while accepting agent sessions.
By design, DC4CRM is able to handle an HA AES connection and it communicates with multiple instances of Avaya AES over the telephony link via JTAPI. Whenever the AES connection is broken, DC4CRM receives a system statistics event indicating that the link is down and that observation of all monitored stations are ended. In this scenario, DC4CRM will try to re-establish the connection with the AES server. In case of communication failure with the AES, the client application interface is reset and the login process is restarted. Once the connection is re-established, the agent is logged back in and agent state is synchronized.
Architecture
The Desktop Connect for Microsoft Dynamics CRM client sessions are web sessions between the browser (or JSONP API Client) and the selected Desktop Connect for Microsoft Dynamics CRM server. The selection of the active server is performed as part of the session initiation before the agent log in is being performed. Once the active server found, further communication flow is direct between that server and the client.
The active server selection can be achieved in multiple ways.
Apache HTTP server
An Apache HTTP server can be installed as part of the DC4CRM solution. This Apache HTTP Server is connected to the CRM Servers using the Apache Tomcat Connector (mod_jk) and acts as the load balancer.
The Apache HTTP server need to support resiliency in order to provide full high availability, so multiple of these servers should be part of the same architecture. In case there are multiple Apache HTTP servers a mechanism must be in place to select the active Apache HTTP server. However, there are no special requirements for this mechanism to work, so it can be provided by any load balancer or DNS load balancing.
This Apache HTTP server can coexist with other instances, so it can be installed on the DC4CRM servers or on dedicated server(s). As this server is only used for session initialization, there is no extra hardware requirement on top of the standard Desktop Connect ones.
Load Balancer Server
Desktop Connect for Microsoft Dynamics CRM can work with load balancers without the Apache HTTP server.
In this case the load balancer must be capable to check the availability of the DC4CRM Server and route the request there. Once the Desktop Connect for Microsoft Dynamics CRM server is selected, the client browser must be able to directly communicate with the selected DC4CRM server.