Staging environment should mirror the production environment in terms of configuration. This environment is typically used for User Acceptance Testing (UAT), recreating production issues, testing application patches, and load testing. As this environment mirrors production, it is expensive to keep it running continuously. Hence, it should be spun up only when necessary to support the aforementioned activities. Application deployments occur only when required, for instance, to test the application before a production migrations.