- Specs are too limited for my needs (storage capacity for backup / home NAS purposes; compute power for local AI work; throughput for local high speed network traffic shaping; etc)
- can't upgrade over time (right now I'm averaging 15 years for my boxes, with incremental upgrades like storage, RAID adapters, memory, CPU etc, and I don't need to go through the days-long hassle of reformatting, reinstalling and reconfiguring OS's, services and software).
- less supported over time (I can still download driver upgrades in some cases, and find solutions if I run into something unexpected as the vendor is still in business and supporting the legacy model).
Full sized machines aren't difficult to build, and I've had great luck with second hand enterprise-targeted parts (eg. for a long time years back, used Mellanox Infiniband cards were dirt cheap on eBay because universities were upgrading to later generations, they were an order of magnitude faster than NIC's available at competing price points at the time, and as a bonus had lower latency). Older Areca RAID cards were great for SATA drives, easily upgradeable to new models, and I still have a few kicking around in production today.
Meanwhile neighbors have thrown out piles of ewaste and wasted time after their commodity junk failed unexpectedly.
Sometimes size matters, tho. I came into MiniPCs from a Raspberry Pi solution. Our Pi's had to display multiple videos onscreen and weren't fast enough (I think the standard at the time was RP4), so we switched the critical ones to MiniPCs but they had to be small & light enough to hang off the back of a VESA mount on a TV suspended above a gym floor.
I've found the Pi video decoder chips pretty weak, but still usable. I've got a Pi 2 displaying a 4x720p stream perfectly fine. Would struggle with anything more.
We found that Pi4 was fine with 2-3 videos playing. But in some cases, we needed up to 6 different videos on one screen and that's when they started to stutter.
You can also run a single storage box and then just pop over network (10gbe, thunderbolt, etc). One big box of spinning rust and tons of cheap compute.
Most folks are running proxmox and your OS installs are automated. Use ansible. I like docker swarm on top of a fleet of cattle vms on proxmox.
I'm thinking of a beefy mini-PC + USB-C 8+ hard drive enclosure.
I feel like I rarely upgraded anything except GPU and storage. And GPU's are not needed for a server.
Enclosure means easy storage upgrade and I can always reattach the enclosure to another machine quickly. Might even install OS on the enclosure, then the whole setup will survive compute upgrades until the predominant architecture changes.
Exactly this. I don't even have a nice multi-drive enclosure, just a small swarm of toaster-style dual-drive holders. They're absurdly cheap. (Alas one of the recent purchases was maybe too cheap: wont let me adjust the various drive spin down/power savings settings. But this is a first for me, and they've all been very cheap).
Unfortunately a lot of the mini-PCs skimp on USB ports. AMD's FL1 form-factor mobile "socket" has 4x 10Gbps + 1x 40Gbps USB-C ports on the SoC, but many of the designs often only have ~2x usb3 class ports and rarely the USB4 port at all. I'd really appreciate these mini-PC's exposing more of the chip's usb! Definitely something to shop for.
With USB4, there's also the added benefit of having host-to-host interfaces: it's short range but 40Gbps host-to-host is real nice to have (in practice it's often half or less this speed alas).
Upgradability is over-rated, when costs are low. A Minisforum 795S7 can be had for $400, and has dual ("only" PCIe 4.0) SSD slots and a 16-core 7945HX Zen4. It's mobile-on-desktop (MoDT): I can't ever replace the CPU, but I suspect this crazy cheap system is going to have a long long life before I feel the need to upgrade it. Replacing it whole when the time comes seems not a concern. RAM and SSD are separate and can be moved out if desired.
I tend to want to keep storage (NAS) separate from compute and databases, in the form of I never want to touch or think about this so I can spend my time on other things.
Having a couple of pre-built nas' from QNAP or Synology can go a long way to getting one's feet wet to learn what they offer that we sometimes learn the hard way about.
There are a lot of NAS case you can find in China(Taobao), they are cheap(usually $40 for case with 4 hotswappable 3.4 drive. They use mini ITX motherboard and flex 1U PSU
I considered that, but it doesn't make sense price-wise. You can get the storage bays for very little along with your compute, certainly cheaper than separate hard drive enclosures.
The Aoostar top one actually looks pretty good for what it provides (sus really, $700 for a NAS with 2x2.5G E and 2x10 SFP). But still, the compute options are very limited.
- Specs are too limited for my needs (storage capacity for backup / home NAS purposes; compute power for local AI work; throughput for local high speed network traffic shaping; etc)
- can't upgrade over time (right now I'm averaging 15 years for my boxes, with incremental upgrades like storage, RAID adapters, memory, CPU etc, and I don't need to go through the days-long hassle of reformatting, reinstalling and reconfiguring OS's, services and software).
- less supported over time (I can still download driver upgrades in some cases, and find solutions if I run into something unexpected as the vendor is still in business and supporting the legacy model).
Full sized machines aren't difficult to build, and I've had great luck with second hand enterprise-targeted parts (eg. for a long time years back, used Mellanox Infiniband cards were dirt cheap on eBay because universities were upgrading to later generations, they were an order of magnitude faster than NIC's available at competing price points at the time, and as a bonus had lower latency). Older Areca RAID cards were great for SATA drives, easily upgradeable to new models, and I still have a few kicking around in production today.
Meanwhile neighbors have thrown out piles of ewaste and wasted time after their commodity junk failed unexpectedly.