CRM 2011 – Server roles and splitting up a CRM installation

Most of the CRM installations I have done have been small installations and all on the same server.

So I found it quite interesting reading about the server roles and how you can split up the installation into Front and Back end server roles.  Installing CRM on one or more servers can give you some performance benefits and according to the manual is recommended for enterprise deployments.

This technet article explains the different roles and then goes through in more depth what is run and where (e.g. discovery web service, help server etc)

Server Role Group Description Scope Installation Method
Full Server Contains all roles from Front End Server, Back End Server, and . By default, Microsoft Dynamics CRM Server Setup deploys the system as Full Server. In a Full Server deployment, server roles are not listed separately in Control Panel. To view the installed roles or make changes, right-click Microsoft Dynamics CRM Server 2011, click Uninstall/Change, and then clickConfigure. Deployment Full
Front End Server Enables the server roles for running client applications and applications developed with the Microsoft Dynamics CRM SDK. Deployment Group or Full
Back End Server Includes the server roles that handle processing asynchronous events, such as workflows and custom plug-ins. These roles are usually not exposed to the Internet.

For a list of server roles that are included in this group, see the following table.

Deployment Group or Full
Enables the server roles for components that are used to manage the Microsoft Dynamics CRM deployment either by using the methods described in the Microsoft Dynamics CRM SDK or the deployment tools.

For a list of server roles that are included in this group, see the following table.

Deployment Group or Full

 

in basic terms the front end server runs

  • The web application
  • discovery web service
  • organisational web service
  • help server

The back end server will run the CRM Services, e.g

  • Asynchronous Processing Service
  • Sandbox Processing

The manual suggest the back end roles is not exposed to the internet, which makes sense because the back end roles is basically where all your .NET plugins and code are run.

You can also choose where to install the Deployment manager and deployment webservice, which is under Deployment Administration server role.

Another interesting point I noticed is the Microsoft CRM Unzip services is on the front end server and this service handles the uncompressing of zipped files for data import and I also imagine the solution imports.


Advertisement

7 thoughts on “CRM 2011 – Server roles and splitting up a CRM installation

  1. AdrianR June 12, 2012 / 8:49 am

    Hi Ben,

    Very useful article for beginners, one thing I would point out is that you indicate that plugins run on in the back-end server in a multi-server setup.

    However, custom plugins will only run on the back-end server if they run in Sandbox isolation mode (in which case they’ll run in the Sandbox Processing service) or if they are non-sandbox Asynchronous plugins (in which case they’ll run in the Asynchronous Processing Service).

    All non-sandbox synchronous plugins will run in the front-end web application.

    Whilst the SDK indicates that it is recommended to create Sandbox plugins, new developers need to be aware of the different places that the plugin could be running in based on how its registered.

    Cheers,
    Adrian

    Like

  2. Steeve Gauvreau April 1, 2016 / 7:23 pm

    I’m planning to install multiple backend services on 2 servers. For the Sandbox Service, How dynamics CRM decide which Sandbox service to use? How it is manage?

    Can we configure it ?

    Thanks!

    Like

    • Hosk April 1, 2016 / 8:57 pm

      Good question. I can’t remember. I don’t think you can configure it

      Like

  3. Goodmen March 8, 2017 / 12:19 pm

    Hey Hosk,

    I’m re-awakening this sleeping giant. I have a CRM deployment that runs both backend and frontend services on one server. I’d like to split both roles and was wondering what would be the implication.

    Can I just install back-end roles on the new backend server, point them to the correct service accounts and still have the system bubbling smoothly. (Of-course taking into account the standard relation to the DB, and connecting to my existing deployment.

    Regards

    The Goodmen.

    Like

    • Hosk March 8, 2017 / 4:24 pm

      I think you can just create extra back end roles. Usually their is load balancer in front of the CRM server

      Like

      • Steeve Gauvreau (@XRMGedro) March 8, 2017 / 5:17 pm

        For my own experience, here are few elements you should consider :

        – You can install as many backend server as you want, but extra servers will execute only workload that the 1st one is unable to execute because he’s too busy. Some configuration are available to share load between servers, but it wasn’t a success for my customer installation.

        – I’m suggesting you to install Sandbox services and Async services on both servers. Async sandboxed plugins will run on the sandbox hosted on the same server.

        – Make sure that SPN are well configured between back services and front end services, this one is a bit tricky when you decide to install services on many servers.

        Like

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.