All new Registrations are manually reviewed and approved, so a short delay after registration may occur before your account becomes active.
Any downsides to using Proxmox for hosting client VMs?
Besides the actual management UI are there any downsides to using proxmox as a libvirt controller, it seems to use a lot of the generics I'm familiar with so I have been considering it as an option for hosting many of my personal systems rather than a traditional big cloud provider like vultr where my bill keeps going up from the number of small VMs I have.
I had always been under the impression that proxmox didnt stick to the generic libvirt-qemu standards and thus was pretty difficult to migrate away from if they ever went all in on enterprises like VMware which I didnt want to be stuck on, yet from everything I've explored it is not locking you into anything other than their odd Ceph control plane middleware.
It wouldn't take me incredibly long to build out an alternative client authenticated web interface and alongside my NAT port forward system I could work on incorporating the two to provide a good experience of controlling networking all in one place.
Would it be a poor idea due to other vulnerabilities or features or lack of features I'm unaware of?
Comments
If you aren't planning on running a host, proxmox is fine. Take the homelab pill dude, get yourself a disused computer or server, hook it to the Ethernet, install Ubuntu server or debian 12 and create VMs using proxmox
It's gonna be cheaper than Vultr and you will have full control over the hardware
What would Proxmox really be able to do to make VMs non-migratable? At least for KVM it'll always come down to some kind of Qemu invocation, which can obviously also be replicated outside of Proxmox. Beyond basic VM functionality (like Ceph) there might be a couple more hurdles but in the end also there Proxmox won't be doing much more than providing a management UI to openly available software.
It really comes down to what you consider difficult (pulling out a diskimage - even if stored in some rather weird way - and booting it manually or dding it on some remote VM doesn't seem overly complicated but some people probably feel otherwise) and how much added functionality you are using. Migrating VMs themselves usually doesn't take much more than maybe converting a diskimage and maybe fixing a few network settings.
The only added functionality I really do is a ebpf program lower in the network stack that handles NAT tables in memory in order to avoid going though iptables chains that take awhile to resolve.
I dont really have a massive block storage cluster that I need to manage within proxmox so I'd just be using it because it has an existing HTTP API for Libvirt's abstractions so I don't have to build out my own.
In the end I do have a few VMs I'm hosting on behalf of others I'd like to put into proxmox and keep everything uniform.
Additionally I'm also considering using cloudstack for VMs I host on behalf of others because it does seem suited for public cloud environments like I'm planning on implementing, but a bit more of a learning curve since I've never used it before.
True, then again libvirt and friends sit on top of qemu/bhyve/containers and use the same software. While the whole point of it is to add abstraction to access backends, some say it rather adds complexity. Proxmox decided early to go their own way by slapping multiple software together, including some Perl spaghetti. It does come with a somewhat decent API and is widely integrated into various other panels.
Alternatives are not as popular and may lack human resources if you ever were to hire a dev. Once the next hot thing pops up its certain that such project would have high demand for a migration feature
Do you know any virtualization backends that provide a decent HTTP API? I was taking a look at cockpit-machines' git repository and it seems they do a bit where they parse command like tools like virt-install, and virsh instead of directly interacting with libvirt/qemu, should I go that route and interact with the command line and parse the non formatted output or should I find something established like cloudstack API.
I'm a developer so I don't plan on hiring helping hands for quite a long time.
I wouldnt parse that shit unless you enjoy such torture, its been done. There's many ways, maybe its through a customer panel, maybe more to the bone through cloudstack/proxmox api, whatever works for you