When an Appliance makes sense

An "Appliance" in the sense I'm talking about is about how the term is applied in computing and it refers to a piece of hardware which serves a singular purpose. So, building a Media Server and using it solely as a media server, and so on.

The problem I encountered while trying to get an email server running on my OMV (Open Media Vault) PC was a bunch of people strongly arguing against others who had the same issues as me that they should (and I paraphrase) "not even bother, just run your OMV install as an appliance".

Now, I don't know where these people are coming from when they give out this advice. So, I don't want to sound too judgmental here. But, I will say, from the position I'm currently in, this advice is whimsically nonsensical.

Basically, I see types of hardware scenarios, and 3 types of usage scenarios. And based on each, you should make your decision. The 3 hardware scenarios are; low power, purpose built, over powered. And the usage scenarios are; low use, average use, high use.

I'm going to tackle this from the hardware scenario perspective because 2 of the hardware choices make things a LOT simpler.

So, firstly, low power devices. If you're running something like a Pi 3 or older, or especially a Pi Zero, then if you build a server with that... chances are that you should treat it like an appliance. There are certainly some low usage scenarios where you could make some exceptions. 

But, these devices don't have a lot of overhead to play with. I have a Pi Zero which basically runs Node-Red to feed stats from a connected BLE device into my MQTT instance. And that is all it does. But, it only has a single core 1Ghz CPU and 512MB of RAM while running a modern Linux distro. It also only cost me $40CAD including a case, power supply and memory card. So yeah, even at low usage I'll treat it like an appliance. 

The second hardware scenario is purpose built hardware. This is buying something like a dedicated piece of NAS hardware. Most of these are also technically full computers and can run Docker and so on. But, I would advise against it. These things are purpose built to do one thing. Even if they CAN do other things, the trade-offs MAY impact the primary use.

See, hardware approach is easy. 2/3 options = use as an appliance in most scenarios.

The last hardware approach is using powerful, general purpose hardware. This is where all of this appliance talk starts getting a little silly. Sure, if I have a high usage scenario I'm going to treat it like an appliance. But, if I have a bunch of headroom on the system because I'm just running a fairly basic load, or even a very small load it doesn't make any sense at all to treat it like an appliance.

A lot of the people in my situation are doing this as a hobby or a small home project. I have 17 active Docker containers running + OMV right now. And NONE of them are under any load right now (except my IP Camera security system). And that is a pretty normal circumstance. I'm also using just 16% of available RAM with well over half of the rest not even paged. Just completely free.

This is a full desktop tower. I have 4 drives and I replicate everything important to at least one other drive. It would be prohibitively expensive to replicate this build for each general task, and it would still be a waste to buy cheaper hardware to offload some of the work onto.

I have 2 users. The file access through OMV is probably the biggest use case, and we probably pump just an average of 1-10MB through it a day. It is primarily storage. For backing up data.

Having someone tell me I should be treating my OMV install like an appliance is just remarkably useless to me. From my perspective, I should be putting MORE services onto it not less. 

Why?

Well, because we are extremely low usage for EVERY SERVICE on there, it means most of the time, even with ALL OF THIS running, the computer is just sitting idle. That is a waste.

This is not some boutique device. It is a custom built (by me) desktop tower. I'm not worried about hardware failures making something unrecoverable. Anything can be replaced.

Because our needs are so low and we have the skills to build the hardware and configure the software it also more affordable. 

There are other benefits as well. By consolidating hardware I'm also consolidating clients on my network. I'm not duplicating resources which keeps costs down and I can store this any room in the house with minimal footprint. 

There are drawbacks too. If something like the motherboard or CPU goes, I lose ALL of my services until I rebuild. And that is the primary one. I won't be growing substantially beyond my current needs. And since 90% of what I run is containerized I can easily move it to a new machine. In fact, I did just that when I built this one. I moved most of my non-work services off my power hungry desktop to the new one. And it was quick and painless. 

And there you have it. If you bought an appliance, use it as one. If you have low powered hardware or high demand, treat the hardware as an appliance. But, otherwise, you're probably better to disregard that unless you need to be able to scale or have a concern for keeping those things consolidated.

Comments

Popular Posts