1. Microsoft, Azure, "Deployment Staging environments":
o URL: https://learn.microsoft.com/en-us/azure/app-service/deploy-staging-slots
o Relevant Information: While specific to Azure App Service, the concept of a staging
slot (environment) is for deploying and testing changes before swapping to production.
"Deployment slots let you deploy different versions of your app to different URLs. You
can use slots for staging new features, A/B testing, or maintaining a production version
while working on a new one...After you validate your changes in a staging slot, you can
swap the staging slot with the production slot." This supports the idea of final validation
before go-live, implicitly including assessing impacts and potentially demonstrating
features. The use of "production data" in staging (often a sanitized subset) is a common
best practice for accurate testing.
2. AWS, "Workload hosting > Environments":
o URL: https://docs.aws.amazon.com/wellarchitected/latest/workloadhosting/environments.html
o Relevant Information: This document discusses different environments. While not
explicitly detailing "subset of customer data" for staging, it describes staging (or pre-
production) as an environment that "should be as identical as possible to the
production environment" and is used "to test the software before it is released to the
production environment." This identical nature is key for assessing upgrade impacts
and makes it suitable for demonstrations.
3. Atlassian, "Deployment environments: Development, staging, production,
and testing":
o URL: https://www.atlassian.com/continuous-delivery/principles/deploymentenvironments
o Relevant Information: "A staging environment (stage) is a near-replica of a production
environment... Staging environments are used to test and catch any code issues before
they are deployed to a production environment. This environment should be as similar
to production as possible, which can help to test for performance, data integrity, and
usability... It can also be used for demonstrations, training, or user acceptance testing
(UAT)." This directly supports using staging for testing major changes, demonstrating
features, and often implies the use of production-like data (a subset).
4. University of Washington, "Environments - Test, Staging, Production":
o URL: https://www.washington.edu/cac/ fauc/ISDOC/Projects/devenviron.html (Note:
The direct link might be subject to change over time, searching for "University of
Washington software development environments" might be needed). A more stable
similar resource: University of Michigan, "Development, Staging, and Production
Environments":
o URL: https://safecomputing.umich.edu/protect-the-u/protect-yourunit/information-security-guidelines-and-procedures/development-staging-and-
production-environments
o Relevant Information: "The staging environment serves as a model of the production
environment... Testing in this environment should focus on integration with other
production or production-like systems... The staging environment is also often used for
demonstrations and training on new features as it closely resembles the production
environment without being the live system." This again highlights its role in
demonstrations and testing major changes with production-like data.