locked
CRM Web farm deployment (NLB) with Plugins RRS feed

  • Question

  • Hello There!,

    I need to deploy my crm installation in the below manner:

    http://yfrog.com/0acapturexlqj

    I've got few questions which I need clarifications for this type of installation:
    1. I need to have the plugins & workflows on a seperate server (CRM 3 server) as the rest of the servers host the CRM web interface. Where do I register the PRE event plugins? In the CRM 3 alone or in all 3 servers?
    2. Same question applies for the workflows. I will be using the built in CRM workflow designer and no custom workflows.
    3. How can I handle NLB between plugins/workflows & the 3 servers?
    Thanks in advance.

    Shamira
    Shamira Fernando MCPD, MCTS, SCJP
    Wednesday, September 30, 2009 12:20 PM

Answers

  • Hi Shamira,

    is your crm system already installed or are you planning the installation? If it is already installed, which versions/editions and roles are installed on which server?

    1. Synchronous plugins are (imho) always executed by the Application Server role which is at least installed on CRM1 and CRM2. You register plugins always for a whole crm organization. The only thing you can choose, is where the plugin is stored. In your scenario, I would highly recommend to store it in the database. If you want to take the load of asynchronous plugins away from CRM1 and CRM2, you have to install the 'Microsoft Dynamics CRM Asynchronous Processing Service' role on CRM3. All asynchronous plugins and workflows will be executed on this server, if it is not installed on CRM 1 and CRM 2 .

    2. Workflows are also registered for the whole organization, not for a specific server. Install 'Microsoft Dynamics CRM Asynchronous Processing Service' role on CRM 3 in order to take the workflow load away from your front-end server

    3. What do you mean exactly?

    Your front-end servers could execute following roles (example)

    - Discovery Service
    - Microsoft Dynamics CRM SDK Server
    - Application Server
    - Help Server

    Or simply split into Application group and Platform group.
    • Marked as answer by SamFernando Thursday, October 1, 2009 4:13 AM
    Wednesday, September 30, 2009 7:41 PM

All replies

  • Hi Shamira,

    is your crm system already installed or are you planning the installation? If it is already installed, which versions/editions and roles are installed on which server?

    1. Synchronous plugins are (imho) always executed by the Application Server role which is at least installed on CRM1 and CRM2. You register plugins always for a whole crm organization. The only thing you can choose, is where the plugin is stored. In your scenario, I would highly recommend to store it in the database. If you want to take the load of asynchronous plugins away from CRM1 and CRM2, you have to install the 'Microsoft Dynamics CRM Asynchronous Processing Service' role on CRM3. All asynchronous plugins and workflows will be executed on this server, if it is not installed on CRM 1 and CRM 2 .

    2. Workflows are also registered for the whole organization, not for a specific server. Install 'Microsoft Dynamics CRM Asynchronous Processing Service' role on CRM 3 in order to take the workflow load away from your front-end server

    3. What do you mean exactly?

    Your front-end servers could execute following roles (example)

    - Discovery Service
    - Microsoft Dynamics CRM SDK Server
    - Application Server
    - Help Server

    Or simply split into Application group and Platform group.
    • Marked as answer by SamFernando Thursday, October 1, 2009 4:13 AM
    Wednesday, September 30, 2009 7:41 PM
  • Hi Christoph,

    Thanks for the reply & info. Still we are in the planning stage and wanted to know how to spread out the services among the servers and boost performance on the main servers which the users would be accessing mainly.

    Talking about plugins, will the PRE event plugins be executed on all three servers (or on any available server) or how can I restrict them to run on CRM1 & CRM2 servers only?


    Shamira Fernando MCPD, MCTS, SCJP
    Thursday, October 1, 2009 4:13 AM
  • Hi Shamira,

    for an overview of the crm server roles see http://msdn.microsoft.com/en-us/library/dd979461.aspx (Part of the Implementation Guide http://msdn.microsoft.com/en-us/library/dd979440.aspx )

    If the pre-event plugins are registered for synchronous execution (I assume this), they will be executed on the server, with role 'Application Server', which handles the request from the client side. So, if you have registered a plugin for pre-create of an account and a user request is executed by CRM 1, the plugin will run on CRM 1.

    If you don't want CRM 3 to execute your synchronous plugins, simply don't install the 'Application Server' on it.
    Thursday, October 1, 2009 7:24 AM
  • Hi Christoph,

    Thanks for the information.
    Shamira Fernando MCPD, MCTS, SCJP
    Friday, October 2, 2009 5:42 AM