For a long time, ESXi was the obvious choice for a serious business virtualisation host. VMware's free hypervisor was genuinely excellent — mature, well-documented, and supported by almost every piece of enterprise hardware and software. We ran it on two physical hosts and had no intention of changing.

Then Broadcom acquired VMware in late 2023 and within months had killed the free ESXi licence entirely. For large enterprises this was an inconvenience. For small businesses and independent IT operators, it was a hard stop. We started looking at Proxmox VE seriously.


Why Proxmox

Proxmox VE is a Debian-based open-source hypervisor that supports both KVM virtual machines and LXC containers. It has a web UI, a full REST API, clustering, live migration, backup integration, and an active community. It is free to use — the subscription is for enterprise support and the stable update repository, not a licence gate.

The other options — XCP-ng, oVirt, plain KVM with libvirt — are all valid. We chose Proxmox because the management interface is genuinely good, the community documentation is comprehensive, and LXC container support was something we specifically wanted. Running lightweight containers for services like our WhatsApp gateway and CRM without the overhead of a full VM changes what is practical on modest hardware.


The Hardware

We run two Proxmox nodes in a cluster:

Both nodes are joined in a Proxmox cluster called sandz-infra. This gives us a single pane of glass for both hosts, live migration between nodes, and HA options if we need them.


What Runs on It

The cluster runs a mix of VMs and LXC containers across client projects and internal tooling. A representative sample:


Containers vs VMs: What We Learned

The short answer: use LXC containers for anything that is a standard Linux service with no special kernel requirements, and VMs for everything else. Containers boot in seconds, use a fraction of the RAM, and share the host kernel — which means you can run far more of them on the same hardware.

The practical threshold we settled on: if a workload needs Docker, or runs on a distro that is difficult to containerise cleanly, it gets a VM. If it is a Node.js or Python service on Debian or Ubuntu, it goes in an LXC container. We run Tailscale on most of them for remote access without opening ports.

"LXC containers changed what is practical on our hardware. Services that would have needed a full VM now run in containers with 256 MB of RAM and start in under two seconds."


Backups

Proxmox Backup Server (PBS) is excellent. It runs deduplication at the block level, so backup storage grows much more slowly than with traditional snapshot-based backups. We run PBS in an LXC container on Node B with a dedicated 400 GB NVMe datastore.

All VMs and containers back up nightly. Retention is set to keep 7 daily, 4 weekly, and 3 monthly backups. The whole thing is configured through the Proxmox UI and runs without any manual intervention.


Would We Go Back?

No. Proxmox has been more capable, more transparent, and more fun to operate than ESXi ever was. The open-source model means we understand what is happening at every layer. The API is clean and well-documented. The community is active. And the LXC support has fundamentally changed how we architect services.

If you are running ESXi on a free licence and trying to decide what to do post-Broadcom, Proxmox is the obvious next step. The migration is straightforward — export your VMs to OVF/OVA format and import them. Most things just work.

If you want to talk through a migration or discuss what Proxmox could look like for your business infrastructure, get in touch.