Deploy custom language projects to multiple regions
This article applies to the following custom features in Azure AI Language:
Custom Language service features enable you to deploy your project to more than one region, making it much easier to access your project globally while managing only one instance of your project in one place.
Before you deploy a project, you can assign deployment resources in other regions. Each deployment resource is a different Language resource from the one you use to author your project. You deploy to those resources and then target your prediction requests to that resource in their respective regions and your queries are served directly from that region.
When creating a deployment, you can select which of your assigned deployment resources and their corresponding regions you would like to deploy to. The model you deploy is then replicated to each region and accessible with its own endpoint dependent on the deployment resource's custom subdomain.
Suppose you want to make sure your project, which is used as part of a customer support chatbot, is accessible by customers across the US and India. You would author a project with the name ContosoSupport using a West US 2 Language resource named MyWestUS2. Before deployment, you would assign two deployment resources to your project - MyEastUS and MyCentralIndia in East US and Central India, respectively.
When deploying your project, You would select all three regions for deployment: the original West US 2 region and the assigned ones through East US and Central India.
You would now have three different endpoint URLs to access your project in all three regions:
- West US 2:
- East US:
- Central India:
The same request body to each of those different URLs serves the exact same response directly from that region.
Validations and requirements
Assigning deployment resources requires Microsoft Entra authentication. Microsoft Entra ID is used to confirm you have access to the resources you are interested in assigning to your project for multi-region deployment. In the Language Studio, you can automatically enable Microsoft Entra authentication by assigning yourself the Cognitive Services Language Owner role to your original resource. To programmatically use Microsoft Entra authentication, learn more from the Azure AI services documentation.
Your project name and resource are used as its main identifiers. Therefore, a Language resource can only have a specific project name in each resource. Any other projects with the same name will not be deployable to that resource.
For example, if a project ContosoSupport was created by resource MyWestUS2 in West US 2 and deployed to resource MyEastUS in East US, the resource MyEastUS cannot create a different project called ContosoSupport and deploy a project to that region. Similarly, your collaborators cannot then create a project ContosoSupport with resource MyCentralIndia in Central India and deploy it to either MyWestUS2 or MyEastUS.
You can only swap deployments that are available in the exact same regions, otherwise swapping will fail.
If you remove an assigned resource from your project, all of the project deployments to that resource will then be deleted.
Orchestration workflow only:
You cannot assign deployment resources to orchestration workflow projects with custom question answering or LUIS connections. You subsequently cannot add custom question answering or LUIS connections to projects that have assigned resources.
For multi-region deployment to work as expected, the connected CLU projects must also be deployed to the same regional resources you've deployed the orchestration workflow project to. Otherwise the orchestration workflow project will attempt to route a request to a deployment in its region that doesn't exist.
Some regions are only available for deployment and not for authoring projects.
Learn how to deploy models for: