Microsoft Dynamics 365 and Power Platform are pushing serious Azure scale, architects report

October 12 2020

Microsoft often alludes to the value of the feedback loop between the business applications group that develops Dynamics 365 and Power Platform products and the core technology teams that power those solutions, from database to operating system to architecture and development. As the products moved from on-premises to cloud in the last decade, that relationship has become even closer as thousands of customers now depend on nearly continuous updates, often performed on their behalf by Microsoft. 

In a new blog post, Silvano Coriani, a Principal Program Manager on the Azure SQL Database team, provided some new stats and perspective on the relationship between business applications, the Azure services on which they now rely, and how the teams have tuned cloud services to support a growing customer base.  

The post includes "[s]ome never before shared details," according to Microsoft CVP Charles Lamanna. And it demonstrates that "engineers from Dynamics and Azure teams have worked hard together," according to Coriani. 

Business apps at scale 

The biggest revelation is the scale that Dynamics 365 and Power Platform now requires in Microsoft's cloud operations. The services use over a million Azure SQL databases to run the Common Data Service (CDS) instances that underly so much of the business apps suite today. Even apps that do not use CDS as their primary backend, like D365 Finance, Supply Chain Management, Business Central, and Commerce, may still deploy CDS instances to power dual-write scenarios or to enable the creation of Power Apps and Power Automate flows that work with the core ERP systems. 

The post dives into a range of the decisions that Microsoft teams have made in architecting CDS and how the complexities of transactionally intense solutions running at scale made some of these decisions so consequential. Here are a few highlights: 

  • They have adopted Elastic Pools to host their database fleet. "Azure SQL Database Elastic Pools are a simple and cost-effective solution for managing and scaling multiple databases that may have varying and unpredictable usage demands." 

  • They developed a customer management layer called Spartan. It is "designed to reduce the amount of manual efforts to the bare minimum. Spartan is an API layer taking care of database CRUD operations (create, read, update, delete), but also all other operations like moving a database between elastic pools." 

  • Another micro-service, Data Administration and Management Service (DAMS), "has been developed to schedule and execute maintenance tasks and jobs…With help from Microsoft Research (MSR), Dynamics team has ported SQL Server’s Database Tuning Advisor (DTA) to Azure SQL and integrated it into the microservice." 

  • "Working side by side with Azure SQL Database engineers, the Dynamic team helped improving many areas of the database engine." 

  • While a single CDS database instance maxes out at 4TB, the team is looking into ways to support bigger data stores. "[The] Dynamics team is looking into Azure SQL Database Hyperscale as their next-gen relational storing tier for their service.  

Historical perspective 

In addition to discussing today's challenges and innovations, the post also explores the architectural legacy of Dynamics 365 and Dynamics CRM. The story, as they summarize it, begins with an evolution from the pure on-premises products of the past to a first generation of Dynamics cloud solutions built up from bare metal in Microsoft data centers.  

"[T]o manage and maintain all this on a traditional platform was 'painful for both engineers and end customers'," they wrote. Moving their platform to Microsoft Azure aimed to solve these management and operational challenges. 

And with a bit of story-telling flourish, they explain that CDS emerged to provide "a common underlying platform where Dynamics applications were going to be regular applications just like what other ISV companies could build and run."  

CDS as a platform not only established a new path forward for Microsoft business applications, it solidified a transition of leadership in the Dynamics product line, especially on the non-ERP products. It's true that the product line has now reached a stage, thanks in large part to CDS and the commitment to cloud-based products, that the old approach of bundling CRM-related applications has now disappeared. Products like D365 Sales, Customer Service, Marketing, and others stand alone, built atop the same CDS framework that custom apps use (albeit with an approach that still involves the contentious matter of protected entities that only Microsoft teams can use). 

The post also supports the argument that the technical responsibilities of Microsoft, partners, and customers have been transformed for the cloud era. The challenges are different, and the roles, responsibilities, and skills have shifted. But the stakes remain high, with the fate of hundreds of thousands of critical business systems and over a million database instances hanging in the balance.

FREE Membership Required to View Full Content:

Become a MemberLogin
Joining MSDynamicsWorld.com gives you free, unlimited access to news, analysis, white papers, case studies, product brochures, and more, and it’s all FREE. You’ll also have the option to receive periodic email newsletters with the latest relevant articles and content updates. Learn more about us here
About Jason Gumpert

As the editor of MSDynamicsWorld.com, Jason oversees all editorial content on the site and at our events, as well as providing site management and strategy. He can be reached at jgumpert@msdynamicsworld.com.

Prior to co-founding MSDynamicsWorld.com, Jason was a Principal Software Consultant at Parametric Technology Corporation (PTC), where he implemented solutions, trained customers, managed software development, and spent some time in the pre-sales engineering organization. He has also held consulting positions at CSC Consulting and Monitor Group.

More about Jason Gumpert