
Accelerate DevOps with GitHub
By :

A stage or tier is an environment in which a piece of software is deployed and executed. Typical stages include Development
, Test
, Staging
(or Pre-Production
), and Production
. Typically, the Staging
, or Pre-Production
, stage is a complete mirror of the production environment, and sometimes, it is used for zero-downtime deployments by switching the two environments using load balancing. Typically, stages that are closer to production require manual approval before deployment.
If a company works with feature flags (please refer to Chapter 10, Feature Flags and the Feature Lifecycle) and CD, normally, the number of stages decreases. Instead of stages, we can talk about ring-based deployments or scaling units. The idea of ring-based deployments is that you have customers in different productions rings. You deploy your update to one ring and automatically monitor the system for unexpected exceptions or unusual metrics such as CPU or memory usage. Additionally, you...