Testing is an integral part of any DevOps release cycle and many continuous integration (CI) tools have “run tests” as one of the software development processes. Because of all the delays and frustrations associated with traditional static test environments companies are now moving to a more modern tool for their cloud development needs and automated testing requirements. Environments as a service (EaaS) platforms are that tool.
Environments as a Service platforms create an on-demand environment based upon your pull request (PR).
It’s your dedicated ephemeral space where you can experience and interact with shareable and testable services that are deployed using configuration, infrastructure and dependent services.
How Test Environments Become Pre-production Environments
The only way to ensure your PR is 100% accurate and ready to merge into production is to test the PR in a production-like environment that mirrors the entire application. Hand crafting these environments for every PR would be impossible and at the end of the day they are still just static.
This is where an EaaS environment comes into play.
An EaaS environment by design is dynamic and runs “test cases” automatically and “learns” from system behavior so it can run dependency tests in a much faster and more efficient way. When a PR is merged (or a change moves to the next step) it’s already validated and ready for production. This eliminates the need for another test environment.
How the EaaS test environment process works:
- Discover pre-production configuration
- Connect to your service repos, define your build/deploy/test configs
- On creation of a pull request a test an ephemeral environment is automatically launched
- Test your pull request
- Learn more on service dependencies (e.g. next cycle, test only dependent services, etc.)
- Take a snapshot for approval/validation/replay