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.

Understanding 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 Cloud 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 and processing 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.

2: You can’t manually force queries into one particular region.

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.

  • 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
  • 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