Una macchina virtuale (VM) è un ambiente digitale che opera come risorsa di calcolo virtuale su un server fisico, e che utilizza un software anziché un sistema informatico fisico per eseguire e implementare le applicazioni. Un server, o host, può avere molte macchine virtuali, o guest, in esecuzione contemporaneamente. Ogni macchina virtuale ha il proprio sistema operativo, oltre a memoria, storage, CPU e interfacce di rete che funzionano in modo indipendente da qualsiasi altra macchina virtuale sull'host hardware: per esempio, un PC fisico può eseguire una macchina virtuale macOS o Linux senza problemi.
Le macchine virtuali consentono di avere diversi sistemi operativi in esecuzione contemporaneamente su un unico computer. Ogni macchina virtuale viene eseguita in modo indipendente dalle altre e offre all'utente finale un'esperienza simile a quella che si avrebbe utilizzando una macchina non virtuale o un singolo sistema operativo legato a un'unica macchina fisica. Gli utenti finali possono utilizzare le applicazioni su una macchina virtuale online proprio come farebbero su un sistema informatico hardware dedicato. Di fatto, la maggior parte degli utenti finali che accedono ai sistemi informatici da remoto non sono in grado di accorgersi se stanno lavorando su una macchina virtuale o su un sistema informatico dedicato.
Le macchine virtuali si basano sulla virtualizzazione, una tecnologia che consente a un singolo server fisico o a una singola workstation di ospitare numerosi ambienti virtuali. La macchina host utilizza un software chiamato hypervisor per gestire e separare le risorse di calcolo, di rete e di storage dell'host all'interno di un unico pool per poi distribuirle a ciascuna macchina virtuale secondo necessità.
Per esempio, se una macchina virtuale è in esecuzione e l'utente (o l'applicazione) le ordina di fare qualcosa che richiede più risorse di quelle di cui dispone al momento, l'hypervisor identifica rapidamente questa esigenza e riassegna parte del pool o delle risorse condivise dell'host per poter soddisfare la domanda.
Poiché agiscono essenzialmente come un “computer nel computer”, le macchine virtuali consentono alle organizzazioni di avere a disposizione decine di sistemi informatici separati su un'unica macchina. Ogni macchina virtuale può essere eseguita in una finestra applicativa all'interno del sistema operativo esistente della macchina host. Inoltre, gli utenti possono modificare le configurazioni, aggiornare il sistema operativo virtuale e installare o eliminare applicazioni esattamente come su un computer dedicato. Le macchine virtuali includono una serie di file comuni, come i registri, le configurazioni, le impostazioni NVRAM e un file disco virtuale.
La tecnologia di virtualizzazione esiste da molto tempo, ma le macchine virtuali sono diventate veramente popolari con la diffusione del lavoro da remoto e dell'End‑User Computing. Oggi sono utilizzate per scopi diversi sia in ambienti on‑premise che in ambienti cloud. Vediamo alcuni dei possibili use case:
Esistono due tipi principali di macchine virtuali:
Queste macchine virtuali emulano un intero sistema informatico, proprio come dicevamo nelle sezioni precedenti. Si trovano in partizioni isolate di un server fisico o di una workstation di calcolo e hanno sistemi operativi, configurazioni, applicazioni e servizi propri che vengono eseguiti indipendentemente l'uno dall'altro. Questo tipo di macchine virtuali richiede un hypervisor che alloca le risorse a ciascuna macchina virtuale da un unico pool condiviso. Alcuni esempi di macchine virtuali di sistema sono Nutanix AHV, VMware Fusion e il software open source Xen.
A volte chiamate anche macchine virtuali applicative o Managed Runtime Environment (MRE), le macchine virtuali di processo sono configurate per eseguire temporaneamente un singolo processo come applicazione, per esempio programmi Java o il .NET Framework di Microsoft. Queste macchine virtuali sono essenzialmente ambienti di esecuzione per un processo specifico e non dipendono da alcuna piattaforma. Alla base del loro funzionamento c'è un elevato grado di astrazione, che serve a “nascondere” il sistema operativo dell'host e l'altro hardware. Le macchine virtuali di processo sono temporanee: vengono create quando un utente avvia un processo specifico e distrutte una volta completato quel processo.
I provider di cloud pubblico ricorrono sempre più spesso alla virtualizzazione e alle VM per offrire una maggiore flessibilità e scalabilità ai carichi di lavoro e supportare meglio diverse applicazioni su più sistemi operativi.
Una macchina virtuale nel cloud funziona come una macchina virtuale su un server nel datacenter di un'organizzazione: l'unica differenza è che la macchina virtuale nel cloud è ospitata nel datacenter di un provider di servizi cloud anziché in quello dell'organizzazione.
Le macchine virtuali nel cloud sono generalmente disponibili in due diverse tipologie:
Una macchina virtuale single‑tenant è progettata per essere utilizzata da un singolo cliente (in genere un'organizzazione), e può trovarsi su un host dedicato o su un'istanza dedicata.
Chiamate anche macchine virtuali pubbliche, le macchine virtuali multi‑tenant sono condivise da più clienti su un'infrastruttura fisica multi‑utente. I dati di ciascun cliente sono isolati da quelli degli altri clienti, ma il set di applicazioni, database e risorse server è lo stesso per tutti. Sebbene non offrano lo stesso grado elevato di separazione e personalizzazione auspicato da alcuni clienti, questo tipo di VM sono altamente scalabili e particolarmente convenienti, perché in genere hanno un prezzo inferiore rispetto alle macchine virtuali single‑tenant.
Le macchine virtuali offrono numerosi vantaggi rispetto alle macchine host fisiche, ma presentano anche alcuni inconvenienti:
Le organizzazioni utilizzano le macchine virtuali per diversi validi motivi, molti dei quali abbiamo già ripercorso nelle sezioni precedenti. Se le macchine virtuali venivano utilizzate già negli anni '60 per isolare i dati di ciascuno degli utenti che condividevano un grande computer mainframe, oggi vengono utilizzate perlopiù dalle aziende per massimizzare l'utilizzo e ridurre l'ingombro dell'hardware fisico, e risparmiare sui costi delle apparecchiature e delle operazioni fisiche.
Un altro motivo trainante per scegliere di usare le macchine virtuali all'interno di un'azienda è legato alla Virtual Desktop Infrastructure (VDI). Le piattaforme VDI consentono ai dipendenti di accedere ai propri desktop da postazioni e dispositivi remoti: un vantaggio non da poco, visto che i modelli di lavoro da remoto e ibrido sono sempre più diffusi.
Poiché le aziende spostano sempre più carichi di lavoro nel cloud, utilizzano le macchine virtuali basate sul cloud per creare ambienti ibridi e costruire nuove infrastrutture accanto agli ambienti legacy esistenti on‑premise.
Un altro beneficio sono i vantaggi in termini di sicurezza, in quanto avere macchine virtuali separate fornisce un ulteriore livello di protezione in caso di infiltrazione nei sistemi.
Se a tutti gli altri vantaggi si aggiungono il notevole potenziale di risparmio e l'estrema scalabilità, si capisce perché le macchine virtuali sono diventate componenti fondamentali di una moderna infrastruttura IT aziendale.
Quando si tratta di scegliere una piattaforma di virtualizzazione, le opzioni a disposizione sono molteplici. La maggior parte delle piattaforme propone processi semplificati per la creazione e l'implementazione di nuove macchine virtuali: molte soluzioni sono dotate di comode procedure guidate di configurazione, o di template che semplificano e velocizzano l'avvio delle operazioni.
Sebbene molte piattaforme di virtualizzazione siano progettate per le aziende e offrano molte funzionalità avanzate e opzioni di personalizzazione, è possibile trovare anche piattaforme di virtualizzazione semplici e totalmente gratuite. Un esempio è la soluzione open source VirtualBox di Oracle.
Forte di una vasta esperienza con oltre 20˙000 utenti, Nutanix conosce bene la virtualizzazione. Le nostre VM e le nostre soluzioni di virtualizzazione forniscono le funzionalità e le capacità avanzate di livello enterprise necessarie per semplificare la virtualizzazione nell'intero ecosistema IT, che sia on‑premise, nell'edge, su più cloud o in tutti questi ambienti.
Nutanix AHV mette a tua disposizione una piattaforma sicura costruita per il multicloud ibrido di oggi che offre alta disponibilità per i carichi di lavoro, prestazioni ottimizzate, utilizzo semplice e intuitivo e gestione completa del ciclo di vita per tutto il tuo stack.
Nutanix VDI sfrutta la potenza della Nutanix Cloud Platform per semplificare l'End‑User Computing integrando calcolo, virtualizzazione, storage, networking e sicurezza.