Computers are hard. Abstractions are hard. So what better challenge than creating an abstraction1 of the differences between types of computers2?

I recently developed a digestible diagram (below) to serve as a simplified explanation for less technical professionals on the benefits and trade-offs of different types of compute. In particular, I wanted to translate the increasing abstraction away from the underlying server hardware, OS, and runtime along the spectrum into a more business-friendly translation – how it translates into financial and human-effort expenditures.

As with any simplification, there are plenty of wells one could actually3 and a fertile field of caveats. Nevertheless, business people appreciate a healthy Harvey Ball chart, so try it out on your CFO rather than your resident HN comment crusader.

Since I must turn to other projects4, I will spare further elaboration and let you dissect the diagram yourself:

My diagram of the differences in scalability, complexity, lifecycle, and cost across the spectrum of compute, from bare metal, VMs, containers, serverless / FaaS, to edge compute.


Shoutout to Dr. Watson for having Sherlock’s back.


  1. Yo dawg, I heard you like abstractions… ↩︎

  2. This spectrum focuses on the types of computers / compute typically used to run production services. While desktops, laptops, and mobile devices count as “computers,” most enterprises are not leveraging them to deliver their software to end-users. If you’re still salty about it, please see footnote 3. ↩︎

  3. If you’re out of the loop on my quip, this post on “The Semiotics of Mansplaining” may help illuminate the “Well, actually…” phenomenon. ↩︎

  4. Hot take: “I can’t talk right now, I’m doing hot girl shit” is the new “I have to return some videotapes." ↩︎