Inside theSoftware FactoryWhat is a software factory?
Software factory pattern

Ephemeral environments

Why large teams keep a pool of pre-warmed, disposable sandboxes ready for agent sessions, and what to look for when deciding on one.

What it is

A pool of pre-warmed, isolated sandboxes that an agent session drops into the instant it starts, instead of provisioning one from scratch. Each is disposable: the agent works inside it, the work leaves as a PR or a set of changes, and the environment itself gets torn down or recycled. The industry terms are "pre-warmed pool" and "ephemeral execution environment," and both point at the same design goal, that a session should never sit idle waiting for a machine to boot.

Fig. 1
new agent task assigned in seconds, already warm recycled or discarded on exit Task trigger Slack, CI, ticket, PR Pre-warmed pool idle, ready environments snapshotted, isolated Agent session works, then exits
A task trigger draws an already-warm environment from the pool instead of waiting on one to boot; when the session ends, that environment is recycled or discarded rather than kept alive. Hover a box to trace its connections. Original diagram, not a reproduction. Click to enlarge.

Why you need it (in a large team)

  • A cold-started environment can easily cost more wall-clock time than the task itself takes to actually solve. Cloning the repo, installing dependencies, warming caches, that's tolerable once, when a person kicks off a build and goes to get coffee.
  • It stops being tolerable once agents are triggered constantly and automatically. From a Slack message, a flaky-test signal in CI, a ticket getting picked up, a Chrome extension pointed at live UI. Stripe's minions are triggered from all of those surfaces, and Ramp's Inspect crossed a million sessions by July; neither works if every one of those triggers pays a multi-minute cold-start tax before an agent can even look at the problem.
  • The threshold is real, not universal. A five-person team running the occasional agent script doesn't need a pool sitting idle and ready. A company running thousands of sessions a day needs the warm-up cost paid once, ahead of time, across the whole pool, not separately by every session.

How it should work

The pool holds environments that are already booted, dependencies installed, and ready to accept a task, so a session's actual latency is assignment, not provisioning. Stripe's devboxes come up in about ten seconds and are the same machines its own engineers use day to day, not a stripped-down clone built just for agents. Ramp keeps the cold-start problem down a different way: its sandboxed VMs mirror the exact Postgres, Redis, Temporal, and RabbitMQ stack engineers run locally, with filesystem snapshots refreshed every thirty minutes by a cron job, so a new session starts working on a prompt within seconds instead of waiting on a build.

Isolation and disposability matter as much as speed. Stripe scopes its devboxes to its QA environment specifically, with no access to real user data, and treats that boundary as the main safety control rather than layering on heavy output moderation. Uber frames its DevPods as the payoff of years of prior investment in remote environments, CI, and developer tooling originally built for humans, now repurposed for agents. In both cases the environment is disposable by design: nothing about the agent's session is meant to persist in the machine itself once the work is done, only in whatever artifact it produced.

Where it fits into a software factory

This is the substrate underneath every background agent, not a step in the pipeline anyone scores separately. A triggered task, whether it's Stripe's flaky-test-detection minion or Ramp's Inspect picking up a Slack thread, needs somewhere to actually run before any of the review or merge machinery matters. Skip building a pool and that need doesn't go away, every session just pays its own cold-start cost, which is the same shape of problem the model router and MCP gateway solve for model calls and tool access: centralize what would otherwise be paid redundantly, everywhere, every time.

What you should look for when deciding on one

  • Whether the environment is a faithful copy of what engineers actually work in, or a thinner stand-in built only for agents. Stripe's choice to run minions on the same devboxes humans use, and Ramp's choice to mirror the exact local stack rather than a simplified sandbox, both trade extra setup cost for an agent that can actually reproduce what a human would see.
  • What the isolation boundary actually is, and whether it's enforced by the environment itself or by something else layered on top. Stripe's answer is QA-scoping with no path to real user data; that's a property of where the devbox lives, not a rule an agent has to remember to follow.
  • How warmth is maintained under load, not just at rest. A ten-second pre-warm or a thirty-minute snapshot refresh only holds up if the pool is sized and refreshed for real concurrent demand; none of the sources in this roster disclose pool size or refresh cost at scale, so treat that as a real operating detail to ask a vendor or an internal team about, not something to assume scales for free.

Companies using ephemeral environments for agents

← All 9 organisations