The Future Role of Azure For Microsoft Dynamics CRM


The Microsoft Dynamics Technical Conference this year divulged the key role that Azure and Power BI are to play in the future of Microsoft Dynamics CRM and AX for both cloud and on-premise customers. The adoption of Azure is encouraged in the context of the components like Power BI, Azure SQL Database, Social listening, Machine learning and Azure storage.

What Is Windows Azure?

Windows Azure is an open and flexible cloud platform that enables you to quickly build, deploy and manage applications across a global network of Microsoft-managed datacenters. You can build applications using any language, tool or framework. And you can integrate your public cloud applications with your existing IT environment.” – Microsoft

Microsoft Dynamics on the Windows Azure Platform

If you are looking for a cloud computing solution from Microsoft, look no further; Microsoft Dynamics ERP on Microsoft’s Azure platform is the solution you have been waiting for. Not only does this completely eliminate the need to invest in server or storage hardware, it also removes the ongoing burden of supporting infrastructure and replaces it with a high-availability, highly-reliable, and a high-sustainability platform that is equally accessible from wherever you open operations next.
Windows Azure Top Features (to name a few):

– 99.95% monthly SLA
– Build and run highly available applications without focusing on the infrastructure
– Automatic OS and service patching
– Resilient to hardware failure
– Use any language, framework or tool to build apps
– Scale applications to any size
– Unlimited server and storage potential
– Only pay for the resources you use
Azure Integration with Microsoft Dynamics CRM:
Azure and Microsoft Dynamics CRM can be integrated by connecting the CRM event executing pipeline with Microsoft Azure service bus.

The key elements that implement the connection between Microsoft Dynamics CRM and the Microsoft Azure Service Bus are as follows:

Asynchronous service

The asynchronous service is responsible for posting the Microsoft Dynamics CRM remote execution context to the Microsoft Azure Service Bus. Each post is performed by a system job of the asynchronous service. A user can view the status of each system job by using the Microsoft Dynamics CRM web application.


There are two kinds of asynchronous registered plug-ins supported by the connection feature: out-of-box (OOB), those plug-ins that are provided with CRM, and custom.

An Azure-aware plug-in is provided with CRM. This plug-in executes in full trust with the Microsoft Dynamics CRM platform. When registered with Microsoft Dynamics CRM, the plug-in can notify the asynchronous service to post the current request’s context to the Microsoft Azure Service Bus. A developer needs to register a step on this plug-in that identifies the target message and entity to enable the service bus posting functionality.

You can also write your own custom plug-in that is “Azure-aware”. The custom plug-in executes in partial trust mode in the sandbox and can call any Microsoft Dynamics CRM SDK methods. A custom plug-in can initiate posting of the Microsoft Dynamics CRM context to the service bus by including some standard lines of code that notifies the asynchronous service to post the request context. This cloud-specific code makes the plug-ins “Azure-aware”.

Custom workflow Activities

Custom workflow activities can be written to post the current request’s data context to the Microsoft Azure Service Bus.

Microsoft Azure Service Bus

The service bus relays the remote execution context between Microsoft Dynamics CRM and Microsoft Azure Service Bus solution listeners. The Microsoft Azure Active Directory Access Control Service (ACS) manages claims-based authentication security.

Microsoft Azure solution

For the CRM and Azure connection to work there must be at least one solution in an Microsoft Azure Service Bus solution account, where the solution contains one or more service endpoints. For a relay endpoint contract, a listener that is “CRM-aware” must be actively listening on the endpoint for the CRM request on the service bus. For a queue endpoint contract, a listener doesn’t have to be actively listening.