Jump to: navigation, search

Solum/Environments

Environments is a logical grouping of resources. App actions (deploy, view stats, etc) can be targeted per environment. Certain constraints (permissions, resource quotas, etc) can also be applied per environment. Following are some of the use cases.

Use cases

1. As an application developer deploying my app onto Solum, I should be able to specifiy the environment where my app gets deployed i.e. Dev, Test, Staging, Prod

2. As a release manager defining the app release lifecycle for our apps, I should be able to define my "custom" environments in addition to the predefined ones such as Dev/Test/Staging/Prod. An example of a custom environment could be "Performance Test Environment".

3. As a release manager for a team deploying apps via Solum, I should be able to specify resource quota's (amount of compute/storage) per environment. Once the resource quota is hit, I should be able to specify a soft threshold (email notification), or a hard threshold (i.e. prevent further resource use on the environment)

4. As a release manager for a team deploying apps on Solum, I should be able to specify which user can perform what actions on each environment. For example, a developer might have more access to a dev environment [deploy app, start/stop app, delete app, view app status+statistics], and less access to a production environment [view access only]

5. As a release manager, I should be able to specify the "entry gates" for app deployment by environment. For example

  • unit tests must pass for dev environment
  • functional tests must pass for test environment
  • performance tests must pass for staging environment


6. Promotion of apps from one environment to the next: as a release manager, I should be able to "promote" an app from one environment to the next. For example, once test signoff is received from the QA team, I should be able to promote the app from the Test environment to the Staging environment. When an app is promoted, the DU/image is not rebuilt from code, rather the same DU from the Test environment is deployed to the Staging environment.