One of the major changes that happens when upgrading from Dynamics 365 version 8 to version 9 is the transition to running the platform on Azure SQL Database. This is definitely a great thing since it begins to inch the platform closer to a completely cloud based architecture. There have been reports of customers who have upgraded to Dynamics 365 version 9 that have found that their system performance seems to have noticeably dropped. If this has happened to you or you simply feel that your performance has become subpar there is a solution.
Existing System Performance Challenges?
The big caveat in this conversion is the assumption that your system wasn’t already slow in the first place. If it was slow before and it’s now equally slow I would suggest that a deeper analysis of the system customization and configuration should be reviewed. Unfortunately there are many times when system performance is not meeting expectations and the platform is ultimately blamed. I’ve heard customers proclaim they were thinking about moving to a competitive product because of performance issues focusing on what they can see on the surface. The platform itself is very capable of performing in high scale scenarios, but for better or worse the actual end results largely depends on the changes made to a system by a development team. As the number of users of system increase into the tens of thousands it’s like a car being driven down a road at a faster speed. You can get away with a lot more mistakes or poor design decisions when you only have a few hundred users, but less so much when you have 10,000+ users.
Dynamics 365 Online Scale Groups
The general setup of Dynamics 365 online is based on what Microsoft calls scale groups which include small, medium, large and dedicated. I can’t say this with absolute certainty, but I believe the there is a formula for determining what scale group a customer will fall in largely based on number of users. Obviously this would make sense as a customer with 100 users versus one with 100,000 have drastically different resource requirements. There was once speculation that non-production tenants were run in lower resourced scale groups, but Microsoft as said this isn’t the case. I would think this is true considering the logistical requirements that would be necessary to move a system instance after an administrator decided to switch it to a production instance. There’s a lot of secret sauce that goes into how tenants are configured so there are some things the non-privileged population will never know. The one sentiment that seemed to stand out is the Microsoft wanted to avoid dedicated scale groups as much as possible. They didn’t want to get into the “hosting” business and instead keep as many customers in a standard operating environment. In situations where there was a significant business opportunity or a highly prized customer the online team would go the extra mile and provide dedicated environments, but I imagine this was fairly rare.
Back before Dynamics 365 version 9 systems were run in their own data center container alongside Azure. This was why Dynamics wasn’t available in every Azure datacenter since it wasn’t an Azure based service. As Microsoft continues to modernize the platform I expect that Dynamics will possibly become a tier 0 service that will be available in every Azure datacenter.
Dynamics v9 Move to Azure SQL Database
For Dynamics 365 version 9 we saw Microsoft transition the online platform to run on Azure SQL Database. Just like we’re seeing a transition from classic workflow to Power Platform Flow we will continue to see a transformation to a pure Azure system. This only makes sense so that the platform can then take advantage of all the goodness that comes with the continued investments in the cosmos of Azure services.
What is Azure SQL Database
Azure SQL Database is Microsoft’s managed SQL Server service that provides customers the benefits removing the overhead maintenance while providing a large degree of granular control and flexibility of database implementations. It can scale up to 100 TB of data and spans the ever growing number of Microsoft datacenters around the world. It allows for configurable backup and disaster recovery that allows for IT departments to focus on the actual business value activities. It also provides high availability with up to three hot replicas and built-in automatic failover with a 99.99-percent availability. So with all that said, the Dynamics product team decision to move to SQL Database is a win/win for everyone and allows for interesting future platform enhancements and capabilities. From a performance standpoint there is one thing we’re particularly interested in and that is this thing called DTU’s.
Azure SQL Database Performance
Traditional SQL Server implementations are thought of in terms of the size of the servers they run on including things such as memory, CPU and amount of disk capacity. The Azure SQL Database team wanted to create a way to wrap these concepts into a metric that would allow customers to choose how much capacity they needed. What they came up with was something called the DTU or database throughput units. A DTU describes the relative capacity of a performance level across a blended measure of CPU, memory, reads, and writes. As you increase the number of DTU’s for a database you can expect to see a higher level of performance. So if you’re seeing a drop in performance from you Dynamics 365 system then the culprit could be an insufficient DTU setting that’s been assigned to your system database.
How to Address Performance Challenges
When customers upgrade their systems to Dynamics version 9 there is a calculation that takes place to determine the number of DTU’s to assign to a particular instance. You have to remember that the Dynamics product team has to pay the Azure product team for the resources they are assigning your instance so naturally they’re going to lean towards the light side and hope you don’t notice the difference. Where this formula can break down is if you happen to have a lot of data with a relatively low number of users. This can cause the performance your system to noticeably drop from you were used to previously. The good news is this can easily be addressed by creating a support ticket in the Office 365 admin portal. Go into the Office 365 portal and create a support ticket mentioning that you’ve noticed a performance decrease since upgrading and request that the DTU’s of your Dynamics instances be raised.
- Azure SQL Database
- SQL Database DTU-Based Service Tiers