Leading Practices When Deploying Coveo for Sitecore

A Cloud installation of Coveo for Sitecore is easier to maintain than an On-Premises one, as mirrors and redundancy are handled by the Cloud platform. However, there are still a few things to keep in mind when using Coveo Cloud.

Limit Your Developers Access

It’s often needed for developers to have access to an organization. However, you usually don’t want to give them full administrative access, for security reasons.

Create a group with limited access and to invite your developers into this group (see Sharing Your Customer License with Developers or System Integrators).

Have Many Coveo Organizations

It’s usually a good idea to isolate your Sitecore websites in different Coveo organizations. This way, you ensure that an error in a developer environment doesn’t affect the production environment.

As a rule of thumb, every Sitecore website should have its own Coveo organization.

Production Versus Non-Production Environments

Your production environment should be indexed in a Coveo organization where only the required sources are indexed. Every non-production environment should have their own separate Coveo organization.

For example, your production environment could be in a Coveo organization called My Production Organization while your UAT environment is in a Coveo organization called My UAT Organization.

Have Many Developer Environments

If you have many developers working on their own version of the Sitecore website, they should each have their own Coveo organization in which they can index their own copy of the website.

Because things tend to shift quickly in a developer environment, we recommend that you create Coveo Trial organizations, which are free to use and last for a month.

You can create a new trial organization at the end of the month, and rebuild your Coveo indexes from your Sitecore site. While you will lose your analytics and any external source configuration, you will keep your Sitecore configurations.

The following diagram shows a good example of what a Cloud environment should look like:

Cloud Limits

Your Coveo organization has different limits based on your license. For more details about your organization license, see Review Organization Settings and Limits.

  • To learn about the connectors offered by Coveo Cloud, see Connector Types.
  • To learn about more specific Usage Analytics limits, see About Usage Analytics Limits.
  • If you need to modify these limits or have questions concerning the Cloud, contact your Coveo Sales representative (see Contact Coveo).

For more information on other general good practices, see Coveo for Sitecore 4 Cloud - The Road to Production.

Coveo for Sitecore is a flexible solution that allows various deployment scenarios. This page will guide you to select the one that’s appropriate for your environment.

Same Server VS Dedicated Server

While the Coveo index can run on the same machine as Sitecore, it’s not mandatory; the Coveo index is perfectly capable of communicating with a remote instance of Coveo for Sitecore. This is therefore the first decision that you will need to make: whether to install the Coveo index and Sitecore on the same server.

We recommend that you run both on the same server for smaller sites (1CM & 2CDs) and to use dedicated servers for larger sites (2CM & 2CD or more).

These deployment scenarios are both well documented in the Coveo for Sitecore Upgrade and Migration Guides. However, keep in mind that, depending on the size of your Coveo index, the resources of your server (CPU, memory, and disk space) may be used to varying degrees. To get optimal performance, you may want to consider running Sitecore on a separate server, even for small sites. For more information, see Coveo Platform Hardware and Software Requirements.

Redundancy and Mirrors

The Coveo index offers many options when it comes to scaling (see Coveo Scalability Model). We recommend that you set up your environment with at least one mirror to provide redundancy. On appropriate hardware, one Coveo mirror can handle up to 25 Query per Second (QPS) (see About Mirror Servers). The baseline recommendation in terms of scaling is to add one mirror to your Coveo farm when you reach the 20 QPS threshold.

Developer Environment

For small teams of developers, we recommend that each developer run their own instance of the Coveo index. This allows everyone to manage and configure their own index, without impacting the other developers. This is also how Coveo for Sitecore is configured to be installed by default (out of the box).

For larger teams, you might not want your developers to all have a separate index, so you can configure a centralized Coveo index that serves all queries. When using this approach, you need to configure Coveo for Sitecore in such a way that it views all Sitecore instances as one.