Designing an Architecture

Always start by defining what you need from your system (such as how much data will you have? What entities will you use the most? What features will you use the most?). This is the only way to find out if performance will meet your expectations.

Use the architectural tiers as guidelines. Think of them as starting points to help you design a reference architecture that meets your specific business requirements. Once you have a deployment group design that meets your initial service offering goals, you can use it to scale out your hosted CRM service to host more organizations and customers as demand grows.

Because every business has unique needs, it is impossible to provide specific hardware recommendations for every company. However, the following list can help you understand which types of CRM activities impact the various parts of the CRM environment:

  • Due to their significant boost in performance, 64-bit servers should be used throughout the environment.
  • Hard disk drives on all the servers should be RAID 0 or RAID 1 (Stripping and Mirroring).
  • If the workflow usage is high, we recommend that you install the CRM Back-end server group on separate box(s) instead of keeping it on the same server as the CRM Front-end server group.
  • If you expect your reporting usage will be high, you should consider installing SQL Reporting Services on dedicated servers in a SRS web farm configuration with clustered SRS databases.
  • For high availability, consider installing duplicate Microsoft Dynamics CRM Server 2011s.
  • A restriction on the IIS cache results in Garbage Collection starting the cleanup process on memory when this cache reaches 10 GB. This process is expensive and takes all CPU time on dual core machines until it is completed. Though there is a theoretical limit of 16GB on Front-end servers, you need to carefully consider how to balance the number of organizations and the size of the customer database because of this IIS cache constraint:
    • The more organizations you add, the greater your memory requirements will be.
    • The larger the customer database, the greater your memory requirements will be.
    • An increasing number of concurrent users is also likely to increase your memory requirements.
  • The larger the customer database, the faster disk I/O system you will need on your Microsoft Dynamics CRM database server.
  • The more users you add, the more CPUs you will need on the Microsoft Dynamics CRM database server. However, one large organization may require more CPU time than several small organizations with the same total number of users.

    Regardless of the particular set of hardware you specify for your reference architecture, performance tuning will be required to obtain the maximum performance from your CRM environment.