When purchasing Dynamics 365 F&O, you a get of Microsoft managed (but self-service) environments that is included with the standard offer. (Production, Tier-2 Standard Acceptance Testing and a Tier-1 Develop/Build and test environment. Microsoft have described this on the environment planning docs. I will not discuss Tier-1 environments here, as these environments is optimized for development experiences. Do not perform performance testing on a tier-1 environment.Tier-2+ environments is based on the same architecture as a production environment and uses the Azure SQL Database service.
When running an implementation project, it is common to purchase additional tier 2+ environment that is used of different purposes as shown in the table below (from Microsoft Docs)
Selecting the correct level is important and is depending on what the environment is going to be used for. As a guidance, Microsoft have the following baseline recommendation:
On the projects where I have been involved, we most often have 3 or 4 Tier 2+ environment and the purpose are changed through the project.
The flow of data between these environments can be included into a Sprint Cycle. The process will start with defining the general parameters in the golden configuration environment (1). Here all system setup, number sequences, and master data will be uploaded/entered from the legacy systems. The Test/Stage/Migration environment (2) will be created based on the golden environment + transactional data packages/initial startup data. Then there will be a database refresh from Test (2) à UAT (2), where all test scripts will be run and approved. The results and configuration changes/master data are then fed into the golden environment ready for the next data movement cycle. The reason why we do this, is to ensure that the golden environment and the migration environment is not corrupted through testing. At Go Live, and when the UAT is approved (after a few iterations), then the Migration environment will be copied to the production environment. This can only happen once. Subsequent updates to the production environment must be done manually or using data packages.
(1)- Tier-2 Golden environment (before PROD have been deployed). This environment is often changed to become staging environment that contains an exact replica of the production environment. I prefer golden environments as a Tier-2, as this simplifies the transfer of data using the LCS self-service database refresh.
(2)- Tier-2 data migration. This environment is used for making transactional data ready for being imported to the production environment at Go-Live.
(3)- Tier-2/3 User acceptance. Here the system is really tested. Lot’s of regression testing and running test scripts. The focus is functionality. If there are concerns on performance, a Tier-5 environment can be purchased for a shorter period to validate that system can handle the full load of a large-scale production environment. For performance testing, it is recommended to also invest in automation of the test script. (Unless you ask the entire organization to participate in a manual test).
The performance of a system is a combination of the raw computing power of the VM’s hosing the AOS, and the sizing of the Azure SQL. With Dynamics 365 we don’t have any way’s of influencing the sizing of this. It is all managed by Microsoft, and they will size the production environment according to number of users and transactions per hour. But the Azure SQL boundaries that Microsoft is most often related to the following sizing steps.
I don’t exactly understand how Microsoft is mapping the Tier-2..5 towards these steps, but I have experienced that a Tier-2 level in some cases are a P1, P2, P4 and P6. More information on the DTU capacity can be found here, and the summary is that we can expect 48 IOPS per DTU. So, a P6 will provide 48000 IOPS. If you want to check your DTP limit, then open SQL manager towards the Azure SQL database, and execute the following script:
SELECT
*
FROM
sys.dm_db_resource_stats ORDER
BY end_time DESC;
And then the DTU limit should be shown here: This is from a Tier-2 environment belonging to the initial subscription, and this seams to have 250 DTU’s(P2)
But what puzzles me is if I go into another Tier-2 add-on environment I have 500 DTU (P4)
And in the third Tier-2 add-on environment I have 1000 DTU (P6)
So there seams not to be a consistency between the DTU’s provided and the Tier-2 add-on purchased. As far as I know, in this case the production environment is 1000 DTU’s(Or P6) in some of my customers.
The AOS’es on the Tier-2 environment seams to mostly be D12/DS12/DS12_v2 with 4 CPU and 28 Gb RAM and 8x500Gb storage, capable of giving out 12.800 IOPS.
What also puzzles me is the number of Tier-2 AOS’s that is deployed. Some environments have one AOS, and one BI server.
While other Tier-2 environments have two AOS’es and one BI server
I assume that the differences are related to how the subscription estimator have been filled out, and that this may have an impact on what is deployed as sandbox Tier-2 environments.
Dynamics 365 do have some performance indicators under the system administrator menu, that gives some numbers, but I cannot see a clear correlation between the environments and the performance. Maybe some of you smart guys can explain how to interpret these performance test results? What is good, and what is not?
If we take the “LargeBufferReads”, how does your environments perform?
“Cloud hosted’ D365FO Tier 2+ environment”do we have similar concept for CRM sales module ?
We have already CRM sales deployed and we are adding F&O module in the same tenant now
where we can find out current CRM sales module belongs for which tier
LikeLike
Thanks for the article. I have been getting some feedback about performance issues with a tier 2 environment and I am not sure how to interpret the performance results or what is appropriate approach to handling performance related concerns. Is the next immidiate resolution to increase the Tier 2 –> Tier 3.
LikeLike
Hi Upgrading will mainly increase scalability(number of AOS’es and Azure SQL DTU’s). For performance, In would suggest creating a support request 👍
LikeLike
FYI: As of November 2020, only one sandbox environment (standard user acceptance) is included in your subscription. Dev or other sandboxes can be deployed, but you must pay for them separately in your own Azure subscription.
LikeLike
I understand that fleet management is enabled by default in the lower environments. Do you know why? And why that is not available in the Tier 1 or Tier 2 ?
LikeLike
Hi. Because Fleet management is just for training purposes, and not released features 🙂
LikeLike
Great read 🙂
LikeLike
Pingback: D365Tour Press Review – Mars 2019 - Microsoft Dynamics AX Community
Nice article , you are a blessing to ax community
LikeLike
Nice article again! what i’ve noticed on the number of AOS’es on Tier2 environments, are different and depends on when the LCS project is started. All projects started pre 7.2 and since 8.1 have 2 aos’es/1bi while those started during 7.3 and 8.0 have 1 aos/ 1 bi. Also, after removing the tier2 while recreating an empty upgraded environment, the same number of AOS’es are deployed.
LikeLike