Understanding the Coveo for Salesforce Architecture

When developing with Coveo for Salesforce, it can be useful to understand its architecture.

The different versions of Coveo for Salesforce have different structures.