Cos’è una macchina virtuale? Definizione e applicazioni.
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.
Come funzionano le macchine virtuali?
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.
A cosa servono le macchine virtuali?
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:
- Consolidamento dei server e ottimizzazione dell'hardware: questa è una delle ragioni più comuni per cui le organizzazioni utilizzano le macchine virtuali. La virtualizzazione permette infatti di ridurre l'ingombro dell'hardware fisico senza sacrificare la potenza di calcolo e l'accessibilità. Grazie alle macchine virtuali non è più necessario acquistare server fisici e workstation aggiuntive: questo aiuta le organizzazioni a risparmiare sia sulle spese operative (OpEx) per i datacenter che sulle spese in conto capitale (CapEx) per le apparecchiature, e permette anche di ottimizzare l'utilizzo dell'hardware dato che di solito l'hardware dedicato impiega solo una frazione delle risorse totali disponibili.
- Opzioni di disaster recovery aggiuntive: le macchine virtuali possono fornire funzionalità di failover e ridondanza che un tempo erano possibili solo con l'acquisto di hardware aggiuntivo.
- Ambienti di test/sviluppo/produzione temporanei o ad hoc: poiché le macchine virtuali sono separate l'una dall'altra, possono essere una buona opzione per i DevOps per testare una nuova applicazione o creare un ambiente di produzione rapido in una sandbox sicura ogni volta che serve. Se qualcosa va storto, infatti, il sistema host non viene minimamente intaccato.
- Accelerazione della migrazione dei carichi di lavoro: le macchine virtuali sono altamente flessibili e portabili, l'ideale insomma per rendere la migrazione più rapida ed efficiente.
- Creazione di ambienti IT ibridi: le macchine virtuali facilitano il posizionamento dei carichi di lavoro sia nel cloud che on‑premise, offrendo un certo grado di flessibilità anche se si sfruttano sistemi legacy.
Quali tipi di macchine virtuali esistono?
Esistono due tipi principali di macchine virtuali:
Macchine virtuali di sistema
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.
Macchine virtuali di processo
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.
Macchine virtuali e cloud computing
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:
Macchine virtuali single‑tenant
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.
- Disporre di un host dedicato significa che il cliente affitta l'intera macchina fisica ed è l'unica entità autorizzata a utilizzare l'hardware, le macchine virtuali, le applicazioni, il software e tutto ciò che risiede sull'host. Questo modello di macchine virtuali è il preferito dei clienti che desiderano la massima flessibilità e visibilità sull'hardware, nonché il controllo assoluto sulla collocazione dei carichi di lavoro.
- Le istanze dedicate offrono comunque isolamento dalle VM di altri clienti e controllo sul posizionamento dei carichi di lavoro, ma non sono legate a una macchina fisica specifica. Il provider di servizi cloud offre al cliente uno spazio dedicato su una macchina host, ma se per esempio l'istanza viene riavviata, potrebbe venire spostata su un'altra macchina in una posizione geografica completamente diversa. È probabile che comunque il cliente neppure si accorga di un eventuale spostamento, dato che l'esperienza e le prestazioni della macchina virtuale saranno identiche.
Macchine virtuali multi‑tenant
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.
Vantaggi delle macchine virtuali
- Gestione, amministrazione e manutenzione più semplici, grazie alla riduzione del numero di macchine fisiche da aggiornare, proteggere, ecc.
- Miglioramento dell'utilizzo e dell'efficienza dell'hardware, poiché più macchine virtuali usano meglio le risorse di un host rispetto a una singola istanza.
- Riduzione dei costi di migrazione, perché le macchine virtuali permettono di eseguire le applicazioni legacy senza bisogno di doverle migrare su ambienti e sistemi operativi più recenti.
- Riduzione delle spese per l'hardware, grazie alla minore necessità di macchine fisiche e di periferiche hardware che si traduce anche in una riduzione delle spese di gestione dei datacenter.
- Sicurezza molto maggiore grazie all'isolamento delle macchine virtuali l'una dall'altra: questo significa che se una macchina virtuale viene attaccata, non compromette le altre macchine virtuali che si trovano sulla stessa macchina fisica.
- Maggiore flessibilità e scalabilità, perché le macchine virtuali sono altamente portabili e possono essere spostate, copiate o riassegnate a host diversi a seconda delle necessità.
Svantaggi delle macchine virtuali
Le macchine virtuali offrono numerosi vantaggi rispetto alle macchine host fisiche, ma presentano anche alcuni inconvenienti:
- Possibili prestazioni inferiori rispetto alle macchine fisiche dipendentemente dalle configurazioni e dal numero di macchine virtuali utilizzate su un singolo host.
- Molte macchine virtuali possono inoltre risentire negativamente di un malfunzionamento dell'host fisico, e un crash può avere implicazioni importanti quando decine di macchine virtuali dipendono dal funzionamento di un singolo server.
- La protezione delle macchine virtuali può essere impegnativa, e richiede competenze di alto livello per essere gestita.
- Il consolidamento dei dischi virtuali, ovvero l'unione dei file disco delle macchine virtuali creati dopo che il sistema ha eseguito le snapshot delle VM, può essere complesso e difficile da gestire.
Perché un'azienda dovrebbe utilizzare le macchine virtuali?
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.
Come faccio a creare ed installare una macchina virtuale?
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.
Perché scegliere Nutanix?
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.
Esplora le nostre risorse più interessanti
Migration in Motion: come passare dal tuo hypervisor ad AHV
Semplifica la moderna infrastruttura IT
Modernizza la tua attività con l'infrastruttura iperconvergente
Soluzioni e prodotti correlati
AHV
Nutanix AHV è una piattaforma di virtualizzazione moderna e sicura per le VM e i container ideale per applicazioni e carichi di lavoro cloud‑nativi, sia on‑prem che nei cloud pubblici.
Prism
Prism è il piano di controllo che ottimizza i flussi di lavoro comuni e semplifica radicalmente la configurazione di hypervisor e macchine virtuali.
Sicurezza
Previeni gli attacchi informatici e la perdita di dati applicando un approccio “zero trust”. La Enterprise Cloud Platform di Nutanix offre funzionalità native di hardening della piattaforma, controllo e reporting di sicurezza e protezione dalle minacce di rete.