Environments and releases

How a change reaches a running environment, how environments differ through overrides, how to preview a change, and what rolling back undoes.

Each environment runs your project's blueprint with its own overrides, and changes reach it only through a release.

What happens when you change something

Nothing in a running environment changes until a release runs.

  1. You
    Blueprint or overrideYou or Praxis edit the blueprint, or one environment's overrides
    waits for the next
  2. works out a
  3. Preview
    PlanFacets writes that environment's Terraform and works out what to create, modify or destroy
    if your team requires it, waits for
  4. then updates the
  5. Apply
    Running environmentTerraform changes only what differs, in the order the resources depend on each other
    and records it in

A full release applies every pending change, and a selective release applies only the resources you pick.

Staging, production and overrides

Every environment runs the same blueprint. Where one should differ, you set an override on that environment, and everything else still follows the blueprint, such as 10 replicas in production only.

Each environment deploys to the cloud account you link for it, so development can run in one AWS account or GCP project and production in another, from the same blueprint.

Seeing what a change will do before it ships

A plan release previews every change, and nothing changes until you apply it. To see what could break, Facets lists what depends on a resource. Facets doesn't estimate cost before a release; Cloud Cost Explorer (Enterprise) shows spend afterwards.

Rolling back

Rollback restores one resource to an earlier release. Other resources stay as they are.

  • A resource: restores its configuration, overrides and image, through a plan you review first.
  • An override: restores an earlier revision, live on the next release.
  • A service's image: restores an image registered for it earlier.

Rollback doesn't restore data

Rolling a database back restores its settings, not the data inside it. Restore data from your own backups.