Any organization looking to attract more customers needs to have a plan in place and ready to execute for the eventuality that its growth initiatives will succeed. This is particularly true when you’re talking about on-premises IT infrastructure, and even more critical when you’re talking about your CRM system.
What to Do When Your Customer Base Doubles in One Month?
An already high volume customer of ours was anticipating a 200-300% increase in transactional traffic to their web portal due to a confluence of their marketing efforts along with the end of an existing financial incentive. They approached us with this news about 3 months before the anticipated traffic spike so that we could put in place a plan to mitigate the risks and ensure a great customer experience throughout this period of unusually high traffic. The first thing we did was load test the system to identify the potential system bottlenecks based on simulated portal traffic. With this information we determined that they needed a high-performance, highly-available, yet cost effective load balancing platform that was compatible with Microsoft Dynamics CRM. After substantial research and additional load testing we settled on the KEMP Technologies load balancing platform because it provides rock-solid performance at a price point that won’t break the bank. For more details of why we chose KEMP see the section entitled Why KEMP? later on in this article.
Who Needs Load Balanced Hosting for CRM?
Not every organization running Microsoft Dynamics CRM needs a load balanced setup – and those that do need load balancing require it for different reasons. Given the components in our typical customer deployments, we’ve identified 2 major areas that present performance chokepoints that can be addressed using KEMP’s load balancing technology: web servers and CRM servers.
Figure 1: Basic high volume customer deployment.
Web Server (CRM Portals)
In our basic high volume customer deployments, the customer portal is hosted on its own web server as an application running in IIS (Internet Information Services). The portal IIS application is the first area that can present a performance chokepoint. When there’s a high volume of portal traffic to a single IIS web site, the application pool running the portal application will get bogged down with IIS garbage collection processes, resulting in failures and poor performance.
Since the chokepoint is the application pool and not the web server itself, the first level of mitigation is to deploy more portal mirror applications with new application pools in IIS on the same server and load balance traffic between those mirrors using a simple DNS round-robin load balancing approach. Round-robin DNS load balancing is a free or extremely low cost method of distributing traffic between one or more web applications when it doesn’t really matter which mirror a user is sent to. If performance issues persist, the second level of mitigation is to deploy additional portal mirrors on multiple web servers. This distributes the load across multiple portal applications running on multiple web servers, creating redundancy at the portal mirror level and the web server level.
If you are looking for a portal solution to add to your CRM deployment,
please visit our portal product page for more details.
Microsoft Dynamics CRM Server
The individual components of Microsoft Dynamics CRM Server can be installed across multiple servers to address specific performance chokepoints in a deployment. Our basic deployments will have a single CRM server with the “Full Server” server role group (a full list of MSCRM server roles is available here). This server role group installs all of the individual server roles that are required to run Microsoft Dynamics CRM. The individual server roles can each become performance chokepoints in a deployment for different reasons. The server roles that usually cause performance problems for our customers are:
- Microsoft Dynamics CRM Organization Web Service (Front End Server) – applications that interact with CRM using the methods in the Microsoft Dynamics CRM SDK use the Organization Web Service. In a typical deployment, there will a single Organization Web Service for CRM, creating a bottleneck for CRM connections. For example, if a deployment has multiple portal mirrors to mitigate heavy portal traffic, the Organization Web Service will become a chokepoint since all of those portal connections are interacting with CRM through the Organization Web Service.
- Microsoft Dynamics CRM Asynchronous Service (Backend Server) – queued asynchronous events, such as asynchronous workflows and data imports, are processed using the Asynchronous Service. Organizations that have a high volume of queued events can experience performance issues as it can take quite some time for the single service to process a long list of queued items.
- Microsoft Dynamics CRM Sandbox Processing Service (Backend Server) – custom code is processed using the Sandbox Processing Service. Depending on the number of and nature of plug-ins, CRM can begin experiencing performance issues as these processes are run immediately when triggered and the process that triggered the plug-ins will not be completed until the plug-in process is finished.
Other items that can be separated from the CRM server or replicated and load balanced between multiple servers are custom ISV applications (an example would be Cobalt Wizards that are run from CRM) and Windows services (Cobalt Cron Service).
A Closer Look at a Load Balanced Deployment
Now that you have some context about what we were trying to do, let’s take a closer look at the deployment. We originally had 6 portal mirrors deployed across 2 web servers that all connected to a single CRM server. Traffic to the portal was routed using round robin DNS load balancing. While portal redundancy and CRM performance was excellent in this configuration for up to 50% over their current traffic levels, it was not going to be able to scale to the extent needed for the upcoming deadline. The single CRM server presented a bottleneck that resulted in poor overall system performance in our high volume load tests.
Figure 2: Portal load balanced customer deployment.
To eliminate the CRM server bottleneck, Cobalt added 3 additional CRM servers and balanced traffic to the 6 portals and 4 CRM servers using a high availability KEMP Virtual LoadMaster pair (so if one load balancer goes down, the high availability backup will take its place without any service interruption). In this new setup, we now also have redundancy for the portal, CRM, and the load balancer itself.
Figure 3: Fully load balanced customer deployment.
All of the CRM servers have the “Full Server” server role group, as well as their own ISV application and Email Router.
A Review of KEMP: One of the Fastest Load Balancing Solutions on the Market
With over 27 thousand KEMP licensed LoadMasters, KEMP is the fastest growing load balancer company in the market. KEMP’s LoadMaster is offered as a virtual appliance, physical appliance, cloud appliance, and as a Bring-Your-Own-Hardware (BYOH) bare metal install. KEMP LoadMasters are feature rich, extremely easy to use, secure, quick to deploy, inexpensive to operate and are supported by a top-tier service and support team. Their average customer satisfaction rating with support is well over 96%. KEMP LoadMasters offer templated installations making configuration a simple process. KEMP offers network (application) load balancing, global (DNS based) load balancing, edge security services, reverse proxy, single-sign-on (SSO) services, intrusion prevention and web application firewall services. Their products are among the least expensive in the industry, often costing 30% or less what their competitors charge. They offer government grade certified encryption in all of their products. Ease of use, robust features, templated installations, extensive security services, and exceptional post-sales support all made KEMP the solution of choice for Cobalt when we wanted to offer our customers this new hosting service.
If you want to learn more about KEMP’s load balancing products click here.
Cobalt has been extremely satisfied with the performance of KEMP’s load balancing technology when used in conjunction with Microsoft Dynamics CRM as well as the exceptional support they provide for their products. We are pleased to announce that we’ll be offering load balanced hosting and configuration assistance for on-premises Microsoft Dynamics CRM customers.