Jose Gallardo
Environment list showing type, connection, region and resources
Challenge

How do you let teams provision production-grade infrastructure without needing to know Terraform, while keeping staging and production honestly comparable?

Standing up a new environment meant hand-building a VPC, a Kubernetes cluster, and every supporting resource from scratch. It was slow, and every environment ended up a little different from the last. Teams needed staging to look enough like production to catch real bugs, but cheap enough that it didn't double the cloud bill. And once a team had a working environment, there was no easy way to copy it. Every new one meant setting it up manually, all over again.

Process

Double Diamond

The ask was faster provisioning. The actual problem was that nobody could see what provisioning would do until it had already happened.

The Double Diamond, running from problem to solution: Discover and Define form the first diamond, exploring then focusing, and Develop and Deliver form the second.
  1. 01

    Discover

    Every environment was hand-built, and every one came out different.

    Standing up an environment meant assembling a VPC, a Kubernetes cluster, and every supporting resource by hand. It was slow and it drifted. Teams wanted staging close enough to production to catch real bugs, without doubling the cloud bill to get it.

  2. 02

    Define

    Show people what a decision will do before they make it.

    The common thread was not speed, it was blindness. Teams were committing to infrastructure they could not see beforehand. Two rules followed: defaults should match what an environment is for, and anything irreversible should be visible first.

  3. 03

    Develop

    Let the environment type carry the decisions.

    Rather than adding more knobs, the type does the work. Picking Staging or Production changes what gets built and recommended. Cloning went the same way: copy a working environment exactly as it is, with a preview of every resource it is about to create.

  4. 04

    Deliver

    Staging starts from production, with the full build visible first.

    Teams can clone an existing environment instead of rebuilding its resources and applications separately. A preview lists what the clone will create, giving teams a production like starting point they can inspect before provisioning begins.

Decision and result

Decision

Make environment type set the defaults, and show the full resource list before a clone begins provisioning.

Evidence

Manually built environments drifted apart, while teams needed staging to resemble production without carrying the same cloud cost.

Result

A staging environment can start from a production clone, including its infrastructure and applications. Teams review the resources before creation instead of rebuilding them separately.

Design response

Goal: show people what a decision will do before they make it.

Type-aware provisioning

Tailor infrastructure defaults to what the environment is for.

Visible before irreversible

Show exactly what will happen before you take an action you can't undo.

01

Smart Environment Types

Every environment was set up the same way, no matter what it was for. Staging often ended up with more resources than it needed, and production sometimes had too few.

Design solution

The type you choose decides what gets built

When you pick Staging or Production, Kapstan changes what it builds and recommends to match. Staging launches with a lighter, cheaper setup, since it doesn't need to run around the clock. Production launches with a sturdier setup built to stay reliable.

New environment form showing environment type selection
02

One-Click Cloning

Once a team had a working environment, there was no safe way to copy it. Every new one meant setting it up manually all over again, and staging slowly drifted away from production.

Design solution

Show what a clone will build, before it builds it

You can copy an existing environment, infrastructure and applications together, in one action. Before anything gets built, you see a list of every resource and application it's about to pull from the source environment.

Clone environment panel showing resource and application preview
Services list for the new environment mid-clone, showing already-running services next to the ones still being provisioned, with a progress panel tracking each one
Impacts

A production like staging environment without rebuilding it by hand.

Cloning carries the source environment's infrastructure and applications into a new staging environment. Teams no longer need to configure the VPC, cluster, and supporting resources separately for each copy. Starting from the same configuration removes a source of staging drift, while the preview lets teams review every resource before it is created.

Learnings

The click isn't the hard part.

Designing for infrastructure means designing for what happens after someone clicks. A clone here isn't a cosmetic action. It can affect a live product. The hard part wasn't the button itself. It was showing enough of what's about to happen that nobody had to guess.