Hi,
We have in house SW development with support of full SW dev lifecycle, ie dev, FAT, UAT, prod environments.
For BP development we decided to simplify the lifecycle process with only dev, pre-prod, prod environments.
We skip FAT and UAT. Pre-prod means we run the process in production environment but it didn't get the official 'in production' tag yet. The first step of pre-prod is the acceptance test with business (the equivalent of UAT) and being strictly monitored by our operations team and business for the first weeks.
We only have 'production like' data in our UAT environment that would need special preparation to ensure it covers the scope of our process. Since we don't have IT projects for each of our process and our release cycles are much shorter than such projects, we decided for a pre-produdction approach.
The dev workplaces for our developers are located in the FAT environment.
Technically, we have two servers: production servers (1 app, 1 DB) and non-production server (1 app, 1 DB)
Each set of servers is located in its own network segment, but for us this does not matter. We cannot directly access the other environment (dev<>prod) but we don't have to anyways.
Each of the server runs several instances of BP with different purpose and required by GDPR.
Each production instance of BP has its own dedicated BP dev instance.
We also have an additional BP instance on our dev server, we call Training Environment. There are basically no restrictions in this environment and can be used for trainings and other temporary activities without affecting development in any way.
I think this training environment is similar to what Brent Swigert called 'sandbox environment'.
Please note, our Training environment cannot be used for SW evaluation and upgrades because this is just another instance of our dev server (where we of course don't install a new BP version while we still work with an older version).
We have another server VM for SW evaluation and upgrade preparation. It is located in our dev network. This application server shares the same repository DB with our dev application server. Probably it would be better to have a separate DB server for this evaluation server too.
For our last BP upgrade we used the evaluation server to grant users access to the new BP version, with upgraded copies of the current dev DB.
Eventually we used the evaluation servers to gradually upgrade our BP instances to the new version and making the evaluation server our new primary server, while keeping the current BP instances, just in case we need a quick fallback.
------------------------------
Walter Koller
Solution Manager
Erste Digital / Erste Group Bank
Europe/Vienna
------------------------------