I'm reaching out to ask for your help and to know your opinion. Currently I have a simple setup of RPi 3 that only serves as a DNS (pihole). I've read some of your posts and I got hooked. I also started playing with HyperV on my Windows PC and created a virtual linux machine (Arch btw for meme purposes).
I have started thinking... What if I bought RPi 4B (8GB RAM) and use some kind of a hypervisor to selfhost DNS and DHCP (pihole), VPN, SSO and maybe even NAS (some kind of platform like plex?).
It's all for learning purposes, so I'm not aiming for anything extra expensive, reliable or ultra-fast. I know the basics, though I'm still a beginner. I thought the RPi 4B would be a good choice as it's relatively cheap and not energy-hungry.
My questions are: What do you think about it in general? Do you know any alternatives to VMware ESXi that I can use for virtualisation? Any tips and trick you have to share? Do you think that RPi 4B can handle such task?
Maybe you know some good, free, open source VPN and SSO services that you can recommed. For NAS I was thinking about OpenMediaVault but I would also be thankful for recommendations in that regard as well.
Thanks in advance for all the help and healthy discussion. Cheers!
EDIT:
Thank you everyone for sharing your views!
I probably didn't mention pretty important factor which is: I need the device to be as small as possible. My wife won't bear huge butt case lying around and always blowing its fans. Nevertheless, buying used UFF machine is a great idea if I really want to go with virtualisation route. I'll keep my eye on Proxmox as it sounds very promising.
I didn't take into account docker because... I simply forgot about such option. In my previous job my colleague was an infrastructure analyst and often explained me intricacies of his job. Since the company I worked for used VMware that was the first thing that came to my mind. If I decide to buy RPi 4, I'll definitely take docker path.
I've read all your messages and they were pure pleasure to read. Thanks for them once more!
I run a lot of these services in my homelab. I didn't really feel like I had something with real potential until I started using Proxmox as my hypervisor. That's when things exploded. You can create VMs and containers on it with ease, and all the features I would normally have to rely on command line for were also available on the Proxmox web interface. That is so convenient! Need to do a snapshot because you think you might screw up your install on step 37? No problem, just take care of it in the GUI.
Proxmox also handles clustering really well, which will probably benefit you. You can add a Raspberry Pi or two, or a PC, and Proxmox will just manage them all. It will even move services from one device to another if one device gets turned off. It's really incredible!
The one thing I wouldn't build yourself is a NAS. I went with a Synology, and I'm glad I did. Building (and maintaining) one from scratch is just more work than I really have time for. With a NAS, you want things to go perfectly all the time, including updates and security updates, so I'm happy to leave most of the testing and configuration to Synology's team. I just have to remember to update things periodically, which I'm willing to do.
I'm intrigued by what you said about proxmox. I've always run KVM and had multiple copies of my servers running behind a load balancer, but "clustering" sounds interesting. To me that word sounds like something that would allow high-availability to multiple VMs, possibly all running the same image so I don't have to worry about tracking internal IP addresses and such... but I'm sure it's not quite that simple. So could you give me a quick summary on what clustering really means in this case?
You should be able to watch them and get the overview you're looking for. But really, this whole course is excellent from start to finish. I watched it before I ever touched Proxmox, and I'm glad I did. It was instrumental in helping me choose Proxmox as my hypervisor and gave me a great idea of what hardware I wanted to use and how I wanted to use it.
OK cool, so I watched #15 and did a little reading on clustering under kvm, and it seems to be fairly similar to the way I'm doing things now. There are some differences in how the cluster is accessed, but basically it's a set of VMs using shared storage and all machines run the same image for their functionality. I seem to recall some things like proxmox provide a tool to upgrade all machines identically... There's probably other tools to do that but I don't have a lot of machines so the only real issue has been in remembering to do full version updates.