Separating Compute Components


I’m dreading contemplating the next fresh install on my main laptop, and it’s not a pleasant experience. It usually takes me around three weeks to become completely happy with my installation after a fresh install.

I was thinking that it would be nice if we could break our computing environment into a few main components that go on independently. Something like:

  1. Operating System

  2. Applications

  3. Configuration

  4. Data

So these break down as:

  • Operating System is pretty straight forward. It’s the OS itself and all system components, along with updates and patches.

  • Applications are also clear-cut, meaning all your apps and their latest updates as well.

  • Configuration is all configuration for both your operating system and for your applications, so it’s like a text file (or the registry) where you can easily replicate the exact configuration of an earlier environment or an environment that you enjoy.

  • Data is…well, data. It’s the actual data that the operating system and applications interact with.

The distinction between data and applications seems the most troublesome, as the data that applications produce are often tied tightly to the app itself, but we could at least move in this direction.


The benefit would be parallel restoration, meaning that when I go to reinstall a system, I could drop the OS into a certain place, the applications into another, apply my desired configuration, and then drop the data into another, separate location.

Unsupervised Learning — Security, Tech, and AI in 10 minutes…

Get a weekly breakdown of what's happening in security and tech—and why it matters.

I also love this because data backups and restorations would become a lot easier. We wouldn’t be hunting all over the place, within applications, in various places in the OS, to find stuff we need to back up.

It’d be right there in the /data directory.

So a restore would be four simultaneous but separate operations: OS, Apps, Config, and Data.

And we’d be able to restore each independently while in our environment as well. So if the OS started acting up, we just clean that up with a fresh restore. Or if one or more apps are acting funky, we reinstall those. If a config is not what we want, we just drop the desired text blob into place and it switches instantly.

And the same for data. We could move data from various systems to ours, or point to the cloud as a source without any of the other components knowing or caring where it came from.

Anyway, I think it’s a cool concept.

Related posts: