Choosing a Cost Effective Virtualization Server

When looking into setting up a permanent server, it is very common to see the big setups from reddit and alike, and be tempted to pursue something similar, however, I believe that except for very specific cases this can be a great mistake for multiple reasons:

  • It is probably an overkill: let’s face it, unless you need to use the setup to provide services to a great number of users, chances are that you do not need enterprise grade hardware
  • Maintenance: acquiring specific server equipment for upgrades or maintenance usually comes at a premium, and replacements are harder to come by. This is mainly due to higher reliability standards that will most likely not be needed for a Homelab, and even if they where, there are other ways to overcome them such as having a proper backup strategy, or setting up a High Availability cluster
  • Space: this may not be such a big issue depending from our location, but houses in Spain are not that big and finding a spot for a rack mounted machine can be challenging
  • Cooling: the more powerful the server, more cooling is needed
  • Noise: server fans tend to be noisy
  • Consumption: you would be surprised how fast electricity cost can add up for an always on machine

So, what do you propose? (one may ask). Behold the Aftermarket 1L unit:

HP EliteDesk 800 G2 Desktop Mini 35W
HP EliteDesk 800 G2 Desktop Mini 35W

This machine (and the ones alike, namely HP Mini series , Dell Micro series, Lenovo Tiny Series) have multiple advantages for the home user looking to setup a permanent Homelab, and perhaps start self-hosting some services:

  • They are very common in 2nd hand in markets such as ebay, wallapop, and alike
  • Use standard off the shelf components that make upgrades and maintenance easy
  • Do no take up space
  • Easy to service, usually not even a screwdriver is needed in order to perform basic internal actions
  • They are modular, multiple units can be purchased to improve computing power or achieve High Availability clusters
  • Almost no noise under non-intensive permanent loads
  • Reasonable power consumption
Power Consumption HP EliteDesk 800 G2 running Home Assistant, 26 Docker containers, PiHole, and UniFi Network Application
Power Consumption HP EliteDesk 800 G2 running Home Assistant, 26 Docker containers, PiHole, and UniFi Network Application

However, there are several parameters that are specially relevant when looking into acquiring one of these these machines with virtualization in mind, namely:

  • CPU: compatible with Intel Virtualization Technology
  • RAM: obviously, more RAM will mean a higher capacity to run concurrent VMs, but this can be expanded later on
  • SSD: SSDs generally provide much more stability and performance than HDDs, so it is recommended to choose one that already has them, however this can also be expanded later if required

On future posts I will show how to make use of this hardware. In the meantime: happy searching!