Skip to content

Definition

   An environment or Runtime Environment as it can also named, represents the collection of all infrastructure elements that are required for the application to operate at a specific level in the Software Development Life Cycle (SDLC).

   During development of the application, the environment used to deploy, test and validate this is the "Development Environment" or the DEV environment for short. The development environment runs multiple "sub-environments" as there are multiple stages in this particular side of the lifecycle (namely development and testing) and there are multiple tracks / branches that the product is being developed on, at different maturity stages during development (eg. active release branch, development branch, future development branch).

   All these sub-environments are isolated within the same physical runtime environment using Kubernetes namespaces as well as other "isolation" methods specific to other resource types (eg. different SQL Server databases running in the same server, different storage folders or containers running in the same Storage Account, etc).

   Once the application or a functionality has reached a certain maturity and quality level, can be pushed further downstream to users closer to the business, where the "User Acceptance Testing" is being done. Hence, this is done on the so called "User Acceptance Testing Environment" or the UAT environment for short.

   Lastly, once a functionality is ready to meet the target users, this can be pushed even further downstream to the "Production Environment" or PROD environment for short.

Environments & their lifecycle

Environment Short Name Lifecycle Current State
Development dev - Automatically created/destroyed using cron-jobs
- Available during development work time
eg: Monday to Friday, 08:00 to 18:00
User Acceptance Testing uat - Automatically created and destroyed using manual triggers
- Available during User Acceptance Testing phases
Production prod - Manually created
- Allways available upon initial launch