Een virtualisatie-architectuur is een conceptueel model dat de rangschikking en onderlinge relaties specificeert van de specifieke componenten die betrokken zijn bij het leveren van een virtuele -- in plaats van fysieke -- versie van iets, zoals een besturingssysteem (OS), een server, een opslagapparaat of netwerkbronnen.
De onderstaande afbeelding illustreert het verschil tussen een traditionele computerarchitectuur en een virtualisatiearchitectuur.
Virtualisatie is gewoonlijk gebaseerd op een hypervisor. De hypervisor isoleert besturingssystemen en toepassingen van de onderliggende computerhardware, zodat de hostmachine meerdere virtuele machines (VM) als gasten kan draaien die de fysieke computingresources van het systeem delen, zoals processor cycles, geheugenruimte, netwerkbandbreedte enzovoort.
Type 1-hypervisors, soms ook wel bare-metal hypervisors genoemd, draaien rechtstreeks bovenop de hardware van het hostsysteem. Bare-metal hypervisors bieden een hoge beschikbaarheid en een goed beheer van resources. De directe toegang tot systeemhardware zorgt voor betere prestaties, schaalbaarheid en stabiliteit. Voorbeelden van type 1-hypervisors zijn Microsoft Hyper-V, Citrix XenServer en VMware ESXi.
Een type 2-hypervisor, ook wel gehoste hypervisor genoemd, wordt bovenop het hostbesturingssysteem geïnstalleerd in plaats van direct bovenop de hardware te staan, zoals een type 1-hypervisor doet. Elk gastbesturingssysteem of VM draait boven de hypervisor. Het gemak van een bekend host-besturingssysteem kan de systeemconfiguratie en het systeembeheer vergemakkelijken. De toevoeging van een host OS-laag kan echter de prestaties beperken en mogelijke beveiligingsproblemen met het OS aan het licht brengen. Voorbeelden van hypervisors van type 2 zijn VMware Workstation, Virtual PC en Oracle VM VirtualBox.
Het belangrijkste alternatief voor virtualisatie op basis van hypervisors is containerisatie. Besturingssysteemvirtualisatie, bijvoorbeeld, is een op containers gebaseerde kernelvirtualisatiemethode. OS-virtualisatie is vergelijkbaar met partitionering. In deze architectuur wordt een besturingssysteem aangepast zodat het functioneert als meerdere, afzonderlijke systemen, waardoor het mogelijk wordt gedistribueerde applicaties te implementeren en uit te voeren zonder voor elke applicatie een volledige VM te hoeven starten.
In plaats daarvan worden meerdere geïsoleerde systemen, containers genoemd, uitgevoerd op een enkele besturingshost en hebben ze allemaal toegang tot een enkele kernel.