The Ephemeral Environment Landscape
Ephemeral Environments are becoming more common
Ephemeral environments are becoming increasingly popular amongst software development teams. An ephemeral environment (also known as live previews, deployment previews and on-demand environments) is a temporary deploy environment that houses a self-contained version of an application.
Ephemeral environments are being recognized as a great way to increase the velocity of the development workflow. When a new feature or change to the code is ready for review, the ephemeral environment allows stakeholders to more easily see the changes and interact with them without requiring the developers to configure and push the code to a full-fledged staging environment, which is often a difficult, time-consuming task that then blocks other developers on the team from doing the same with their changes.
The ability to spin up a self-hosted, stand-alone ephemeral environment is an asset to developers who can review their changes visually, instead of needing to look only at the code itself. And it is also valuable to non-developers such as designers, QA, and marketeers who each have to review the changes from their unique perspectives before anything can be merged and pushed to production.
It is no surprise then, that more and more companies are using these tools, and it is also not surprising that more and more platforms are being built to offer this capability to development teams.
To a large extent, the landscape of ephemeral environment service providers can be divided into two groups. The first group contains the ephemeral environment services that cater to commercial enterprises and larger companies. The second group of ephemeral environment services are those that position themselves as being open source friendly and more relevant for independent developers, and smaller, agile companies and development teams.
Commercial Ephemeral Environment Solutions
In the first group of commercial ephemeral environment solution providers, the list of popular services includes some household names: GitHub actions, Gitlab, Azure (devops) pipeline, Amazon Web Services (AWS) Amplify, Google Cloud Platform (GCP) and Cloudrun.
This group also includes up and coming startups that are gaining more traction, such as: Release, Velocity Shipyard and Railway.
Also popular are Infrastructure as a Code (IaC) solutions such as Pulumi, Terfaform and AWS CDK which aim to ease the management and provisioning of the relevant infrastructure through code instead of through manual processes.
Each of these solutions has advantages and disadvantages for commercial deployments. Consideration points include pricing at scale, compatibility with workloads and tech stacks and company security and compliance considerations. Because each company and commercial deployment brings its own set of complex requirements, it is no surprise that this side of the landscape has room for the range of solutions that are being introduced. Each solution with its own nuance, angle and target segment while essentially all offering the same service.
Open-Source Friendly Ephemeral Environment Solutions
The second group of ephemeral environment solution providers is those that are open source friendly and more relevant for independent developers, and smaller, agile companies and development teams.
Here too, the landscape has several companies offering services, including CircleCI GitHub actions, Render, Heroku Review Apps, Vercel and Netlify.
Each of these platforms offers free open-source and non-commercial use tiers which makes them ideal for open source projects and similar. Therefore, for many users of these services, it is actually the workload support that is the main driver for what service they choose. The goal is to get up and running quickly and so users look for a reliable preview environment service provider that supports their current stack.
Ephemeral Environments Alone are Not Enough
With all the differences between these two groups of ephemeral environment providers regarding their pricing and workload dependencies, they also share at least one fundamental characteristics in common - they are only focused on providing you with the environment itself.
And while this might sound obvious and expected, this reality neglects a fundamental pain point and opportunity that developers and dev teams have in engaging with ephemeral environments in the first place.
Because by providing the ability to generate these ephemeral environments, these service providers are really only facilitating one thing - targeted visibility for coders or other stakeholders.
Now, this visibility is a very important thing, to be sure. It gives a team of multidisciplinary stakeholders (coders and non-coders) the ability to see the latest code in action, quickly. But the question then becomes - then what? What can we do with this visibility to better achieve our originally intended goal?
If the goal of using ephemeral environments in the first place was to reduce workflow friction, increase development velocity and tighter feedback loops, then the visibility of these ephemeral environments is just the first step, the development team would ideally have a way to leverage the visibility and accessibility of the ephemeral environments to optimize the rest of the workflow, such as:
- Contextual issue-reporting. Coupling issue-reporting into such an environment provides greater context for the code owners, along with the ability to easily reproduce issues with an up and running reproduction environment.
- Orchestration and management of these environments will become a version control time machine in the long term. If any one of the environments is ready-to-use at any given time, it becomes easy to traverse between them and compare older versions. Think of a shorter root cause analysis as the benefit, just without the heavy lifting of building and deploying previous versions from your SCM.
- issue-reporting into such an environment provides greater context for the code owners, along with the ability to easily reproduce issues with an up and running reproduction environment.
So, in order to really move the needle for the workflow as a whole, we need to figure out a way to bring all of the multidisciplinary functions into the ephemeral environment itself and use it as a springboard for all steps that follow.
Collaboration Between Stakeholders Powered by Ephemeral Environments
At Livecycle, we’re bringing inclusive collaboration to the ephemeral environments. In doing so, we are creating a workflow that moves the needle for the development unit as a whole to deliver higher quality code, faster.
Our approach is to build a platform that makes teams foster a more collaborative process by utilizing ephemeral and shareable environments. We believe that these environments can make the review process phase all-inclusive while still maintaining the natural workflow for all the relevant and high-value stakeholders in the process.
Once we make collaborative ephemeral environments the new normal in engineering organizations, this collaborative model can evolve even further to turbocharge and streamline business delivery. This can be achieved by adding a layer of actionable suggestions and intuitive workflows to micro-reviews and contextual comments.
Our platform not only creates an ephemeral environment per PR, but it also adds a contextual collaboration tools layer to these environments for contextual issue reporting, while also integrating the tools’ output to the actual PR in the organizational SCM.
By combining the ephemeral environment visibility with the ability to make annotations contextually on top of it, we gain the following:
- Unparalleled clarity and context in the feedback per PR. As mentioned above, the ability to leave comments in the context of a PR itself is a game-changer with regards to the clarity of the feedback and the ability for the developers to understand and react to it.
- Actionable suggestions: While reporting an issue within the ephemeral environment one can also add more abilities such as console logs, network calls, and even CSS changes(which some designers and PMs like to do via the developer tools in their browser).
- Intuitive workflow: Sending these issues directly to the SCM embeds seamlessly into the git workflow, and provides the same output as code reviews, maintaining a familiar workflow.
How Livecycle is Different than other Ephemeral Environment Platforms
To summarize our look at the ephemeral environment’s landscape, it is clear that Livecycle is uniquely positioned in combining the following:
- Compatibility with your workload - Livecycle provides ready-to-deploy templates based on your Docker files that allow users to get started with the platform regardless of the back-end provider and front-end frameworks that are in use. You can expect the first ephemeral environment to be spin up within minutes. And they will be generated automatically per PR as you go
- Built-in collaboration and annotation tools - Livecycle offers a rich set of collaboration tools to enable a truly frictionless workflow - not just visibility of the front end. All stakeholders run their reviews concurrently, asynchronously and contextually on top of the same PR so that developers can understand issues sooner and address them faster
- Free for open source - We are free-forever for open source projects who want to install and benefit from Livecycle’s inclusive collaboration. We are privileged to be assisting opens source projects to streamline their workflow between maintainers, contributors and users. Using Livecycle directly impacts the efficiency of maintaining projects, the contributor experience and the number of users who try to fork and adopt the product.
Let’s keep Improving the Ephemeral Environment Experience
Data has shown that more collaborative and multidisciplinary working cultures — whether its disciplines such as DevOps, Fullstack, squads, and guilds, or even just plain old diversity and inclusion, have clear-cut business benefits.
Engineering practices have been lagging behind in this regard, and remain a fairly exclusive process to other stakeholders in the organization. PRs and ephemeral environments give us a technical opening to be able to upgrade these outdated processes for development teams as well.
So join us in refreshing this paradigm so we can derive direct business and productivity benefits, all while creating more inclusive and enjoyable engineering processes.