Creating a Dev/Test Environment Similar to Live/PROD

Hello,

I’m trying to figure out how other people are managing their environment with Morpheus test environment vs production, we would like to create two environment lets call it dev/test and another prod that contains live data, the dev/test will have replication of data from the prod and the dev/test environment will be used to test new features install latest update and for testing different kind of scenarios from automation to integration etc then when satisfied we’d like to push that into the prod environment.

Any idea or insight will be helpful.

Hello @Trading_Bot, I hope you are well today!

I’ll list some ideas and methods I’ve seen. However, there is no clear route, it usually is based on your environment/requirements.

  1. As far as the actual installation environments, some customers have an exact dev/test/qa/staging/etc. replica of their production environment. This means that if they have deployed a High Availability (HA) setup, they make it the same to ensure the upgrade process is flushed out for any potential issues with the OS or other external factors. Other customers that have a HA environment will keep just a single All-In-One (AIO) available for dev/test, as they are more focused on the Catalog Items, Blueprints, etc.

  2. Technologies that support a GIT integration, such as Terraform, CloudFormation, Ansible, etc., Morpheus supports using different branch references, allowing you to promote code via your version control. Items created using dev/test can be promoted from one GIT branch to another, so production will seamlessly use the new code.

  3. For Catalog Items, customers have recreated the same Catalog Items in the various environments. The same for Inputs, Option Lists, etc. Again, many times these items are backed by a technology that has a GIT integration, so really it is just the front end of it that is being created in each environment.

  4. Excluding the installation environment, some customers will manage their Morpheus configuration completely with code. Meaning they may use a combination of Terraform, Ansible, API calls, etc. to manage their environments. You can create Catalog Items, Inputs, etc. in dev/test with the code, then promote it/run it so the same is created in production. This allows managing Morpheus via a pipeline of sorts. This even provides a method to rebuild your environment, or make another, if needed, which would match your current environment(s).

Again, none of these are recommendations on the best way to handle it, just some ideas I can mention off the top of my head. Others might come along with their own experiences too.

Here are some additional links that might help:

Morpheus API Documentation

Morpheus Terraform Provider