Jump to: navigation, search

Solum/Environments

< Solum
Revision as of 19:30, 14 April 2014 by Roshan Agrawal (talk | contribs) (Environments)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Environments is a logical grouping of resources. 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 manager defining the app release lifecycle for our PaaS 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.