Having hardware performing at its best is crucial for the performance of Dynamics AX 2009. Therefore, planning hardware setup and infrastructure is essential to the overall implementation and post implementation of Dynamics AX. There is a level of performance that is proportional to the level of utilization. The goals of achieving performance requirements are to minimize response time, maximize throughput, and balance resource utilization and workload. This is also a function of capacity management, which is the process of planning, analyzing, sizing, and optimizing capacity to fulfill demands in the least timely and lowest cost approach. The following table is a list of items that need to be collected and quantified in order to create an optimal Dynamics AX 2009 environment:
Requirement |
Description |
---|---|
Number of companies |
Some implementations may contain one or more companies. |
Number of users |
Maximum number of concurrent users as well as company size. Keep in mind that the number of concurrent users will increase as a company grows. |
Number of departments |
It is important to know the number of departments present within a company. In Dynamics AX, departments can be partitioned into a company account. It is also important to determine the following:
|
Number of transactions |
Determine the number of transactions that are occurring during on and off peak hours. Resources need to be leveraged to handle the loads. Keep in mind that different times during the year may also put variable strain on the system.
|
Required features |
Will EDI, business analysis, web, or mobile access be required? These are just a few examples of features you must consider. Consider that, when users access role centers, behind the scenes, they will be accessing SQL Server Analysis Services. Depending on your data and role centers, these can be intensive calculations and may require extra processing power to compensate. Another scenario would be an EDI scenario. If part of your information is being received from an outside vendor and orders are also being created to another outside vendor, consider that there may be a need for a specialized setup to efficiently work with the two endpoints. |
External user access |
Determine whether users will be accessing Dynamics AX using the Internet or extranet. What features, permissions, and resources do these users require? What are the peak and off-peak hours for users, as well as the number of transactions within those periods? |
Internal user access |
Similar to External user access, however for the intranet. |
Estimated growth rate |
To determine this, take the current growth rate in the last two to five years and distribute it over the next several years. The following mathematical formula can be used to calculate the rate: For example, if "Carvalho Company" had 50 employees five years ago and now has 200, the calculation would be as follows: (200-50)/50 = 3 * 100 = 300% Therefore, one should determine the potential of another 300 percent growth rate since the company had grown 300 percent in the past five years. Besides, with all the money the company would be saving by implementing Dynamics AX, they could focus more on strategy and hire more employees! |
Availability (uptime) |
Although the availability of an ERP system should be 100 percent throughout the day and year, you must determine the appropriate uptime requirements. For example, there are times for regular maintenance and upgrades where systems must be brought offline. |
Number of sites |
Many companies have various locations. Although Dynamics AX does not need to be implemented in each location, it is certainly the goal. |
Based on the information here, you should now have a better idea about completing a company's requirements. For example, depending on the number of users, clustering or load balancing may be necessary for the AOS.
Microsoft Dynamics AX can function in a virtualized environment and does not require any specific setup since virtual environments, by nature, simulate a physical environment. Therefore, in many cases, your company will benefit greatly by deploying Dynamics AX 2009 on a virtualized infrastructure. There are many added benefits if you choose to follow this route such as cost, speed of client deployment, and modifying resources in real-time, to name a few. There are many vendors that provide virtualization solutions, including Microsoft. Price, features, and ease of use all play a role in deciding which solution is better. Consult the virtual solution vendor for more detailed information on server virtualization products.
Database sizing is potentially the most critical step in performance for a Dynamics AX 2009 implementation. Each database server has its own specifications for hardware. However, the general ideas are the same. We will primarily be focusing on Microsoft SQL Server. The following table contains resources that are useful references when setting up a database for Dynamics AX:
Description |
URL |
---|---|
Microsoft SQL Server TechNet site | |
Microsoft SQL Server 2008 and Microsoft SQL Server 2008 R2 Books Online |
SQL Server 2008: http://technet.microsoft.com/en-us/library/bb418439(SQL.10).aspx SQL Server 2008 R2: http://technet.microsoft.com/en-us/library/bb418432(SQL.10).aspx |
Microsoft SQL Server Storage Top 10 Best Practices |
http://www.microsoft.com/technet/prodtechnol/sql/bestpractice/storage-top-10.mspx |
Data Warehousing Best Practices in SQL Server |
http://technet.microsoft.com/en-us/library/cc719165(v=SQL.100).aspx |
Scaling Up Your Data Warehouse with SQL Server |
http://technet.microsoft.com/en-us/library/cc719182(v=SQL.100).aspx |
SQL Server Database requirements | |
Microsoft Dynamics AX Performance Team Blog |
http://blogs.msdn.com/axperf/archive/2008/03/10/welcome-database-configuration-checklist-part-1.aspx |
Microsoft Dynamics AX 2009 Planning Database Configuration |
As with any company, the level of database space, redundancy, and efficiency is dependent on the number of transactions that the database will have to handle. Therefore, the larger the business, the more is the need for a robust and redundant data store. These constraints will also be important when determining the best database configuration.
As far as the hardware configuration for a database goes, there are many robust options available such as RAID and SAN storage. The database server may contain all the business data and SharePoint content data as well as run SQL Analysis Services for business intelligence. If using RAID, the configuration should be RAID 0+1 (01) or RAID 1+0 (10), in case of the unlikely event of data loss or corruption.
It is certainly possible to have all the databases for the development and test environments on such a server. However, the production environment should have its own database server. For example, a multiple processor core system with 8 GB to 16 GB of RAM per database with at least 2 TB of storage. Additionally, backups should occur as needed, otherwise, they should occur daily during off-peak hours.
For minimum database server requirements, please refer to the following table:
OS |
CPU speed (GHz) |
Single Core CPUs |
Dual Core CPUs |
RAM (GB) |
HDD (GB) |
Network (GB) |
---|---|---|---|---|---|---|
Windows Server 2008/2008 R2 Enterprise Edition (x64) |
2.00+ |
2+ |
1+ |
8-16 or more |
500 or more on RAID configuration |
1 |
Note
These are manual requirements. Since computer hardware evolves exponentially, these recommendations may not be the best approach for hardware setup as time goes by.
Additionally, the larger the enterprise, the greater the need to have a SAN storage system. The following table outlines a possible hardware setup scenario:
Storage solution |
Technology |
Number of disks for SQL Server and Tempdb |
Number of disks for SQL Server log |
Total number of disks |
---|---|---|---|---|
Direct Attached Storage (DAS) |
SCSI |
12-16 (RAID-10) |
2 (RAID-1) |
14-18 |
Storage Area Network (SAN) |
Fiber/SCSI |
12-16 (RAID-10) |
2 (RAID-1) |
14-18 |
Storage Area Network (SAN) |
Fiber/Fiber |
12-16 (RAID-10) |
2 (RAID-1) |
14-18 |
Storage Area Network (SAN) |
Fiber/SCSI |
16-20 (RAID-10) |
2 (RAID-1) |
18-22 |
Storage Area Network (SAN) |
Fiber/Fiber |
16-20 (RAID-10) |
2 (RAID-1) |
18-22 |
The Application Object Server (AOS) is essentially the "heart" of Dynamics AX. This is where all the business logic, application objects, and operations are handled. Due to this, it is no surprise how important it is to make sure that the AOS operates as best as it can. Performance resources allocated to one or more AOSs must be done as follows: depending on the number of concurrent users, you may be required to implement multiple AOSs.
In order to successfully determine how many AOSs are required, the basic rule of thumb is that there should be one AOS for every 60 concurrent users (based on the recommended configuration). Therefore, if your company has 120 concurrent users, you would need to implement two AOSs and load balance them both. You can load balance either using hardware or software. Dynamics AX already includes the feature of clustering multiple AOSs. Clustering may be a more cost-effective approach to load balancing, yet may not be as powerful as hardware-based solutions. A company will need to leverage the two based on performance and cost.
The Application file server will hold all the application files, which contain all the application code, modules, and customizations for Dynamics AX. The server should have sufficient space to hold this information. Typically, for one environment, the application file folder with base modules takes about 7 GB of space. However, for backups and additional possible maintenance tasks, 100 GB is recommended. Network bandwidth, disk performance, and fault tolerance (RAID configuration) are the emphasis for this server. The server will not be performing any business calculations; however, it will be serving the AOS server application data. In a clustered or load balanced environment, the application file folder, for an environment, will be a network share. However, the shared folder cannot be set up as a Distributed File System (DFS). Although it's not required to backup the application files unless the codebase is modified, backups of the application file folder should occur daily during off-peak hours to ensure an easy restore plan.
The following table describes a recommended configuration for a typical Application file server:
OS |
CPU speed (GHz) |
Single Core CPUs |
Dual Core CPUs |
RAM (GB) |
Storage |
Network (GB) |
---|---|---|---|---|---|---|
Windows Server 2008/2008 R2 Enterprise Edition (x64) |
2.00+ |
2 |
1 |
4-6 (without SQL Server) |
Two 100 GB HDD with RAID configuration |
1 |
A web server will serve Enterprise Portal content, Reporting Services reports, Application Integration Framework (AIF) web services, or Workflow. Depending on the number of concurrent users or available resources, a single web server can contain more than one Dynamics AX extended server component or a dedicated web server may be required for each extended server component. It is important to assess the requirements for accessing such services. Available network bandwidth, security, response time, and processor speed are the emphasis for a web server. This server will connect to the AOS server and serve as a frontend access to Dynamics AX instead of using the rich client. The following table describes the minimal requirements for a typical web server used for Dynamics AX extended server components:
OS |
CPU speed (GHz) |
Single Core CPUs |
Dual Core CPUs |
RAM (GB) |
Storage |
Network (GB) |
---|---|---|---|---|---|---|
Windows Server 2008/2008R2 Enterprise Edition (x64) |
2.00+ |
2 |
1 |
4-6 |
100 GB |
1 |