DEV Community

Cover image for The Workspace Should Be Disposable. The Data Shouldn't Be.
Infosaic Technologies
Infosaic Technologies

Posted on • Originally published at infosaic.com

The Workspace Should Be Disposable. The Data Shouldn't Be.

There's a pattern that developers internalised years ago and that the rest of computing is only now catching up to: the environment you work in should be reproducible and throwaway; the state you care about should live somewhere else, explicitly.

We do this reflexively with build environments. Nobody sensible configures a CI runner by hand and hopes it stays that way. You describe it, you create it, you destroy it, and the artifacts you actually wanted are written somewhere durable on the way out.

Almost nobody does this with the machine they do knowledge work on. That machine is a pet — years of accumulated configuration, undocumented, unreproducible, and holding a mixture of everything the person has ever worked on. Which was survivable when the only thing reading those files was a human who knew which ones mattered.

It's less survivable now that a good deal of work is done by tooling that reads whatever the filesystem hands it.

The lifecycle, written out

The shape I want to argue for is boring, which is the point:

  1. Provision a clean Windows environment for a piece of work.
  2. Populate it with only the data that work requires.
  3. Operate — run whatever local and remote tooling the job needs.
  4. Extract the outputs deliberately, to a known destination.
  5. Destroy the environment.

Step 5 is the one that makes the other four worth doing. If the workspace is never destroyed, it becomes another pet, and within six months it's holding three projects' worth of residue and you're back where you started.

Where the boundary actually sits

The interesting property here is not encryption or credentials. It's reachability.

A process can only exfiltrate, corrupt or accidentally include what it can reach. On a personal machine the reachable set is effectively "everything the user account can open," which is a set nobody has ever enumerated. In a purpose-provisioned environment, the reachable set is whatever you put there — a set of exactly the size you chose.

That's a much stronger property than it sounds, because it holds regardless of how the tooling misbehaves. You don't have to reason about whether a given tool is trustworthy, or whether a dependency three levels down does something surprising with the files it was pointed at. The blast radius is bounded by construction.

Why not just use a container

Fair question, and for a build step, a container is the right answer.

The mismatch shows up when the work is interactive and Windows-shaped. A lot of the software that holds real business data — accounting packages, practice-management systems, industry-specific line-of-business applications — expects a full Windows desktop session, a real user profile, sometimes a licence dongle or a specific display context. It doesn't containerise, or it technically does and then behaves badly.

So the practical unit for this kind of work ends up being a whole desktop, not a process sandbox. That's a concession to reality rather than an architectural preference.

The economics decide whether anyone does it

Here's where the pattern usually dies.

Everything above is well understood. The reason it isn't standard practice outside of engineering is that on most platforms, a second environment costs enough — and unpredictably enough — that people ration it. Usage-based virtual desktop billing makes "spin up a clean environment for this" a decision with a price tag attached, which means it gets skipped for anything routine, which means it never becomes a habit.

Flat-rate changes the calculus. When an environment is a fixed monthly line whether it runs for an hour or a month, the correct behaviour stops being the expensive behaviour. That's the entire argument for flat pricing in this context, and it's why we built ours that way — from $11.95/month, no hourly meter. Disclosure: I work at the company. The principle stands regardless of provider; just check whether your platform's billing model punishes the thing you're trying to make routine.

What to take from this

Three things worth stealing even if you never provision a cloud desktop:

  • Enumerate the reachable set. For any tool operating on your files, ask what it can open. If you can't answer, that's the finding.
  • Separate workspace from state. The environment is disposable. The outputs are not. Be explicit about which is which and where each lives.
  • Make destruction routine. An environment you never tear down isn't isolated, it's just newer.

The pet-versus-cattle argument won infrastructure fifteen years ago. It's overdue for the desktop.


More on virtual desktop configurations, pricing and provider comparisons: infosaic.com/virtual-desktop-resources

About Infosaic Technologies — Infosaic Technologies has delivered managed Windows virtual desktops from the cloud since 2001. Plans are flat-rate, starting at $11.95/month, with no hourly metering, and every desktop ships with a pre-activated Windows licence, a dedicated IP and full administrator rights.

Infosaic Technologies, LLC · 175 South 3rd St, Suite 200 #1008, Columbus, OH 43215 · 614-855-7084
Facebook · LinkedIn

Top comments (0)