The nature of shared development and test environments requires that most processes run sequentially. This forces developers to wait in queue for an environment to become available in order to validate a code change.
In addition, a shared environment presents other challenges with versioning control and access to micro services needed for testing because each pull request (PR) requires a unique environment in order to validate a change. Sequential validation of PRs delays its release to production and, to make matters worse, if the PR fails in testing, the whole cycle starts again — consuming resources and time while increasing change failure rates and cost.
If you deploy multiple PRs or code changes simultaneously, you will indeed interfere with each other’s changes, so the current process is more sequential.
Sequential development processes delay releases and the organization loses on the opportunity cost of that change.
Similarly, the way pull requests and private branches are short-lived, the environment must only be for the lifecycle of your PR. The environment must be ephemeral. It must launch/start when needed and shut down once your PR is merged or a private branch is deleted.
How to Development in a Parallel Process with the Roost Ephemeral DevOps Platform
Since the Roost environment is isolated and private to the developer and defined by a pull request, numerous PRs can be run in parallel. This avoids bottlenecks in QA helping to get releases shipped faster.
Simply stated: Parallel development increases your release efficiency and Roost ephemeral environments allows developers to do just that!
A Roost ephemeral environment is created specifically for a pull request. This is in complete contrast to legacy pre-production environments where every pull request is made to run on the same static environment. This increases the speed of a release as only the relevant dependencies are auto-provisioned and the application is tested against them. In addition stakeholders get preview URLs for final feedback before pull requests are merged.
The Roost platform:
- creates an ephemeral environment on every pull request
- auto-discovers all dependencies
- runs test cases for validation using existing frameworks
- available for preview and sharing
- auto-destroyed once the pull request is validated and merged
The environment snapshot is available for future reference or if a replay is needed. The link to the snapshot can be attached to your existing ticketing system.