Architettura di virtualizzazione

Un'architettura di virtualizzazione è un modello concettuale che specifica la disposizione e le interrelazioni dei componenti particolari coinvolti nella fornitura di una versione virtuale, piuttosto che fisica, di qualcosa, come un sistema operativo (OS), un server, un dispositivo di archiviazione o risorse di rete .

L'immagine seguente illustra la differenza tra l'architettura informatica tradizionale e un'architettura di virtualizzazione.

Architettura server tradizionale vs. architettura virtuale

La virtualizzazione è comunemente basata su hypervisor. L'hypervisor isola i sistemi operativi e le applicazioni dall'hardware del computer sottostante in modo che la macchina host possa eseguire più macchine virtuali (VM) come guest che condividono le risorse di elaborazione fisiche del sistema, come i cicli del processore, lo spazio di memoria, la larghezza di banda della rete e così via.

Gli hypervisor di tipo 1, a volte chiamati hypervisor bare metal, vengono eseguiti direttamente sull'hardware del sistema host. Gli hypervisor bare metal offrono disponibilità elevata e gestione delle risorse. Il loro accesso diretto all'hardware di sistema consente migliori prestazioni, scalabilità e stabilità. Esempi di hypervisor di tipo 1 includono Microsoft Hyper-V, Citrix XenServer e VMware ESXi.

Un hypervisor di tipo 2, noto anche come hypervisor ospitato, viene installato sopra il sistema operativo host, anziché essere posizionato direttamente sopra l'hardware come fa l'hypervisor di tipo 1. Ogni SO guest o VM viene eseguito sopra l'hypervisor. La comodità di un SO host noto può semplificare la configurazione del sistema e le attività di gestione. Tuttavia, l'aggiunta di un livello del sistema operativo host può potenzialmente limitare le prestazioni ed esporre possibili falle di sicurezza del sistema operativo. Esempi di hypervisor di tipo 2 includono VMware Workstation, Virtual PC e Oracle VM VirtualBox.

La principale alternativa alla virtualizzazione basata su hypervisor è la containerizzazione. La virtualizzazione del sistema operativo, ad esempio, è un metodo di virtualizzazione del kernel basato su contenitori. La virtualizzazione del sistema operativo è simile al partizionamento. In questa architettura, un sistema operativo viene adattato in modo che funzioni come sistemi multipli e discreti, rendendo possibile distribuire ed eseguire applicazioni distribuite senza avviare un'intera VM per ciascuna di esse. Invece, più sistemi isolati, chiamati contenitori, vengono eseguiti su un singolo host di controllo e accedono tutti a un singolo kernel.