Is there a canonical definition of the staging environment?
Asked Answered
S

1

21

It is my understanding that the (legitimate) purpose for a staging server is for testing the deployment process, rather than your code's acceptance or function. However, I almost never find people who share this understanding, with the most common alternative being that a staging server is synonymous with a UAT server. Googling for an answer, I've found staging servers defined as

  • UAT servers
  • QA servers
  • integration servers
  • content servers

Quite possibly the worst definition I've found is on Wikipedia, which I'll quote here due to the ephemeral nature of content there, and the fact that someone reading this question might go fix Wikipedia and make any link I give to it become a counter-example instead of an example of what I'm talking about:

Staging site, in website design, is a website used to assemble, test and review its newer versions before it is moved into production. This phase follows the development phase. The staging phase of the software life-cycle is often tested on hardware that mirrors hardware used in the production environment. The staging site is often different from the development site, and provides a QA zone that is separate from the development or production environments.

Normally before deploying an updated version of software to the production environment, the update has been tested in the staging environment. The staging server will resemble the production environment where the clients can do the user acceptance testing activities. Tests on Staging server/site should be passed before deployment of system on live server, i.e. production environment.

In fact, the only examples of (what I understand to be) the correct use of the term are on StackOverflow. For example, the main answers to this question, and this answer.

I'd like to demonstrate to my co-workers that (among those in the know) staging is different from UAT and QA etc. Is there some canonical definition, such as in a book where the term was first defined? Obviously all these secondary sources I've found seem to be a reflection of common usage, but I think that common usage is mostly shaped by people who are more interested in throwing around buzzwords than in making careful distinctions and using words precisely.

Scale answered 29/10, 2012 at 18:27 Comment(3)
Good question, +1. May I ask, where did your understanding of what a staging environment come from, and why don't you call it out here? What leads you to believe that your understand is, in fact, correct?Flytrap
My understanding comes from several things, including answers on SO that I mentioned, the fact that common understandings conflict, the fact that the term is redundant in other common understandings, & the fact that (in my opinion) the best way to do a deployment is to have multiple servers and take some out of the pool to upgrade, and then swap out what's in and what's out. This makes the change from old to new instantaneous, and with no downtime. There's got to be a name for those servers, and staging fits perfectly, & explains how careless speakers would misuse the word in ways described.Scale
Also, there needs to be a place to test the deployment process, and the only 100% reliable test would be on a production server (of which you should always have more than 1!).Scale
J
13

The book on continuous delivery has become a de facto canonical text on the topic. It is in agreement with your understanding of staging.

A staging environment is a testing environment identical to the production environment (page 110)

They do mean testing of the deployment process because there is a figure 10.1 in the book where staging sits after QA and customer sign-off and before operations sign-off.

Jonell answered 30/10, 2012 at 7:23 Comment(2)
Thanks. Your mention of the diagram supports the shared understanding, but the quote doesn't seem to, since someone might say the same about UAT, or even QA. Do you have any more definitive quotes? Or can you include the diagram?Scale
The book has a number of sentences that imply what you say but I could find anything more explicit than the diagram. It is copyrighted material so I'm not sure that I can reproduce it here. It is a book worth buying though.Jonell

© 2022 - 2024 — McMap. All rights reserved.