Passa al contenuto principale

Cos’è una macchina virtuale?

Una macchina virtuale (VM) è una versione digitale di una macchina fisica che funziona come un sistema isolato con le proprie risorse hardware e il proprio sistema operativo virtualizzati. Tipicamente, una macchina fisica, come un laptop o un server fisico, ha un unico sistema operativo che coordina l’hardware per eseguire le applicazioni. Tuttavia, le risorse fisiche sottostanti possono fornire molta più energia di quella che può usare un singolo sistema.

Una macchina virtuale consente di creare molteplici ambienti isolati su una singola macchina fisica per eseguire diversi sistemi operativi in parallelo. È possibile eseguire svariate applicazioni sullo stesso hardware e utilizzare le risorse in modo più efficiente. Le moderne istanze in cloud consentono di accedere alle macchine virtuali come servizio completamente gestito nel cloud.

Come funzionano le macchine virtuali?

La virtualizzazione si riferisce a un software che svolge il lavoro di un hardware fisico. Il software accede e usa l’hardware fisico sottostante reale, in modo che possa funzionare come farebbe l’hardware fisico. Nello stesso modo in cui le macchine virtuali sono eseguite su computer fisici reali, un ampio spazio di archiviazione virtuale può sostituire molteplici dispositivi di archiviazione fisici. La tecnologia di virtualizzazione semplifica la configurazione, la creazione di modelli e la ripetizione delle implementazioni hardware con una gestione fisica minima.

Una macchina virtuale (VM) è un sistema completamente operativo, definito dal software, che esegue un sistema operativo, app, processi e configurazioni personalizzate. La macchina virtuale è anche chiamata sistema operativo guest e il computer fisico su cui è eseguita è chiamato macchina host. Svariate macchine virtuali possono eseguire molteplici sistemi operativi su un singolo computer fisico, negoziando l’uso delle risorse hardware del server secondo necessità.

Quali sono i tipi di macchine virtuali?

Il tipo di macchina virtuale creato e usato dipende dall’obiettivo e dalle risorse hardware del sistema sottostante. 

Ecco alcuni esempi:

  • L’esecuzione di una macchina virtuale con un potente LLM nativo richiede una macchina host sottostante con una GPU potente.
  • L’esecuzione occasionale di un’app Windows sul Mac desktop indica l’esecuzione di una macchina virtuale del sistema operativo Windows su un’app hypervisor di tipo 2 sul computer host.
  • L’esecuzione di un server di test e di un server di sviluppo per la produzione di software indica l’esecuzione di due sistemi operativi guest paralleli, ospitando molteplici utenti su una macchina host provvista di risorse adeguate.

Macchina virtuale di sistema

Macchine virtuali di sistema (SVM) è solo un altro nome per l’espressione più comune “macchina virtuale”. Questo tipo di VM comprende un intero ambiente di sistema, incluso il proprio sistema operativo.

Macchina virtuale di processo

Una macchina virtuale di processo (PVM), invece, esegue un singolo processo o una singola applicazione, fornendo un ambiente di linguaggio di programmazione completo. Esempi comuni di macchine virtuali di processo includono la macchina virtuale Java, che esegue programmi Java, o l’interprete Python, che esegue app Python. L’utilizzo di una PVM significa che è possibile eseguire applicazioni in linguaggi specifici su quasi tutti i computer host.

Quali sono i vantaggi dell’uso di una macchina virtuale?

Quasi tutte le organizzazioni possono trarre vantaggio dall’utilizzo di macchine virtuali. Per le nuove organizzazioni, è meglio iniziare direttamente con le istanze cloud per velocizzare la configurazione e scalare a costi contenuti.

Le macchine virtuali offrono i seguenti vantaggi alle organizzazioni con un’infrastruttura locale esistente:

Efficienza delle risorse informatiche

Il vantaggio più significativo dell’uso di molteplici macchine virtuali è ottenere un ROI maggiore dall’hardware sottostante. Se una CPU è usata sempre solo al 25% della capacità, significa che è sottoutilizzata. Se molteplici sistemi operativi eseguono attività critiche contemporaneamente, la combinazione di questi carichi di lavoro su un’unica macchina consente di risparmiare risorse. 

Amministrazione automatizzata

Configurando le immagini delle macchine virtuali nel software, anziché esplicitamente nell’hardware, l’amministrazione è automatizzata, ripetibile e facilmente modificabile. 

Altamente portatile

A differenza dell’hardware fisico, le macchine virtuali possono essere facilmente istanziate quasi ovunque. Una VM può essere eseguita su una macchina in Nord America e allo stesso tempo su una macchina in Australia, senza bisogno di alcuna configurazione diversa.

Sistemi operativi diversi

Sebbene un’organizzazione possa preferire un sistema operativo specifico in tutto il suo ambiente, a volte potrebbe essere necessario o vantaggioso usare sistemi operativi diversi. Con il software per macchine virtuali, è possibile eseguire contemporaneamente molteplici VM con diversi sistemi operativi.

Macchine virtuali e container

Le VM sono confrontate con i container relativamente all’implementazione delle applicazioni. Prima dei container, gli sviluppatori di software dovevano raggruppare librerie e servizi con l’app affinché l’utente potesse installarli su una VM specifica in modo che l’applicazione potesse essere eseguita. Con i container, si carica un’immagine e il software è semplicemente eseguito: non è necessaria alcuna installazione.

Le VM e i container usano entrambi la virtualizzazione. Una VM virtualizza la macchina fisica sottostante mentre il container virtualizza l’ambiente server in cui è eseguita l’app.

Una macchina virtuale offre un ambiente di sistema operativo isolato che può essere eseguito su qualsiasi macchina fisica con l’hypervisor corretto. Un container fornisce un ambiente di app completo e isolato, che può essere eseguito ovunque. Un container è fornito completo di tutte le librerie e i servizi necessari dell’app per l’esecuzione su qualsiasi sistema, quando è installato e configurato il corretto gestore di container.

La realizzazione di container può essere più efficiente in termini di risorse rispetto all’esecuzione di una VM che esegue le app. Tuttavia, non tutte le app possono essere facilmente realizzate in container. Le app devono essere impacchettate per i container e alcune applicazioni, comprese quelle con GUI o archiviazione persistente, devono essere rielaborate per operazioni stateless basate su container. Le app di terze parti spesso non dispongono di un’opzione realizzata in container.

In che modo AWS può supportare i requisiti delle tue macchine virtuali?

AWS offre oltre 800 tipi di istanze per ogni esigenza virtuale dell’azienda. Le istanze possono essere realizzate appositamente per processori, archiviazione, rete, sistema operativo e modello di acquisto al fine di soddisfare al meglio le esigenze del tuo carico di lavoro. AWS offre 108 zone di disponibilità per istanze multiple, fisicamente separate e isolate, per soddisfare i requisiti di conformità.

Le selezioni dei tipi di istanza AWS sono progettate per eseguire molteplici macchine virtuali su molteplici ambienti di sistemi operativi.

Amazon Elastic Compute Cloud (Amazon EC2) offre la piattaforma di elaborazione più ampia e profonda, con la scelta di istanze on demand, istanze dedicate e istanze spot. EC2 offre istanze generiche, istanze ottimizzate per il calcolo, istanze ottimizzate per l’archiviazione, istanze ottimizzate per la memoria e calcolo accelerato. EC2 supporta processori Intel, AMD e Arm, con molteplici sistemi operativi ed è l’unico cloud con istanze del sistema operativo Mac EC2 on demand e rete Ethernet da 400 Gbps.

AWS Nitro System è la base per le nostre moderne istanze EC2. Con Nitro System, abbiamo completamente reinventato la nostra infrastruttura di virtualizzazione. Tradizionalmente, gli hypervisor proteggono hardware fisico e BIOS, virtualizzano la CPU, l’archiviazione e la rete, oltre a fornire un’ampia gamma di funzionalità di gestione. Con Nitro System, possiamo dividere tali funzioni, scaricandole nell’hardware e nel software dedicati e ridurre i costi, distribuendo praticamente tutte le risorse di un server alle tue istanze.

Amazon Lightsail offre istanze di server privato virtuale (VPS), container, archiviazione, database e altro ancora, facili da usare e a un prezzo mensile conveniente. Lightsail è progettato per applicazioni Web semplici, siti Web personalizzati e applicazioni per piccole imprese.

Inizia creando un account AWS gratuito oggi stesso.