Difference between revisions of "Solum/Environments"
(→Use cases) |
(→Use cases) |
||
Line 4: | Line 4: | ||
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 | 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 | + | 2. As a release manager 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) | 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) |
Revision as of 19:32, 14 April 2014
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 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.