A Softadmin® system may have multiple instances of the same system used for different purposes. Each system instance is characterized by it's "DeployLevel", which instances it may deploy changes to (deploy targets) and which instances it may receive changes from (deploy sources). The "DeployLevel" may be Development, Stage, Production.
Variation of the setups below may be used. The deploy setup and development setup should be chosen according to the project needs.
Common setups
Development -> Stage -> Production
The most common setup. The Stage-system usually exists for the ordering party to perform the final testing before pushing to production.
graph TD
Development[Development] --> Stage[Stage]
Stage --> Production[Production]
Multiple test environments
This setup may be used for many different reasons. Some which might be:
- Stage-system may have Production-like data, which all testers may not have permission to view.
- I may make it easier to have a untouched instance (Stage) where critical manual fixes may be tested without other new features (Test).
graph TD
Development[Development] --> Test[Test]
Test --> Stage[Stage]
Stage --> Production[Production]
Development -> Production
This setup is used in very light agile projects, where errors in production are acceptable.
graph TD
Development[Development] --> Production[Production]
Multi tenant
This setup is used when the same system is delivered to multiple tenants, which all has their own data that should never be shared.
Example 1.
graph TD
Development[Development] --> Stage[Stage]
Stage --> Production1[Production 1]
Stage --> Production2[Production 2]
Stage --> Production3[Production ...]
Example 2.
graph TD
Development[Development] --> Stage1[Stage 1]
Development[Development] --> Stage2[Stage 2]
Stage1 --> Production1[Production 1]
Stage2 --> Production2[Production 2]
Non-linear instances
Deployment instances may be configured in a non-linear way. This can be done in multiple ways.
graph TD
Development[Development] --> Test[Test]
Development --> Stage[Stage]
Stage --> Production[Production]
Unsupported setups
Non-linear instances with common targets
While setups like this can be used, it will likely cause problems. Database designer will create script incompatible with these setups. Using variations of these setups are unsupported.
graph TD
Development[Development] --> Stage1[Stage 1]
Development --> Stage2[Stage 2]
Stage1 --> Production[Production]
Stage2 --> Production