Azure Search and Dynamics 365: Multitenancy at scale

Posted on 2 February, 2017

Program Manager, Azure Search

In late 2016, Dynamics 365 launched their new Relevance Search functionality as a result of a partnership between the Dynamics and Azure Search teams. Relevance Search is generally available worldwide to every customer on the December 2016 Update for Dynamics 365 (online) release.

Azure Search at scale

Dynamics 365 is one of the largest deployments of Azure Search. About 2,000 organizations have opted into CRM relevance search and that number is growing by dozens each day. By enabling members of these organizations to search through a variety of records spanning a number of entity types, including accounts, contacts, emails (including the content of email attachments), faxes, invoices, contracts, among many others.

As of the date of this posting, thousands of organizations have indexed more than 160 million records using Dynamics 365 Relevance Search. These organizations have issued almost 8 million search queries to Azure Search with an average latency of under 90 milliseconds.

How Dynamics 365 configured Azure Search

Dynamics 365 has provisioned separate search services in each Azure geography where Dynamics 365 is offered. Within each region’s service, each Dynamics customer is assigned an individual Azure Search index. This index-per-tenant model is described in the whitepaper Design patterns for multitenant SaaS applications and Azure Search.

S3HD-indexpertenant Dynamics@2x

Using Azure Search’s comprehensive APIs, the Dynamics team built a robust infrastructure to handle index lifecycle management and index allocation. Additionally, Dynamics 365 implemented their complex row level security trimming using Azure Search filter expressions to ensure that document security was not compromised across each organization that uses Relevance Search.

S3 High Density

Dynamics 365’s Relevance Search is successfully deployed using Azure Search’s S2, S3, and S3 High Density (HD) pricing tiers. S3 HD was designed specifically for multitenant scenarios built on the index-per-tenant model, supporting up to 3000 indexes in a single service. With this configuration, Dynamics 365 is able to effectively and cost-efficiently serve search traffic for not only their largest and most active customers, but also their long tail of small and medium-sized tenants – all at a global scale.

Read more

You can learn more about Azure Search and its capabilities and find our documentation. Please visit our pricing page to learn about the various tiers of service to fit your needs. You can also read more about modeling multitenancy in this whitepaper.