When embedding autotests into a pipeline, the question often arises, on which particular instance (bench, website, circuit, etc.) will our autotests be run. As an option, use static instances, but this approach has its drawbacks, for example, problems with test data, performance, etc.

To avoid problems with this, ephemeral or dynamic environments were invented. As a result, when implementing this approach, we get a more stable environment for running tests, parallelization into several environments, cost savings, etc.

The implementation depends on the application itself. If your application is already somehow deployed in the cloud using the “infrastructure as code” approach, then in principle there should be no big problems.

About the problems of static environments: https://pipelinedriven.org/article/the-four-biggest-issues-with-having-static-environments

More details about this approach:
https://ephemeralenvironments.io/
https://pipelinedriven.org/article/ephemeral-environment-why-what-how-and-where