Core Concepts
Ephemeral Environments

Ephemeral Environments

Ephemeral environments, unlike traditional persistent staging or production environments, are created on-demand and are intended to be short-lived, existing only as long as they are needed. Some example use cases for ephemeral environments include:

  • Individual developer environments
  • Feature branch environments
  • Pull request environments
  • Testing environments
  • Debugging / hotfix environments
  • Release candidate environments
  • Staging environments

In addition to their ephemeral nature, they are also provide isolation from other ephemeral development and test environments, making them a perfect companion to IDPs.

Three Types of Ephemeral Environments

Uffizzi currently supports three types of ephemeral environments: virtual clusters, dev clusters, and compose environments.

Virtual Cluster Environments

Virtual Clusters are Kubernetes-based environments built from a Kubernetes specification—typically Helm Charts (opens in a new tab), kustomizations (opens in a new tab), or standard manifests applied by kubectl (opens in a new tab). Virtual clusters are fully functional Kubernetes clusters that run in isolation on top of a host cluster. Once you've created these clusters with the Uffizzi CLI, Dashboard or from your CI pipeline, you can use standard Kubernetes tools like kubectl and helm to manage them and their configurations.

Dev Cluster Environments

Dev Clusters are virtual clusters intended to be used for interactive cloud-based development on Kubernetes. By shifting the compute from your local machine to a remote server environment, Uffizzi dev environments great for resource-intensive applications or for standardizing your development configuration for every member of your team.

Compose Environments

Compose environments are container-based environments built from a Docker Compose specification. You can read more about Uffizzi's support for the Compose specification here.