- Low Power - It's nice to have a full enterprise environment to play with at home but there's a limit to how much I want to pay for such a playground. Power costs around 2 euros for every Watt burned 24/7. To meet this requirement I've decided to split up my lab into two distinct parts with a different purpose. Part 1 is the always-on stuff. The equipment that offers the core infrastructure at home (also used by the wife, so it has to be stable and easy to reset). Part 2 is the lab itself, my playground where I can build and tear down to my hearts content. Since this equipment only runs when I'm actively using it, it can be a more power hungry setup.
- Low Noise - I like silence - so hearing a jet engine-like sound in the background when I'm at home playing with my lab is not something I want. A homelab has to be silent! More about this under the next bullet.
- Smallish - The best room 'in the house' to host my equipment is the shed. While this may sound like bad idea, it's not. The shed is underneath the kitchen in one corner of the house. It's dry, has a relatively constant temperature and is connected to the house for power and networking. Since the kitchen has a heavy and solid floor that offers excellent noise isolation. This means I can house noisier stuff, hooray! The kitchen floor is built using big wooden beams that offer a nice space between them. While this space will comfortably fit a number of 2u rack servers, there is a limit to what it can accommodate in size and weight.
- Fast - There's no joy in waiting for installations or configurations. I usually want to try and replicate a very specific setup and I tear down the virtual setup as soon as my tests are done. This usually means I start with an empty slate every time I decide to try something. There's no joy in having to invest multiple hours every time I want to see the effects of a single configuration change. The faster I can build and set up the test environment, the better!
- Hardware Reset Possible - My wife has to be able to restore internet connectivity without using a single web interface or login. This means that all the devices used for the internet connectivity have to cope with a reset by power plug removal. If I'm not at home and the wife calls to tell Netflix isn't working, I want to be able to say "Don't worry darling, just pull the plug to reset it." This requirement eliminates the possibility for virtual appliances to deliver core network services. With a virtual appliance I cannot say "See the red box? Reset it by pulling the plug."
If price was no object, I'd probably buy a nice 4 node in 2u appliance with a lot of SSDs. If it were possible to make a heterogeneous appliance that'd be my dream. One Xeon-D based low-power node for the always-on part and three Xeon E5-26XXv4 nodes with lots of compute power and memory to run beastly virtual labs.