Skip to main content

Comparison Matrix

Feature-by-feature comparison of Zyvor Fabric against alternative VM management platforms: libvirt/virsh, Proxmox VE, and other tools.

Table of Contents​


Architecture Comparison​

AspectZyvor Fabriclibvirt/virshProxmox VE
HypervisorQEMU/KVM/Cloud Hypervisor/Firecracker, via FluxVMQEMU/KVM (+ Xen, LXC)QEMU/KVM + LXC
Management layerFluxVM (systemd-free) + REST APIlibvirtd daemon + XML APIpvemanager + Perl API
Configuration formatJSON (REST API)XML domain definitionsPerl config files + web UI
Init system integrationNo systemd dependency — direct netlink for networking, FluxVM-supervised VM processes; the daemon's own packaging/init doesn't require systemd eitherStandalone (systemd unit for libvirtd only)Standalone (custom init scripts)
LanguageRust (backend), React (frontend)C (libvirt), various (bindings)Perl (backend), JavaScript (frontend)
Cluster supportSingle-host (multi-host networking available)Single-host (requires external orchestration)Built-in multi-node cluster
LicenseOpen sourceLGPLAGPL (open source) + subscription

Key Architectural Differences​

Zyvor Fabric exposes VM lifecycle through one REST API backed by FluxVM -- a disposable-VM engine with no systemd dependency of its own. FluxVM supervises each VM's QEMU / Cloud Hypervisor / Firecracker / FluxVM hypervisor process directly (never as a systemd unit); the API surface covers lifecycle, cgroup resource control, log streaming, hotplug, and image management.

libvirt provides its own abstraction layer over hypervisors. It manages VM lifecycle through its own daemon (libvirtd) and stores configuration as XML. VMs are tracked internally by libvirt, independent of any init system.

Proxmox VE is a full-stack solution that includes its own cluster filesystem (pmxcfs), authentication (PAM + PVE realm), and web UI. It uses qemu-server for VM management with its own configuration format.


API and Automation​

FeatureZyvor Fabriclibvirt/virshProxmox VE
REST API780+ endpoints, JSONNo native REST (XML-RPC)REST API available
API authenticationJWT + PAMSASL, polkitTicket-based + PAM
CLI toolcurl / any HTTP clientvirshpvesh / pvecm
Language bindingsAny (HTTP/JSON)C, Python, Go, Java, PerlPerl, Python (community)
WebSocket consoleBuilt-in (binary I/O)Via VNC/SPICE protocolsnoVNC via web UI
Event streamingSSE (real-time)Event loop (libvirt API)Not available natively
Infrastructure-as-codeJSON API (Terraform-friendly)XML templatesTerraform provider available
PaginationBuilt-in (offset/limit)Not availableBuilt-in
Rate limitingPer-user + globalNot availableNot available

API Design Philosophy​

Zyvor Fabric exposes every capability through a consistent REST API with JSON payloads. This makes it straightforward to integrate with CI/CD pipelines, custom scripts, and infrastructure-as-code tools without installing language-specific client libraries.

libvirt requires binding to its C library (or using language-specific wrappers) and working with XML documents. While powerful, this creates a higher integration barrier for teams not already familiar with libvirt.

Proxmox provides a REST API, but many advanced features are more easily accessed through the web UI or Perl CLI tools.


VM Lifecycle​

FeatureZyvor Fabriclibvirt/virshProxmox VE
Create VMPOST endpointvirsh define + XMLWeb UI or qm create
Start/stop/restartREST endpointsvirsh start/shutdown/rebootWeb UI or qm start/stop
Pause/resumeREST endpointsvirsh suspend/resumeqm suspend/resume
Clone (full)REST endpoint (reflink-aware)virt-cloneqm clone
Clone (linked)qcow2 backing file clonevirt-clone --reflinkLinked clone support
SnapshotsREST endpoint (disk + full)virsh snapshot-createqm snapshot
Snapshot treeTree endpoint with hierarchyvirsh snapshot-list --treeWeb UI tree view
Live migrationDisk-copy path GA; native FluxVM transport preview; full HA cutover pre-GAvirsh migrateBuilt-in cluster migration
CPU hotplugREST endpoint + eventvirsh setvcpus --liveqm set --vcpus
Memory hotplugREST endpoint + eventvirsh setmem --liveqm set --memory
Disk hotplugREST endpoint + eventvirsh attach-diskqm set --scsi
Cloud-initBuilt-in ISO generationManual or virt-installBuilt-in snippets
Image buildingmkosi integrationNot built-inNot built-in
Async operations202 Accepted + SSE eventsSynchronous or event loopTask system with polling

Networking​

FeatureZyvor Fabriclibvirt/virshProxmox VE
Network backendDirect netlink (rtnetlink), DHCP via a directly-managed dnsmasq processlibvirt virtual networksOpen vSwitch / Linux bridge
Bridge managementREST API (CRUD)XML network definitionsWeb UI + /etc/network/interfaces
VLAN supportREST APIXML configWeb UI
Bond interfacesREST APIHost-level onlyWeb UI
TAP devicesREST APIAuto-createdAuto-created
MACVTAPREST APIXML configLimited
Port forwardingREST API (nftables)iptables hook scriptsiptables rules
VXLAN overlaysREST APINot built-inSDN module (subscription)
SR-IOVREST APIXML configPCI passthrough
Network policiesBuilt-in policy engineNot availableSDN firewall (subscription)
Service meshBuilt-inNot availableNot available
Traffic shapingBuilt-intc scriptstc scripts
DNS policyBuilt-in DNS managerdnsmasq integrationNot built-in
VPN meshBuilt-in (WireGuard)Not built-inNot built-in
Packet mirroringREST APINot built-inNot built-in
NAT gatewayREST APIAutomatic NATiptables masquerade

Storage​

FeatureZyvor Fabriclibvirt/virshProxmox VE
Local directoryREST API poolStorage pool XMLDirectory storage
NFSREST API pool (NFSv3/v4)Storage poolNFS storage
LVMREST API poolStorage poolLVM storage
LVM thinREST API poolStorage poolLVM-thin storage
ZFSREST API poolCommunity supportZFS storage (built-in)
Ceph RBDREST API poolStorage poolCeph storage (built-in)
iSCSINot built-inStorage pooliSCSI storage
GlusterFSNot built-inStorage poolNot built-in
Distributed storageBasic replication APINot built-inCeph integration
Image formatsqcow2, rawqcow2, raw, vmdk, vdi, etc.qcow2, raw, vmdk

Security​

FeatureZyvor Fabriclibvirt/virshProxmox VE
AuthenticationPAM + JWTSASL + polkitPAM + PVE + LDAP/AD
AuthorizationRBAC (Admin/User/Viewer)polkit policiesRBAC with path-based ACLs
Audit loggingBuilt-in (structured)libvirt audit hooksSyslog-based
Rate limitingPer-user + global loginNot availableNot available
Input validationServer-side + sanitizationXML schema validationParameter validation
VM isolationcgroup + namespace (systemd)SELinux/AppArmor sVirtAppArmor
Network firewallPer-VM firewall APInwfilter XML rulespve-firewall
EncryptionVM encryption APIDisk encryption (LUKS)Disk encryption
Token revocationBuilt-in (JTI-based)Not applicableNot available
Shell injection preventionMetacharacter blockingNot applicable (no shell API)Not applicable

Monitoring and Observability​

FeatureZyvor Fabriclibvirt/virshProxmox VE
Health endpoint/health + /readyz (HTTP)Not available/api2/json/version
VM metricsREST API (CPU, memory, I/O)virsh domstatsRRD graphs via web UI
Real-time eventsSSE stream (16 event types)Event loop APINot available natively
Notification channelsEmail, Slack, Webhook, TeamsNot built-inEmail only
Alert rulesConfigurable per event/severityNot built-inEmail notifications
Webhook retryExponential backoff (10 retries)Not applicableNot applicable
Host resource statsREST APIvirsh nodeinfoWeb UI + API
NUMA topologyREST API + placement advisorvirsh capabilitiesNot exposed
Log integrationjournald (native)libvirtd logsSyslog + tasklog

Operations​

FeatureZyvor Fabriclibvirt/virshProxmox VE
Backup typesFull + incrementalNot built-in (use external)Full + incremental (vzdump)
Backup schedulingPolicy-based (daily/weekly/monthly)Not built-inScheduled vzdump
Backup retentionPer-backup retention daysNot applicableRetention count
RestoreREST API (in-place + new VM)Not built-invzdump restore
TemplatesTemplate APITemplate volumesVM templates
Resource quotasPer-user/group quotasNot availablePool-based limits
AutoscalingBuilt-in autoscale APINot availableNot available
Multi-tenancyTenant isolation APINot availablePool-based separation
Web UIReact-based (hypersdk design)virt-manager (desktop app)Built-in web UI
Configuration managementDeclarative APIXML definitionspvecm + web UI

Summary​

Choose Zyvor Fabric when:​

  • You want VM lifecycle with no systemd dependency -- FluxVM supervises each VM's process directly, with resource control in standard cgroup hierarchies and no systemd unit involved.
  • You need a comprehensive REST API (780+ endpoints) for automation-first infrastructure management.
  • You want built-in networking (direct netlink, no systemd-networkd dependency) including bridges, VLANs, bonds, VXLAN overlays, SR-IOV, network policies, and traffic shaping -- all manageable via API.
  • You prefer a modern technology stack (Rust backend, React frontend) with strong type safety and memory safety.
  • You need real-time observability via SSE events and multi-channel notifications (Email, Slack, Webhook, Teams) with webhook retry.

Choose libvirt when:​

  • You have existing tooling built on libvirt XML domain definitions and virsh.
  • You need support for multiple hypervisors (QEMU/KVM, Xen, LXC) behind a unified API.
  • You need support for a wide range of disk formats (vmdk, vdi, vpc, etc.).
  • You want the most mature and widely-deployed Linux virtualization management layer.

Choose Proxmox VE when:​

  • You need a turnkey multi-node cluster with built-in shared storage (Ceph), live migration, and HA fencing.
  • You want a feature-rich web UI for day-to-day management without API knowledge.
  • You need both VMs and containers (LXC) managed from a single interface.
  • You have a commercial support requirement and are willing to purchase a subscription.