CD, CM, CE, Oh My!

Recently a coworker asked me a question:

Hey Ed, the client is referring to their "CE" environment... what's a CE environment?

I'm sure everyone reading this knows what CD and CM mean, but CE was a new one to me as well. I checked and was able to confirm that CE stood for "Content Editing" and was being used by the client as the same thing as CM.

However, in this context "CE" is not an environment but a server role. Not a huge distinction, but worth noting.

I'm sure this is not the first time someone has asked what a specific environment/server acronym stood for. Here's a list of common environment/server names/acronyms you'll probably see in Sitecore development (N.B. odds are your architecture does not have all of these, and that's normal):

Server roles:

  • CD: Content delivery servers face the public Internet and are the servers that site visitors access to see the site. Most sites have more than one of these servers.
  • Front end: Same as CD
  • CM: Content management servers are where authors, editors, and administrators access the Sitecore backend (i.e. /sitecore). These servers are usually hidden from the public Internet by a firewall.
  • CE: Content editing (or content entry) servers are (usually) synonymous with CM servers.
  • Backend/Authoring: Same as CM
  • Search/Solr/Coveo: Search servers are where the search service lives. Often times this server might be called for the name of the search technology (e.g. Solr, Coveo). These servers are usually hidden from the public Internet by a firewall.
  • DB: Database servers are where - surprise - the database lives. These servers are usually hidden from the public Internet by a firewall.
  • OMS/DMS/xDB/Analytics: Database servers that host the analytics databases. (OMS and DMS are names of Sitecore's older analytics tools. Hopefully you won't see these ever). These servers are usually hidden from the public Internet by a firewall.
  • App/API: Servers that host various other apps for a site. Sometimes these servers host the search provider, sometimes they host custom APIs, sometimes many things. These may be open to the public Internet or may not be, depending on what they are actually doing.
  • LB: Load balancers are dedicated appliances, servers, or cloud entities that manage spreading load between more than one CD server.

Environments:

  • Production/Live: What the public sees. Don't mess this up.
  • Staging: Servers that mimic production but are used as the ultimate testing location before production. This environment should be as close to production as possible in terms of architecture.
    • N.B. Azure PaaS uses the names "Production" and "Staging" to denote swappable web roles. In my experience, different companies handle these roles differently. Consult your coworkers/managers/IT/clients to make sure you know your terms.
  • DR: Disaster recovery servers are hot-swappable servers that mirror production servers but are hosted at a separate location. Usually "DR" is used as a prefix (e.g. "DR-CM" would be the disaster recovery CM server). Often the DR environment has fewer/smaller servers than production to save money (think of the "donut" spare tire vs. a full-size spare tire).
  • UAT: "User Acceptance Testing" (often pronounced "you-at" or spelled out "you-ay-tee") environment exists for the stakeholders to experience tested work and use the features they asked for. This environment should be fairly stable (no auto-deploy).
  • QA: "Quality Assurance" environment is where QA engineers (you do have a dedicated QA team, yes?) test developed work. This environment often has a lot of extra and test content.
  • Dev/Support/[ProjectName]: Depending on the project and team, there may be one or many environments at this level, named for the ongoing development effort. The most common name is "Dev". "Suppport" is used for ongoing support development. When multiple projects are being developed at the same time, these environments are named for the project being developed on.
  • Local: Works on my machine :).

This isn't a complete list, because I'm sure some teams have some esoteric or rare environments or servers that I'm not aware of. However, if I am missing something common, let me know and I'll update this list.

EDIT: Fixed a typo and added "content entry" as a meaning for CE. Thanks Chris and Sean!