Environment
An environment is a separate copy of a system with its own job: code is written on one, checked on another, and users work on a third. A change moves through the environments in order: local, dev (with feature stands alongside it), test, pre-prod, demo, prod. The closer to production, the closer the settings and data are to the real ones and the more a mistake costs.
All environments: what they check, who uses them, what data
| Local | Feature | Dev | Test | Pre-prod | Demo | Prod | |
|---|---|---|---|---|---|---|---|
| What it checks | write and try | one branch on its own | code fits together | everyone integrates often | like production | client demo | users at work |
| Test stand | no | yes | yes | yes | yes | not always | no |
| Who uses it | a developer | the branch author | the team | QA | the team | the client | customers |
| Data | test | test | test | a copy of production or mocks | a fresh copy of production | samples or real | real |
| Always there | yes | not always | not always | almost always | not always | not always | yes |
Kinds of environments · 7
- Local environment · The local environment is a copy of the system on the developer’s own computer.
- Feature stand · A feature stand is a temporary copy of the system for one new feature, that is one code branch.
- Dev environment · Dev (the development environment) is the environment shared by the team where code lands after a merge: it checks that the code of different developers builds and works together.
- Test (integration) environment · Test is a shared environment where the changes of all teams and services are brought together often, daily or after every merge, to check that they work together.
- Pre-prod · Both “preprod” and “pre-prod” are correct (in Russian, «препрод» and «предпрод»).
- Demo environment · A demo environment is where a product is shown to a client or colleagues.
- Production · Prod (production, the live environment) is the environment real users work with, and its data is real.
Source: Wikipedia: Deployment environment