Cos'è una macchina virtuale?


Poiché le aziende cercano di ottimizzare l'efficienza delle risorse e di adattarsi alle esigenze e alle tecnologie dei clienti in continua evoluzione, l'utilizzo delle macchine virtuali (VM) è in crescita esponenziale. Comprendere il funzionamento delle macchine virtuali è quindi importante per i professionisti IT, perché diventano un elemento centrale delle strategie di crescita e di IT.

machine_virtuelle.jpg

Le VM in dettaglio

Una macchina virtuale (VM) è una risorsa informatica che utilizza un software al posto di un computer fisico per eseguire programmi e distribuire applicazioni. Una o più macchine virtuali guest vengono eseguite su una macchina fisica host. 

Ogni macchina virtuale esegue il proprio OS e funziona separatamente dalle altre VM, anche quando sono tutte eseguite sullo stesso host. Ciò significa, ad esempio, che una macchina virtuale Linux può funzionare in un ambiente Windows.

La tecnologia delle macchine virtuali è utilizzata in numerosi ambienti che utilizzano servizi di Cloud computing. Più di recente, i servizi Public Cloud utilizzano macchine virtuali per fornire risorse di applicazioni virtuali a più utenti contemporaneamente, per un calcolo ancora più conveniente e flessibile.

Come funziona una macchina virtuale?

Una VM fornisce un ambiente isolato per l'esecuzione del proprio OS e delle proprie applicazioni, indipendentemente dal sistema host sottostante.

Il sistema operativo di una VM, comunemente detto sistema operativo guest, può essere identico o diverso dal sistema operativo host e dal sistema operativo delle altre VM presenti sull’host. Un solo computer può quindi ospitare diverse macchine virtuali che eseguono sistemi operativi e applicazioni diversi, senza che queste si ripercuotano su di esse.

Anche se la VM dipende sempre dall’hardware dell’host, queste risorse sono virtualizzate e ripartite tra le VM e possono essere riassegnate se necessario. In questo modo è possibile gestire contemporaneamente ambienti diversi per adattarsi a carichi di lavoro variabili.

Dal punto di vista dell'utente, la VM funziona come una macchina fisica. Nella maggior parte dei casi, gli utenti che si connettono a una VM non sanno di utilizzare un ambiente virtuale.

Gli utenti possono configurare e aggiornare il sistema operativo guest e le sue applicazioni in base alle esigenze, nonché installare o rimuovere nuovo software senza alcun impatto sull'host o sulle altre VM. Risorse quali processori, memoria e storage vengono visualizzate nello stesso modo in cui vengono visualizzate in un normale PC.

Perché utilizzare macchine virtuali?

Le macchine virtuali (VM) permettono alle aziende di eseguire un sistema operativo che si comporta come un computer completamente separato in una finestra dell'applicazione sul desktop. Le macchine virtuali possono essere installate per rispondere a diversi livelli di potenza di elaborazione, per eseguire software che richiedono un sistema operativo differente o per testare applicazioni in un ambiente sicuro, tipo "sandbox" (sandbox).

Le macchine virtuali sono sempre state utilizzate per la virtualizzazione dei server, il che consente ai team di IT di consolidare o condividere le risorse di IT e di migliorare l'efficienza.

Inoltre, le macchine virtuali possono eseguire attività specifiche considerate troppo rischiose per essere eseguite direttamente in un ambiente host, come l'accesso a dati infetti da virus o il test del sistema operativo. Poiché la VM è separata dal resto del sistema, il software in essa contenuto non può danneggiare il computer host.

Vantaggi delle macchine virtuali

Le macchine virtuali sono facili da gestire e da mantenere e offrono diversi vantaggi rispetto alle macchine fisiche:

  • Le VM possono eseguire più sistemi operativi contemporaneamente su un unico computer fisico, risparmiando spazio fisico, tempo e costi di gestione.
     
  • Le macchine virtuali supportano il software esistente, riducendo i costi della migrazione a un nuovo sistema operativo. Ad esempio, una macchina virtuale Linux che esegue una distribuzione Linux come sistema operativo guest può esistere su un server host che esegue un sistema operativo non Linux, come Windows o Mac.
     
  • Le macchine virtuali possono inoltre fornire opzioni integrate di ripristino di emergenza e provisioning delle applicazioni.

I diversi tipi di virtualizzazione

Tutti i componenti di un centro dati tradizionale o di un'infrastruttura di IT possono essere virtualizzati oggi, con diversi tipi di virtualizzazione specifici:

Virtualizzazione hardware:

Durante la virtualizzazione dell'hardware, le versioni virtuali dei computer e dei sistemi operativi (VM) vengono create e consolidate in un unico server fisico primario. Un hypervisor comunica direttamente con lo spazio disco e il processore di un server fisico per gestire le macchine virtuali. La virtualizzazione basata su hardware, nota anche come virtualizzazione dei server, consente di utilizzare in modo più efficiente le risorse di un'organizzazione e di utilizzare contemporaneamente più sistemi operativi su un'unica macchina.

Virtualizzazione software:

La virtualizzazione software crea un sistema informatico dotato di un hardware che permette ad uno o più OS guest di funzionare su una macchina host fisica. Le applicazioni possono essere virtualizzate e trasmesse da un server all'unità dell'utente finale, ad esempio un notebook o uno smartphone. Questo consente agli sviluppatori di accedere ad applicazioni ospitate a livello centrale quando lavorano da remoto.

Virtualizzazione dello storage:

Lo storage può essere virtualizzato mediante il consolidamento di più dispositivi di storage fisici in modo che appaiano come un unico dispositivo di storage. I vantaggi includono prestazioni e velocità più elevate, bilanciamento del carico e riduzione dei costi. La virtualizzazione dello storage consente inoltre di pianificare il ripristino di emergenza in quanto i dati dello storage virtuale possono essere replicati e trasferiti rapidamente in un'altra posizione.

Virtualizzazione della rete

È possibile creare più subnet nella stessa rete fisica combinando dispositivi in un'unica risorsa di rete virtuale basata su software. La virtualizzazione della rete divide inoltre la larghezza di banda disponibile in diversi canali indipendenti, ognuno dei quali può essere assegnato a server e dispositivi in tempo reale. Tra i vantaggi della virtualizzazione si annoverano il miglioramento dell'affidabilità, della velocità di rete, della sicurezza e del controllo dell'utilizzo dei dati. La virtualizzazione di rete può essere una buona scelta per le aziende con un elevato numero di utenti che hanno bisogno di accedere in qualsiasi momento.

Virtualizzazione dei desktop:

Questo tipo di virtualizzazione separa l'ambiente di lavoro dalla workstation e dal dispositivo fisico e memorizza una workstation su un server remoto. Questo approccio consente agli utenti di accedere alle proprie workstation da qualsiasi luogo e dispositivo. Oltre alla facilità di accesso, i vantaggi dei desktop virtuali includono una maggiore sicurezza dei dati, un risparmio sulle licenze e sugli aggiornamenti del software, oltre a una facilità di gestione.

Le due macchine virtuali esistenti

Gli utenti possono scegliere tra due tipi di macchine virtuali: macchine virtuali di processo e macchine virtuali di sistema:

Una macchina virtuale di processo consente l'esecuzione di un singolo processo come applicazione in un computer host. Le VM forniscono quindi un ambiente di programmazione indipendente dalla piattaforma, nascondendo le informazioni dell'hardware o del sistema operativo sottostante. Un esempio di macchina virtuale di processo è la macchina virtuale Java, che consente a qualsiasi sistema operativo di eseguire applicazioni Java come se fossero native di quel sistema.

Una macchina virtuale di sistema è completamente virtualizzata per sostituire una macchina fisica. Una piattaforma di sistema supporta la condivisione dell'hardware di un computer tra più macchine virtuali, ognuna delle quali esegue la propria copia del sistema operativo. Questo processo di virtualizzazione si basa su un hypervisor che può funzionare su hardware grezzo (non configurato), come VMware ESXi, o su un sistema operativo.

VM vs container: qual è la differenza?

Come le macchine virtuali, la tecnologia dei container, come Docker, permette di eseguire applicazioni isolate su un'unica piattaforma. Mentre le macchine virtuali virtualizzano il livello hardware per creare una "macchina virtuale", i container raggruppano una sola applicazione con le sue dipendenze. Kubernetes è utilizzato per orchestrare e automatizzare i container Docker e l'infrastruttura sottostante.

Le VM sono spesso gestite da un hypervisor, mentre i sistemi di container forniscono servizi di sistema operativo condivisi dalla macchina sottostante. Permettono di isolare il software con l'aiuto di un hardware a memoria virtuale.

Uno dei principali vantaggi dei container è che hanno meno vincoli delle VM. I contenitori includono solo binari, librerie e altre dipendenze necessarie. I container che si trovano sullo stesso host condividono lo stesso kernel del sistema operativo, rendendo i container molto più leggeri delle macchine virtuali.

In questo modo l'avvio dei container è più rapido, le risorse del server sono ottimizzate e le applicazioni sono rese disponibili più facilmente.

Le macchine virtuali sono più grandi e più lente di avviarsi rispetto ai container. Sono logicamente isolate le une dalle altre, con il loro kernel di sistema operativo, e offrono i vantaggi di un OS completamente separato.

Le macchine virtuali sono ideali per l'esecuzione simultanea di più applicazioni, per le applicazioni monolitiche, per l'isolamento tra le applicazioni e per le applicazioni legacy che funzionano sui sistemi operativi meno recenti. I container e le macchine virtuali possono anche essere utilizzati insieme.

I container nel Cloud e i server Bare-Metal

I container nel Cloud sono diventati uno standard in materia di deploy e gestione delle applicazioni. Offrono isolamento delle applicazioni, scalabilità automatica e facilità di installazione, rendendolo una scelta interessante per molti carichi di lavoro.

Inoltre, il termine "bare-metal" si riferisce a server fisici non virtualizzati. A differenza delle macchine virtuali, che vengono eseguite su un livello di hypervisor, le applicazioni vengono eseguite direttamente sull'hardware in un ambiente bare-metal.

Integrando container Cloud e server bare-metal, è possibile usufruire dei vantaggi di entrambi i sistemi. I container permettono una gestione semplificata delle applicazioni, mentre il bare-metal offre performance e isolamento ottimali per i carichi di lavoro sensibili.

OVHcloud e le macchine virtuali

VMware

La virtualizzazione VMware gestita e operata da OVHcloud

Un'infrastruttura virtuale ​ 100% dedicata, ospitata e controllata, ​ disponibile in pochi click.

Con la gammaManaged Bare Essentials è possibile accedere alla virtualizzazione VMware ad alta disponibilità, che permette di focalizzarsi sulla propria attività.

database

Ottieni un vantaggio competitivo grazie ai nostri database gestiti

Sfrutta la potenza dei dati mantenendo il controllo sulle risorse. Grazie ai nostri servizi di database gestiti, ci occupiamo dell'infrastruttura e dell'amministrazione del tuoi database a livello di configurazione, backup, scalabilità e sicurezza. In questo modo risparmi tempo e denaro e, con i tuoi team, puoi concentrarti sulla creazione e il deploy di applicazioni basate sul Cloud. Puoi scegliere all’interno di una vasta gamma di motori popolari e implementare subito il database nel Public Cloud.

Managed Private Registry

Un servizio di Managed Private Registry compatibile con l'ecosistema nativo del Cloud

Il servizio Managed Private Registry di OVHcloud permette di salvare, gestire e accedere facilmente alle immagini dei container e alle Helm charts, offrendo funzionalità di livello professionale e tariffe senza sorprese.