oVirt can manage multiple hosts. It communicates with its host servers over HTTPS with XML-RPC, via an agent that is installed on the server - VDSMd (Virtual Desktops and Servers Manager daemon). VDSM communicates with libvirt to control the virtual machines life cycle.
oVirt, via VDSMd, can use locally attached storage and or networked storage solutions such as NFS and iSCSI as well as Fibre Channel. It is incapable of supporting AoE. GlusterFS distributed file system (Red Hat Storage Server) is supported from the ovirt 3.1 release as well as other PosixFS compliant file systems (such as IBM's GPFS).
oVirt, via VDSMd, also configures the hosts' networking configuration - link aggregation, VLANs, MTU settings, source routing to accomplish multiple gateways, and OpenStack Neutron integration.
oVirt has 3 web-based front-ends - for administrators, users and power users (for self provisioning). It also has a REST based API, a Python SDK and a CLI interface, which allows automation of most of its features.
oVirt is written in Java, over WildFly, the former JBoss, application server and GWT web framework for its user interface. VDSMd is written in Python.
oVirt supports the SPICE communications protocol for remote desktop sharing and similar use-cases.