Deployment Regions and Strategies

When creating a Coveo organization, you select a primary deployment region. This is the physical center of your organization, which hosts all services and data required for your organization to function. Coveo also offers the possibility of deploying to additional satellite regions, which duplicate only the contents required to perform search requests. As such, satellite regions don’t replace your primary region, but can respond to end user queries to improve query time.

This article provides details on primary and satellite deployment regions, and explains how to leverage them to implement two deployment strategies:

  • Data residency, where you only deploy to a primary region in order to have all of your data reside in the target region.

  • Multi-region deployments, where you deploy to satellite regions in addition to your primary region to improve search response times for international users.

The following table shows the primary and satellite deployment regions currently offered by Coveo.

Region Availability
Primary region Satellite region
US East
US West
Ireland
Australia

For pricing or information about additional regions that may be added in the future, contact Coveo Sales.

These various deployment regions are only available for non-HIPAA, non-Elasticsearch, production (i.e., not non-production), Coveo organizations.

About Primary and Satellite Regions

Your primary deployment region holds all of your Coveo data and is where your main organization processes take place. Satellite regions only contain duplicates of the content and services required for your end users to perform queries, namely your index, ML models, and the Search API. The Coveo indexing pipeline, Usage Analytics service, and main Platform services remain exclusively in the primary region.

Primary region Satellite regions

Complete Coveo organization:

  • Search API
  • ML - Model building and serving
  • Index and indexing pipeline
  • Usage analytics
  • Logs
  • etc.

Only what's required to handle search requests:

  • Search API
  • ML - Model serving
  • Index

Data Residency

Data residency is a deployment strategy that aims at storing all your Coveo data in a single region. A typical use case is companies based outside of the United States that don’t want their data to be stored in the United States. To handle such scenarios, select another primary deployment region, such as Ireland or Australia, as your primary deployment region, with no satellite deployment.

Data Residency Configuration

Assuming you have contacted Coveo Sales and have completed the administrative tasks required to deploy exclusively in your target primary region, the technical configuration is almost seamless. You only need to use the dedicated domain name in your Coveo API requests and when navigating to the Administration Console.

When using the Push API:

Region Domain

US East

api.cloud.coveo.com/push

Ireland

api-eu.cloud.coveo.com/push

Australia

api-au.cloud.coveo.com/push

When using all other Coveo APIs, and when navigating to the Administration Console:

Region Domain

US East

platform.cloud.coveo.com

Ireland

platform-eu.cloud.coveo.com

Australia

platform-au.cloud.coveo.com

Configuring a JavaScript Search Framework Interface for European Data Residency

You have contacted Coveo Sales and have taken care of the administrative tasks required to make Ireland your primary and only deployment region. Now, when using the Coveo JavaScript Search Framework, you set your search endpoint to https://platform-eu.cloud.coveo.com/rest/search rather than https://platform.cloud.coveo.com/rest/search:

Coveo.SearchEndpoint.configureCloudV2Endpoint(<YOUR_COVEO_CLOUD_ORGANIZATION_ID>, <YOUR_SEARCH_TOKEN>, "https://platform-eu.cloud.coveo.com/rest/search");

Multi-Region Deployments

The goal of multi-region deployments is to reduce query times for international end users by deploying satellite regions. Rather than having all end user queries travel to and from your primary deployment region, the service automatically routes them to your closest deployment2, primary or satellite, which can dramatically reduce query response time. Additionally, if a satellite deployment encounters an issue, the service routes queries to your primary deployment region. This increases the overall resiliency of your search solution.

Search Response Time Examples

While the following are real-life examples, they’re merely examples, meant to illustrate the logic of multi-region deployments. Exact figures vary significantly from organization to organization, from query to query, and from caching along the Internet.

Example 1

You have no satellite deployment. When an end user located in Paris makes a query, this query goes to your primary and only deployment, in the US East Region. The results then travel back to Paris. The query suggestions reach the end user after a total of 283 milliseconds, and the results after a total of 441 milliseconds.

You now add a satellite deployment in Ireland. When an end user located in Paris makes a query, this query is now automatically routed to your Ireland deployment. The query suggestions reach the end user after a total of 102 milliseconds, and the results after a total of 168 milliseconds.

The following table summarizes the above scenarios:

Before After
Query time (ms) 441 168
Query suggest time (ms) 283 102

Example 2

Your organization is currently deployed in a single region, namely US East. You then decide to also deploy it in the US West and Ireland regions, and compare the query times before and after, from different regions across the world:

Query origin Query time before (ms) Query time after (ms)
US West 388 188
US Central 164 164
US East 110 110
Brazil 645 637
France 441 168
India 1042 766
Australia 1098 874
Japan 855 565

Configuration

Assuming you have contacted Coveo Sales and have taken care of the administrative tasks required to deploy your organization over satellite regions, the technical configuration is almost seamless. You only need to use a dedicated domain name in your Coveo Search API requests. Requests to other Coveo APIs don’t change.

Coveo will provide you with a custom domain name to use in your Search API requests instead of platform.cloud.coveo.com or platform-eu.cloud.coveo.com.

Concretely, that will mean using this domain name when configuring your JavaScript Search Framework endpoints, and when making requests to the Search API directly.

Example: Configuring a JavaScript Search Framework Interface for a Multi-Region Deployment

Your primary deployment region is US East, and you have satellite regions in US West and Ireland. Coveo provides you with the following custom domain name when making your Search API requests: mycompany.cloud.coveo.com.

When using the Coveo JavaScript Search Framework, you set your search endpoint to https://mycompany.cloud.coveo.com/rest/search rather than https://platform.cloud.coveo.com/rest/search.

Coveo.SearchEndpoint.configureCloudV2Endpoint(<YOUR_COVEO_CLOUD_ORGANIZATION_ID>, <YOUR_SEARCH_TOKEN>, "https://mycompany.cloud.coveo.com/rest/search");
Recommended Articles